$(document).ready(function () {

    if ($('#topBar').length){
        var topBar = $('#topBar');
    }
    if ($('#wpadminbar').length){
        $('body').css('padding-top','32px');
    }

    $('#cart-wrapper').addClass('loading');
    $.ajax({
        method : 'post',
        url    : ajaxurl,
        data : {
            action : 'woAjaxCart'
        }
    }).done(function (result) {
        $('#cart-wrapper').removeClass('loading').html(result);
    });

    $('#cart-wrapper').delegate('.cart_delete_button_ajax','click',function (e) {
        e.preventDefault();
        $('#cart-dropdown').addClass('loading');
        $.ajax({
            url: ajaxurl,
            method : 'post',
            data :{
                action : 'woAjaxCartDelete',
                cart_item_id : $(this).attr('data-id')
            }
        }).done(function (result) {
            $('#cart-wrapper').html(result);
        });
    });

    $('li.dropdown>a').mouseup(function (event) {
        switch (event.which) {
            case 1:
                var href = $(this).attr('href');
                window.location.href = href;
            break;
        }
    });


    /*$(document).mouseup(function (e) {
        console.log($(e.target.element()));
        /!*var is_open = e.target.hasClass('open');
        $('.beauty-select select').removeClass('open');
        if(e.target.type=='select-one'){
            if(!is_open){
                e.target.addClass('open');
            }
        }*!/
    });*/

    $('ul.dropdown-menu').on('click', function(event){
        // The event won't be propagated up to the document NODE and
        // therefore delegated events won't be fired
        event.stopPropagation();
    });
    $('ul.dropdown-menu').on('click' ,'button', function(event){
        menuTabApplyFilter($(this));
    });

    $('#watchMenu>ul.dropdown-menu').prepend('<li class="menuFilters"><div class="tabs"><button type="button" class="all active" data-filter="all">تمامی برند ها</button><button type="button" class="regular" data-filter="regular">برند های محبوب</button><button type="button" class="luxury" data-filter="luxury">برندهای لوکس</button></div><div class="search"><input type="text" placeholder="برند مورد نظر خود را جستجو کنید..."></div></li>');
    $('#menu').on('keyup','.menuFilters input',function () {
        $('#menu button').removeClass('active');
        $('#menu button.all').addClass('active');
        var val = $(this).val().toLowerCase();
        $(this).closest('.dropdown-menu').find('li.brand').each(function () {
            var enTitle = $(this).attr('data-en-title').toLowerCase();
            var faTitle = $(this).attr('data-fa-title').toLowerCase();
            if(enTitle.indexOf(val)>-1 || faTitle.indexOf(val)>-1){
                $(this).show();
            }else{
                $(this).hide();
            }
        });
    });
    function resetMenuTitleFilters() {
        $('#menu li.brand').show();
        $('#menu input').val('');
        $('#menu button').removeClass('active');
        $('#menu button.all').addClass('active');
    }

    function menuTabApplyFilter(_this){
        if(_this.hasClass('active'))return;
        resetMenuTitleFilters();
        var filter = _this.attr('data-filter');
        if(filter!='all'){
            $('#menu li.brand').hide();
            $('#menu li.brand-'+filter).show();
        }
        _this.closest('.menuFilters').find('button').removeClass('active');
        _this.addClass('active');
    }

    $('<span id="menuMask"></span>').insertAfter('#header');

    //Main Menu Open Hover

    var menu_open_time_out;
    var menu_close_time_out;

    $('li.menu-item-has-children').hover(
        function () {
            clearTimeout(menu_open_time_out);
            clearTimeout(menu_close_time_out);
            var li = $(this);
            menu_open_time_out = setTimeout(function () {
                openSubmenu(li);
            },200);
        },
        function () {
            clearTimeout(menu_open_time_out);
            clearTimeout(menu_close_time_out);
            var li = $(this);
            menu_close_time_out = setTimeout(function () {
                closeSubmenu(li);
            },200);
        }
    );

    var openSubmenu = function(li){
        li.closest('ul').find('li.menu-item-has-children').removeClass('open');
        li.addClass('open');
        $('#menuMask').addClass('open');
        if (li.find('input').length){
            li.find('input').trigger('focus');
        }
    };

    var closeSubmenu = function(li){
        li.removeClass('open');
        $('#menuMask').removeClass('open');
        resetMenuTitleFilters();
    };

    $('li.menu-item-has-children>a').click(function (e) {
        clearTimeout(menu_open_time_out);
        clearTimeout(menu_close_time_out);
    });




    $('[data-toggle="tooltip"]').tooltip();

    //Float Toggle
    $('body').delegate('.float-toggle.button','click',function (e) {
        e.preventDefault();
        var t = $($(this).attr('data-target'));
        if(!t.hasClass('loaded') && t.attr('data-ajax-url')){
            $.ajax({
                type: "GET",
                url: t.attr('data-ajax-url'),
                success: function(result,status){
                    t.html(result);
                }
            });
        }
        t.stop(true,true).fadeToggle(100);
    });
    $('body').click(function () {
        $('.float-toggle.target').each(function () {
            var b = $(this).attr('data-button');
            var t = '#'+$(this).attr('id');
            if(!$(t+':hover').length && !$(b+':hover').length){
                $(this).stop(true,true).fadeOut(100);
            }
        });
    });
    //EndFloatToggle

});

function openLoginModal() {
    $('#user-wrapper a.login.user-login-modal').click();
}

var prev_sct = 0;
var prev_sct_counter = 0;
var next_sct_counter = 0;
$(window).scroll(function () {
    var sct = $(this).scrollTop();
    if (sct>120){
        if (sct>prev_sct){
            //Forward
            prev_sct_counter = 0;
            next_sct_counter +=  sct - prev_sct;
            if (next_sct_counter>150){
                $('#header').css('transform','translateY(-'+($('#header-wrapper').height()+50)+'px)');
                $('#header').removeClass('sticky');
            }
        }else{
            //backward
            next_sct_counter = 0;
            prev_sct_counter += prev_sct - sct;
            if (prev_sct_counter>150){
                $('#header').css('transform','translateY(-'+($('#header-wrapper').height()-45)+'px)');
                $('#header').addClass('sticky');
            }
        }
    }else{
        $('#header').css('transform','translateY(0)');
        $('#header').removeClass('sticky');
    }
    prev_sct = sct;
});

$(document).ready(function () {

    var archiveAjaxAddToCart = function(elem){
        var wrapper = elem.closest('.archiveAddToCart');
        var select  = elem;
        var button  = wrapper.find('button');
        wrapper.addClass('loading');
        $.ajax({
            url : ajaxurl,
            method : 'post',
            data : {
                action : 'archiveAddToCard',
                product_id : button.attr('data-id'),
                qty        : select.val()
            }
        }).done(function (result) {
            wrapper.removeClass('loading').html(result);

            $('#cart-wrapper').addClass('loading');
            $.ajax({
                method : 'post',
                url    : ajaxurl,
                data : {
                    action : 'woAjaxCart'
                }
            }).done(function (result) {
                $('#cart-wrapper').removeClass('loading').html(result);
            });
        });
    };

    $(document).on('click','.archiveAddToCart .button button',function () {
        archiveAjaxAddToCart($(this).closest('.archiveAddToCart').find('select'));
    });

    $(document).on('change','.archiveAddToCart select',function () {
        archiveAjaxAddToCart($(this));
    });
});