var ids = null;
var _ids = '';


/******************************************************/
/******************************************************/

/******************************************************/

function addToBasket(item_code, count, type, callback) {
    if (type == 0) {
        // basket
        $.post('/ajax/add2basket/', {
            item_code: item_code,
            count: count
        }, function (data) {
            callback(data);
        });
    } else if (type == 1) {
        // order
        $.post('/ajax/add2order/', {
            item_code: item_code,
            count: count
        }, function (data) {
            callback(data);
        });
    } else if (type == 2) {
        // kladovaya

        $.post('/ajax/add2kladovaya/', {
            item_code: item_code,
            count: count
        }, function (data) {
            callback(data);
        });
    }
}

function login(id) {
    var data = $('#' + id).serialize();

    $.post('/ajax/auth_prepare/', data, function (res) {

        if (res.ok == 1) {
            $('#forma_auth').submit();
        } else {
            alert('Ошибка авторизации')
        }
    })
}

function scrollDown() {
    $('html, body').animate({
            scrollTop: $(document).height() - $(window).height() - 550
        },
        1500,
        "easeOutQuint"
    );
}

function scrollUp() {
    $('html, body').animate({
            scrollTop: 300
        },
        1500,
        "easeOutQuint"
    );
}

function scrollSuperUp() {
    $('html, body').animate({
            scrollTop: 0
        },
        1500,
        "easeOutQuint"
    );
}

function openAuthWindow() {
    scrollSuperUp();
    setTimeout(function () {
        $('.win-login').removeClass('hidden');
    }, 200);
}

function isFloat(n) {
    return n === +n && n !== (n | 0);
}

function setCollspse(arr, id, val) {
    var fn = 0;
    for (a in arr) {
        if (arr[a].id == id) {
            fn++;
            arr[a].s = val;
        }
    }

    if (!fn) {
        arr.push({"id": id, "s": val});
    }

    return arr;
}

// function getCookie(c_name) {
//     var i, x, y, ARRcookies = document.cookie.split(";");
//
//     for (i = 0; i < ARRcookies.length; i++) {
//         x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
//         y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
//         x = x.replace(/^\s+|\s+$/g, "");
//
//         if (x == c_name) {
//             return unescape(y);
//         }
//     }
// }

function setCookie(name, value, days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "") + expires + "; path=/";
}

function getCookie(name) {
    console.log("---------------------- start -------------------");
    console.log('new get cookie')
    console.log('name = [' + name + ']');
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');

    console.log(ca);

    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        console.log("c:", c);
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length));
    }

    console.log("---------------------- end -------------------");

    return null;
}

function eraseCookie(name) {
    document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

$(document).on('click', '.arabeska_confirm_popup .button', function () {
    $('.arabeska_confirm_popup').remove();
    setCookie('agree', 'y', 31);
    return false;
});

function refreshAjaxFilterForm(form, checkbox) {
    var dataf = form.serialize();
    dataf = dataf + '&cat_id=' + $('input[name="cat_id"]').val() + '&subcat_id=' + $('input[name="subcat_id"]').val();
    $.post('/ajax/backend_filter/', dataf, function (res) {
        if (res.ok == 1) {
            $('.filter-item-cb').addClass('disabled');
            $('.filter-hint').removeClass('null');

            if (res.elements.length > 0) {
                for (a in res.elements) {

                    $('.filter-item-cb[data-value="' + res.elements[a] + '"]').removeClass('disabled');
                }
            }
            if (checkbox != null) {
                var off = null;
                var w = null;

                if (checkbox.hasClass('colorbox')) {
                    off = checkbox.offset();

                    y = off.top;
                } else {
                    off = checkbox.offset();

                    y = off.top - 5;
                }

                var off2 = $('.lcc-cont').offset();


                $('.filter-hint').css('top', y).css('left', 190);
                $('.filter-hint').find('a').html(res.found_count);
                $('.filter-hint').show()
                if (parseInt(res.found_count) == 0) $('.filter-hint').addClass('null');
            }
        }
    });
}

function submitAction(action) {
    if ($('.cb_for_basket:checked').length > 0 || $('.cb_for_order:checked').length > 0) {
        var forma = $('#basket_form');

        if (action == 'refresh') {
            forma.find('input[name="action"]').val(action);
            forma.submit();
        } else if (action == 'delete') {
            forma.find('input[name="action"]').val(action);
            forma.submit();
        } else if (action == 'kladovaya') {
            forma.find('input[name="action"]').val(action);
            forma.submit();
        } else if (action == 'basket') {
            forma.find('input[name="action"]').val(action);
            forma.submit();
        }
    } else {
        return false;
    }
}

function updateButtons() {
    if ($('.cb_for_basket:checked').length > 0 || $('.cb_for_order:checked').length > 0) {
        $('.basket_actions .button').removeClass('disabled');
    } else {
        $('.basket_actions .button').addClass('disabled');
    }
}

function calculateKladovka() {
    var s = 0;
    $('.kladovka_list .spin input').each(function () {
        s = s + $(this).val() * 1;
    });
    var ss = declOfNum(parseInt(s), ['товар', 'товара', 'товаров']);
    $('#order_res_info').html(s + ' ' + ss);
}

function calculateBasket() {
    var sum = 0;

    $('.item_in_basket').each(function () {
        var item = $(this);
        var item_id = item.attr('data-item-id') * 1;

        var val = item.find('.spin input').val();
        var price = item.find('input#current_price' + item_id + '').val();

        var cur_sum = val * price;

        item.find('ins').html(cur_sum);

        sum = sum + cur_sum;
    });


    refreshBasket();

    $.post('/ajax/basket_calculate/', {sum: sum}, function (res) {

        var order_price_minimal = res.order_price_minimal;
        var result_price = res.result_price;

        if (result_price < order_price_minimal) {
            $('#sub_price_minimal').html(res.sub_price);

            $('#info_minimal_price').show();
            $('.basket_order_now').addClass('disabled');
        } else {
            $('#info_minimal_price').hide();
            $('.basket_order_now').removeClass('disabled');
        }

        $('#basket_res_count').html(res.count_b);
        $('#basket_res_price').html(res.price_b);

        /*if (result_price>=res.free_delivery_price)
         {
         $('#info_free_delivery').show();
         $('#info_free_delivery_needed').hide();
         }
         else
         {
         $('#info_free_delivery').hide();
         $('#info_free_delivery_needed').show();
         }*/

        $('#sum_weight').html(res.sum_weight);
        $('#sum_count').html(res.sum_count);
        $('#discount_price').html(res.discount_price);
        if (res.discount_price <= 0) {
            $('#discount_price_cont').hide();
        } else {
            $('#discount_price_cont').show();
        }

        $('#result_price').html(result_price);
    })
}

var hover_timer = 0;
var hide_timer = 0;
$(document).ready(function () {

    $('.menu_groups li').hover(function () {
        var obj = $(this);
        hover_timer = setTimeout(function () {
            $('.menu_groups li.active').removeClass('active');
            obj.addClass('active');

            clearTimeout(hide_timer);
            hide_timer = 0;
        }, 250);

    }, function () {
        var obj = $(this);
        hide_timer = setTimeout(function () {
            obj.removeClass('active');
        }, 200);
        clearInterval(hover_timer);
        hover_timer = 0
    });


    $('.again_item').each(function () {
        var item = $(this);
        var item_code = item.attr('data-code');
        var item_type = item.attr('data-for-order');

        item.find('.tobasket').unbind('click').click(function () {
            var add = item.find('.spin input').val();
            var linkadd = $(this);

            addToBasket(item_code, add, item_type, function (res) {
                if (res.ok == 1) {
                    $('#basket_res_count').html(res.count_b);
                    $('#basket_res_price').html(res.price_b);

                    if (item_type == 0) {
                        linkadd.removeClass('but_again').addClass('but_again2');
                    } else {
                        linkadd.removeClass('order_again').addClass('order_again2');
                    }
                    linkadd.find('i').show();
                    linkadd.find('i').html('(в корзине ' + (res.current * 1) + ')');

                    yaCounter21071200.reachGoal('v_korzinu');
                    fbq('track', 'AddToCart');
                }
            });

            return false;
        })
    });

    $('.order_item').each(function () {
        var item = $(this);

        item.find('a.collapse').click(function () {
            item.toggleClass('opened');
            if (item.hasClass('opened')) {
                $(this).html('свернуть');
            } else {
                $(this).html('развернуть');
            }
            return false;
        })
    });

    $('.basket_order_now').click(function () {
        fbq('track', 'InitiateCheckout');
        if ($(this).hasClass('disabled')) {
            return false;
        }
    })

    $.cookie.json = true;
    $.cookie.raw = true;


    $('.check_for_basket').click(function () {
        if ($(this).attr('checked')) {
            $('.cb_for_basket').attr('checked', true);
            updateButtons();
        } else {
            $('.cb_for_basket').attr('checked', false);
            updateButtons();
        }
    });

    $('.check_for_orders').click(function () {
        if ($(this).attr('checked')) {
            $('.cb_for_order').attr('checked', true);
            updateButtons();
        } else {
            $('.cb_for_order').attr('checked', false);
            updateButtons();
        }
    });

    $('.cb_for_basket,.cb_for_order').click(function () {
        updateButtons();
    })


    // cookie collapse filter
    $('.collapsed_block, .collapsed_block2').each(function () {
        var col = $(this);
        var data_id = col.attr('data-id');


        _ids = getCookie('colb');
        if (!_ids || _ids == '' || typeof _ids == null || typeof _ids == undefined) {
            _ids = '';
            ids = new Array();
        } else {


            if (!$.browser.opera) {
                ids = JSON.parse(_ids);
            } else {

                ids = JSON.parse(unescape(_ids));
            }
            //alert(ids);

        }


        col.find('a.class_block_title').parent().click(function () {

            col.toggleClass('collapsed');

            if (!col.hasClass('collapsed')) {
                ids = setCollspse(ids, data_id, 'e');
            } else {
                ids = setCollspse(ids, data_id, 'c');
            }

            var s = (JSON.stringify(ids));

            if (!$.browser.opera) {
                setCookie('colb', s, 365);
                //$.cookie('colb', ids, { expires: 7 , path: '/' })
            } else {
                setCookie('colb', escape(s), 365);

                //document.cookie = 'colb='+ escape(JSON.stringify(ids))+'&path=/&expiries;//$.cookie('colb', ids , { /*expires: 7 ,*/ path: '/' })
            }

            return false;
        });

        col.find('.list_check1').each(function () {
            var cfb = $(this);
            var data_id = cfb.attr('data-id');

            ids2 = $.cookie('colm');
            if (!ids2) {
                ids2 = new Array();
            }

            cfb.find('.morenemore').click(function () {
                var more = $(this);

                if (more.hasClass("more")) {
                    more.removeClass('more').addClass('nemore');

                    cfb.find('.fp_more').removeClass('hidden');

                    more.find('a').html('Меньше');

                    ids2 = setCollspse(ids2, data_id, 'm');
                } else {
                    more.removeClass('nemore').addClass('more');

                    cfb.find('.fp_more').addClass('hidden');

                    more.find('a').html('Больше');

                    ids2 = setCollspse(ids2, data_id, 'b');
                }

                if (!$.browser.opera) {
                    //$.cookie('colm', ids2, { expires: 7 , path: '/' })
                    setCookie('colb', JSON.stringify(ids2), 365);
                } else {
                    setCookie('colb', escape(JSON.stringify(ids2)), 365);
                    //document.cookie = 'colm='+ escape(JSON.stringify(ids2));//$.cookie('colm', ids2 , { /*expires: 7 , */ path: '/' })
                }

                return false;
            });
        })
    });


    $('.filter-slider').each(function () {
        var form = $(this);

        form.find('.filter-item-cb').click(function (event) {

            var checkbox = $(this);

            if (checkbox.hasClass('colorbox')) {
                checkbox.toggleClass('checked');

                if (checkbox.hasClass('checked')) {
                    checkbox.find('input').attr('checked', true);
                } else {
                    checkbox.find('input').attr('checked', false);
                }
            }

            if (event.target.tagName == 'INPUT' || $(event.target).hasClass('colorbox') || $(event.target).parent().hasClass('colorbox')) {
                refreshAjaxFilterForm(form, checkbox);
            }
        });
    });

    $('.in_kladovka').click(function () {

        var item = $(this);
        var cnt = item.attr('data-count') * 1;

        if (cnt == 0) {
            cnt = 1;
        }

        addToBasket(item.attr('data-item-code'), 1, 2, function (res) {
            if (res.ok == 1) {
                // показываем блок и выводим кол-во в кладовке
                $('.kladovka').show();
                $('#order_res_info').html(res.count_k);

                // меняем текст ссылки
                item.find('a').html('В кладовой - ' + res.current * 1);
            }
        })

        return false;
    });

    $('.add_order').click(function () {
        var item = $(this);
        var add = $('.count_select .spin input').val() * 1;

        if (add == 0) {
            add = 1;
        }

        addToBasket(item.attr('data-item-code'), add, 1, function (res) {
            if (res.ok == 1) {
                item.find('.spin input').val(0);

                $('#basket_res_count').html(res.count_b);
                $('#basket_res_price').html(res.price_b);

                $('.basket_info').show();
                $('.basket_info a').html('Заказано - ' + res.current * 1);
            }
        });

        return false;
    });

    $('.add_basket').click(function (e) {
        e.preventDefault();

        var item = $(this);

        var need_reload = 0;

        var spin = item.closest('.count_select').find('.spin');
        if (spin.length == 0) {
            spin = $('.count_select')
            if (spin.length == 1) {
                spin = spin.find('.spin');
            }
        }
        var present = spin.attr('data-up-off') * 1;


        if (present == 0) {
            var z = 0;

            $.ajax({
                type: "POST",
                url: '/ajax/getcountfrombasket/',
                data: {item_code: item.attr('data-item-code')},
                async: false,
                success: function (data) {
                    z = data;
                }
            });

            alert('У Вас в корзине данного товара - ' + z + '. Больше в наличии товара нет.');
            return false;
        }


        var type = 0; // в корзину
        // кол-во выбранное в спине
        var cnt = spin.find('input').val();
        if (cnt == 0) {
            cnt = 1;
        }

        if (cnt > present) {
            alert('Доступно только ' + present + ' шт');
            cnt = present;
        }

        if (cnt == 0) cnt = 1;

        need_reload = (location.href.indexOf('/basket/') > -1);


        addToBasket(item.attr('data-item-code'), cnt, type, function (res) {
            if (res.ok == 1) {

                yaCounter21071200.reachGoal('v_korzinu');
                fbq('track', 'AddToCart');

                if (need_reload) {
                    location.href = location;
                    return;
                }

                $('.basket_info').show();
                $('.basket_info a').html('В корзине - ' + res.current * 1);

                $('#basket_res_count').html(res.count_b);
                $('#basket_res_price').html(res.price_b);

                var z = (present - cnt);
                if (z < 0) z = 0;
                spin.attr('data-up-off', z)
            }
        });


        return false;
    });

    $('.catalog-list-cont .item').each(function () {
        var item = $(this);
        var but = item.find('.to_basket.bassadd');
        var but_order = item.find('.to_basket.order');

        item.find('.as_kladovaya').click(function () {

            var cnt = item.find('.spin input').val() * 1;

            addToBasket(item.attr('data-item-code'), cnt, 2, function (res) {

                if (res.ok == 1) {
                    //item.find('.spin input').val(0);

                    // показываем блок и выводим кол-во в кладовке
                    $('.kladovka').show();
                    $('#order_res_info').html(res.count_k);

                    // меняем текст ссылки
                    item.find('.as_kladovaya').html('В кладовой');

                    // отображаем ту ссылку что надо
                    item.find('.as_kladovaya').show();
                    item.find('.as_basket').hide();
                    item.find('.as_order').hide();
                }
            });


            return false;
        });

        but_order.click(function () {
            var add = item.find('.spin input').val() * 1;

            if (add == 0) {
                add = 1;
            }

            addToBasket(item.attr('data-item-code'), add, 1, function (res) {
                if (res.ok == 1) {
                    item.find('.spin input').val(0);

                    $('#basket_res_count').html(res.count_b);
                    $('#basket_res_price').html(res.price_b);

                    item.find('.as_order').html('Заказано - ' + res.current * 1);
                    item.find('.as_order').show();

                    item.find('.as_basket').hide();
                    item.find('.as_kladovaya').hide();

                    yaCounter21071200.reachGoal('v_korzinu');
                    fbq('track', 'AddToCart');
                }
            });


            return false;
        });

        but.click(function () {
            var spin = item.find('.spin');
            var present = spin.attr('data-up-off') * 1;


            if (present == 0) {
                var z = 0;

                $.ajax({
                    type: "POST",
                    url: '/ajax/getcountfrombasket/',
                    data: {item_code: item.attr('data-item-code')},
                    async: false,
                    success: function (data) {
                        z = data;


                    }
                });

                alert('У Вас в корзине данного товара - ' + z + '. Больше в наличии товара нет.');
                return false;
            }

            // кол-во выбранное в спине
            var cnt = spin.find('input').val();
            if (cnt == 0) {
                cnt = 1;
            }

            if (cnt > present) {
                alert('Доступно только ' + present + ' шт');
                cnt = present;
            }

            if (cnt > 0) {
                addToBasket(item.attr('data-item-code'), cnt, 0, function (res) {
                    if (res.ok == 1) {
                        item.find('.spin input').val(0);

                        $('#basket_res_count').html(res.count_b);
                        $('#basket_res_price').html(res.price_b);

                        item.find('.as_basket').html('В корзине - ' + res.current * 1);

                        item.find('.as_basket').show();
                        item.find('.as_order').hide();
                        item.find('.as_kladovaya').hide();


                        var z = (present - cnt);
                        if (z < 0) z = 0;
                        spin.attr('data-up-off', z);

                        yaCounter21071200.reachGoal('v_korzinu');
                        fbq('track', 'AddToCart');
                    }
                });
            } else {
                alert('Товара нет в наличии')
            }


            return false;
        });
    });

    $('.spin').each(function () {
        var s = $(this);
        var u = s.find('.up');
        var d = s.find('.down');
        var step = s.attr('data-step') * 1;
        var present = s.attr('data-present') * 1;
        var count = s.attr('data-up-off') * 1;
        var is_basket = s.attr('data-is-basket') * 1;
        var tm = 0;

        s.find('input').keypress(function (evt) {
            var charCode = (evt.which) ? evt.which : event.keyCode;

            return !(charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57));
        });

        s.keyup_funct = function (e) {
            var target = $(e.target);

            var v = target.val() * 1;

            count = s.attr('data-up-off') * 1;
            $('#nomoresinfo').hide();

            if (v > count) {
                alert('В наличии только ' + count + ' шт');
                s.addClass('nomore');
                s.find('.nomore_ind').removeClass('active').addClass('active');
                $('#nomoresinfo').show();
                target.val(count);
                return false;
            }

            if (isFloat(v) && isFloat(step)) {
                if (v < 1) {
                    if (v < step || v == step) {
                        v = step;
                    } else {
                        v = 1;
                    }
                } else if (v == step) {
                    v = step
                } else if (v > 1) {
                    var x = parseInt(v);
                    var d = v - x;

                    if (d < step || d == step) {
                        d = step
                    } else if (d > step) {
                        d = 1.0;
                    }

                    v = x + d;
                }
                target.val(v);
            }
        };

        s.find('input').keyup(function (e) {
            s.keyup_funct(e);
            if (tm) {
                clearTimeout(tm);
                tm = 0;
            }
            if (s.data('isbasket') == 'yes') {
                tm = setTimeout(function () {
                    calculateBasket();
                    refreshBasket();
                }, 1000)
            } else {
                calculateKladovka();
            }
        });

        u.click(function () {

            count = s.attr('data-up-off') * 1;

            var v = s.find('input').val() * 1;

            if (count == 0 || (v >= count && is_basket)) {
                var z = 0;

                $.ajax({
                    type: "POST",
                    url: '/ajax/getcountfrombasket/',
                    data: {item_code: s.attr('data-item-code')},
                    async: false,
                    success: function (data) {
                        z = data;
                    }
                });

                alert('У Вас в корзине данного товара - ' + z + '. Больше в наличии товара нет.');
                return false;
            }

            if (!is_basket && v >= count) {
                alert('В наличии только ' + count + ' шт');

                return false;
            }

            if (v >= s.attr('data-up-off')) {
                return false;
            }

            if (isFloat(v) != isFloat(step)) {
                v = Math.round(v);
            }

            v = v + step;

            s.find('input').val(v);

            if (!is_basket) {
                calculateKladovka();
            }

            return false;
        });

        d.click(function () {
            var v = s.find('input').val() * 1;

            if (isFloat(v) != isFloat(step)) {
                v = Math.round(v);
            }

            v = v - step;
            if (v < 0) v = 0;
            s.find('input').val(v);

            //s.attr('data-up-off',0);

            /*	present=present+step;
             if (present<=s.attr('data-up-off')*1)
             {
             s.attr('data-present',present);
             }*/

            if (!is_basket) {
                calculateKladovka();
            }

            return false;
        });
    });

    // basket
    $('.item_in_basket').each(function () {
        var item = $(this);
        item.find('.spin').data('isbasket', 'yes');
        item.find('.spin a.up, .spin a.down').click(function () {
            calculateBasket();
            refreshBasket();
        });
    });


    $('.click-go-filter').click(function () {
        $('#ifpage').remove();
        //$('.filter-slider').submit();
        $('.filter-go').click();
        return false;
    });

    $('.filter-go').click(function () {
        var form = $('.filter-slider');

        var inputs = form.find('input[data-sysname]:checked');
        var filters = {};
        inputs.each(function () {
            var inp = $(this);
            var sysname = inp.data('sysname');

            if (!filters[sysname]) {
                filters[sysname] = []
            }

            filters[sysname].push(inp.val());
        });

        var parts_of_url = [];
        for (var sysname in filters) {
            var values = filters[sysname];
            parts_of_url.push(sysname + '__' + values.join("_i_"))
        }
        var action = form.attr('action');
        action = action.split('filter/')[0];

        location.href = action + 'filter/' + parts_of_url.join("/") + '/apply/';

        return false;
    });

    $('.filter-left').click(function () {

        $('.filter-slider').toggleClass('collapsed')
        if ($('.filter-slider').hasClass('collapsed')) {
            $('.filter-slider').slideUp();
            $('.filter-left').removeClass('up').addClass('down');
        } else {
            $('.filter-slider').slideDown();
            $('.filter-left').removeClass('down').addClass('up');
        }

        return false;
    })


    $('#sort_type').change(function () {
        var url = $(this).find('option:selected').attr('data-url');
        location = url;
    });

    $('#to_page_up').change(function () {
        var url = $(this).find('option:selected').attr('data-url');
        location = url;
    });

    /* init form filter top subcats */
    $('#subcatsfilterform').each(function () {
        var form = $(this);
        form.find('.filter-show').click(function () {

            var url = form.attr('action');
            var click = $(this);

            var a = 0;
            $('#subcats_filters').empty();
            form.find('input:checked').each(function () {
                //ids.push($(this).val());
                a += 1;

                var inp = $('<input data-sysname="podrazdely" type="checkbox" checked name="fp[podrazdely][]" value="' + $(this).val() + '">');
                $('#subcats_filters').append(inp);

                $('.filter-slider').attr('action', click.attr('href'));
            });

            if (a) {
                //location.href = click.attr('href')+'filter/podrazdely__' + ids.join('_i_') + '/apply/';
                $('.filter-go').click();
            } else {
                alert('Нужно выбрать подразделы');
            }
            return false;
        });
    });


    $(document.body).click(function () {
        $('.win-order').addClass('hidden');
        $('.win-login').addClass('hidden');
        $('.win-shop').addClass('hidden');
        $('.win-return').addClass('hidden');
        $('.win-delivery').addClass('hidden');
        $('.win-safepay').addClass('hidden');
    });

    $('.spin input').focus(function () {
        $(this).addClass('focused');
    })
    $('.spin input').blur(function () {
        $(this).removeClass('focused');
    })
    $('.price_info input').focus(function () {
        $(this).addClass('focused');
    })
    $('.price_info input').blur(function () {
        $(this).removeClass('focused');
    })

    $('.basket_bar input').focus(function () {
        $(this).addClass('focused');
    })
    $('.basket_bar input').blur(function () {
        $(this).removeClass('focused');
    })
    $('.count_select input').focus(function () {
        $(this).addClass('focused');
    })
    $('.count_select input').blur(function () {
        $(this).removeClass('focused');
    })

    $('.win-login').click(function (e) {
        e.stopPropagation();
    });

    $('.win-order').click(function (e) {
        e.stopPropagation();
    });

    $('.win-shop').click(function (e) {
        e.stopPropagation();
    });

    $('.win-return').click(function (e) {
        e.stopPropagation();
    });

    $('.win-savepay').click(function (e) {
        e.stopPropagation();
    });

    $('.win-delivery').click(function (e) {
        e.stopPropagation();
    });


    /* *************************************************************************** */

    $('.form_review').find('.textarea textarea').focus(function () {
        $(this).parent().addClass('active');
    });
    $('.form_review').find('.textarea textarea').blur(function () {
        $(this).parent().removeClass('active');
    });

    $('.form_review').find('.input input').focus(function () {
        $(this).parent().addClass('active');
    });
    $('.form_review').find('.input input').blur(function () {
        $(this).parent().removeClass('active');
    });


    $('.win-order').find('.textarea textarea').focus(function () {
        $(this).parent().addClass('active');
    });
    $('.win-order').find('.textarea textarea').blur(function () {
        $(this).parent().removeClass('active');
    });

    $('.win-order').find('.input input').focus(function () {
        $(this).parent().addClass('active');
    });
    $('.win-order').find('.input input').blur(function () {
        $(this).parent().removeClass('active');
    });


    $('.win-login').find('.field input').focus(function () {
        $(this).parent().addClass('active');
    });
    $('.win-login').find('.field input').blur(function () {
        $(this).parent().removeClass('active');
    });


    $('.checkbox label').click(function () {
        $(this).parent().find('span').toggleClass('active');
        if ($(this).parent().find('span').hasClass('active')) {
            $(this).parent().find('input').val(1)
        } else {
            $(this).parent().find('input').val(0)
        }
    });

    $('.reglogin a').click(function () {
        $('.win-login').toggleClass('hidden');

        if (!$('.win-shop').hasClass('hidden')) {
            $('.win-shop').addClass('hidden');
        }
        return false;
    });

    /**/

    $('.return-click a').click(function () {
        var z = $('<div style="background: black; position: fixed; top:0;left:0;bottom:0;righT:0; background: url(/DESIGN/ARAB/images/shade.png);" class="shadeorder"></div>');
        $(document.body).append(z);
        z.click(function () {
            $('#return_info .close').click();
        })
        $('#return_info').removeClass('hidden');
        $('.win-delivery').addClass('hidden');
        $('.win-safepay').addClass('hidden');
        return false;
    });

    $('.win-return').find('.close').click(function () {
        $('.win-return').addClass('hidden');
        $('.shadeorder').remove();
        return false;
    });

    /**/

    $('#btn_open_rules_add_work').click(function () {
        var z = $('<div style="background: black; position: fixed; top:0;left:0;bottom:0;righT:0; background: url(/DESIGN/ARAB/images/shade.png);" class="shadeorder"></div>');
        $(document.body).append(z);
        z.click(function () {
            $('#rules_of_add_work .close').click();
        });
        $('#rules_of_add_work').removeClass('hidden');
        return false;
    });

    $('#rules_of_add_work').find('.close').click(function () {
        $('#rules_of_add_work').addClass('hidden');
        $('.shadeorder').remove();
        return false;
    });

    /**/

    $('#btn_open_rules_add_comment').click(function () {
        var z = $('<div style="background: black; position: fixed; top:0;left:0;bottom:0;righT:0; background: url(/DESIGN/ARAB/images/shade.png);" class="shadeorder"></div>');
        $(document.body).append(z);
        z.click(function () {
            $('#rules_of_add_work .close').click();
        });
        $('#rules_of_add_comment').removeClass('hidden');
        return false;
    });

    $('#rules_of_add_comment').find('.close').click(function () {
        $('#rules_of_add_comment').addClass('hidden');
        $('.shadeorder').remove();
        return false;
    });

    /**/

    $('.delivery-click a').click(function () {
        var z = $('<div style="background: black;  position: fixed; top:0;left:0;bottom:0;righT:0; background: url(/DESIGN/ARAB/images/shade.png);" class="shadeorder"></div>');
        $(document.body).append(z);
        z.click(function () {
            $('.win-delivery .close').click();
        })
        $('.win-delivery').toggleClass('hidden');
        $('.win-return').addClass('hidden');
        $('.win-safepay').addClass('hidden');
        return false;
    });

    $('.win-delivery').find('.close').click(function () {
        $('.win-delivery').addClass('hidden');
        $('.shadeorder').remove();
        return false;
    });


    $('.safepay-click a').click(function () {
        var z = $('<div style="background: black; position: fixed; top:0;left:0;bottom:0;righT:0; background: url(/DESIGN/ARAB/images/shade.png);" class="shadeorder"></div>');
        $(document.body).append(z);
        z.click(function () {
            $('.win-delivery .close').click();
        })
        $('.win-safepay').toggleClass('hidden');
        $('.win-delivery').addClass('hidden');
        $('.win-return').addClass('hidden');
        return false;
    });

    $('.win-safepay').find('.close').click(function () {
        $('.win-safepay').addClass('hidden');
        $('.shadeorder').remove();
        return false;
    });


    /**/

    $('.aboutlink, .aboutlink i').click(function () {
        $('.win-shop').toggleClass('hidden');

        if (!$('.win-login').hasClass('hidden')) {
            $('.win-login').addClass('hidden');
        }
        return false;
    });

    $('.notfoundgood a').click(function () {
        var z = $('<div style="background: black;  position: fixed; top:0;left:0;bottom:0;righT:0;background: url(/DESIGN/ARAB/images/shade.png);" class="shadeorder"></div>');
        $(document.body).append(z);
        z.click(function () {
            $('.win-order .close').click();
        })
        $('.win-order').toggle();
        return false;
    });
    $('.win-order .close').click(function () {
        $('.shadeorder').remove();
        $('.win-order').hide();
        return false;
    });

    $("select.sort_type").sb({useTie: false, fixedWidth: true, maxWidth: 135});
    $("select.sort_size").sb({useTie: false, fixedWidth: true, maxWidth: 90});

    /**/
    $('.footer .footer_sub_link').click(function () {
        $('.subscribe_footer').toggleClass('hidden');
        return false;
    });

    /**/
    $('.subscribe_footer').find('.field input').focus(function () {
        $(this).parent().addClass('active');
    });
    $('.subscribe_footer').find('.field input').blur(function () {
        $(this).parent().removeClass('active');
    });

    /**/
    $('.order-form-table').find('input.text').focus(function () {
        $(this).addClass('active');
    });
    $('.order-form-table').find('input.text').blur(function () {
        $(this).removeClass('active');
    });

    /**/
    $('.order-form-table').find('textarea').focus(function () {
        $(this).addClass('active');
    });
    $('.order-form-table').find('textarea').blur(function () {
        $(this).removeClass('active');
    });

    /**/
    $('.radiobutton-group .radiobutton').each(function () {
        var r = $(this);

        r.click(function () {
            r.parent().find('.radiobutton').removeClass('checked');
            r.parent().find('input.radio').attr('checked', false);

            r.addClass('checked');
            r.find('input.radio').attr('checked', true);

            return false;
        });
    })

    /**/
    $('.checkbox').click(function () {
        $(this).toggleClass('checked');
        $(this).find('input').attr('checked', $(this).hasClass('checked'));

        return false;
    });

    /**/
    refreshRaios();

    /**/
    $('.profile_container').find('input.text').focus(function () {
        $(this).addClass('active');
    });
    $('.profile_container').find('input.text').blur(function () {
        $(this).removeClass('active');
    });

    /**/

    $('.new_address').each(function () {
        var r = $(this);

        r.find('.add_new_address').click(function () {
            r.find('div.editer_field').toggle();
            return false;
        });
    });

    /* profile */
    $('#newaddr .apply').click(function () {

        if ($('#newaddr input').val() == '' || $('#newaddr input').val() == 'Введите новый адрес') {
            $('.info_f_newadd').show();
            return false;
        }

        var addr_val = $('#newaddr input').val();
        var cnt_addrs = $('.radiobutton-group').find('.radiobutton').length;

        $.post('/ajax/savenewaddr/', {addr_val: addr_val, num: cnt_addrs}, function (res) {
            if (res.ok == 1) {
                $('#newaddr').hide();

                var html = '' +
                    '<label class="radiobutton">' +
                    '<div class="editer_field">' +
                    '<div class="static">' +
                    '<span>' + $('#newaddr input').val() + '</span>' +
                    '<a href="" class="edit"></a><a href="" class="delete"></a>' +
                    '</div>' +
                    '<div class="editor">' +
                    '<input type="text" class="text" name="profile[address]" value="' + $('#newaddr input').val() + '" value="Введите новый адрес" onfocus="if (this.value==\'Введите новый адрес\') this.value=\'\';" onblur="if (this.value==\'\') this.value=\'Введите новый адрес\';">' +
                    '<a href="" class="apply"></a>' +
                    '</div>' +
                    '</div>' +
                    '</label>' +
                    '';

                $('.radiobutton-group').append(html);

                $('.radiobutton-group .radiobutton').find('.static a.delete').show();

                $('#no_addrs').remove();

                $('.radiobutton-group').find('.radiobutton').removeClass('checked');
                var lastradio = $('.radiobutton-group').find('.radiobutton:last');
                lastradio.addClass('checked');

                refreshRaios();
            } else {
                $('.info_f_newadd').show();
                return false;
            }
        })

    });

    $('.radiobutton-group.addrs .radiobutton').each(function () {
        var r = $(this);

        r.click(function () {
            $.post('/ajax/savemainaddr/', {num: r.index()}, function (res) {
                if (res.ok == 1) {
                    refreshRaios();
                } else {
                    alert('Error select addr');
                }

            });
        });

        r.find('.apply').click(function () {
            if (r.find('input').val() == '' || r.find('input').val() == 'Введите новый адрес') {
                var off = r.find('.apply').offset();
                x = off.left + 74;
                y = off.top + 10;

                $('.info_f_newadd').css('position', 'absolute').css('top', y).css('left', x).show();
                return false;
            }

            $.post('/ajax/saveexistaddr/', {num: r.index(), addr_val: r.find('input').val()}, function (res) {
                r.find('.static').find('span').html(r.find('input').val());
                r.find('.editor').hide();
                r.find('.static').show();
                refreshRaios();
            });
        });

        r.find('.static a.delete').click(function () {
            if (confirm("Удалить?")) {
                $.post('/ajax/deleteaddr/', {num: r.index()}, function (res) {
                    r.remove();
                    $('.radiobutton-group .radiobutton').removeClass('checked');
                    $('.radiobutton-group .radiobutton:first').addClass('checked');
                    if ($('.radiobutton-group .radiobutton').length == 1) {
                        $('.radiobutton-group .radiobutton:first').find('.static a.delete').hide();
                    }
                    refreshRaios();
                });
            }
            return false;
        });
    });
});

function refreshRaios() {
    $('.editer_field').each(function () {
        var editor = $(this);

        editor.find('input.text, textarea.text').keyup(function (e) {
            if (e.keyCode == 13) {
                editor.find('.editor a.apply').click();
            }
        });

        editor.find('.static a.only_edit').click(function () {
            editor.find('.static').hide();
            editor.find('.editor').show();

            return false;
        });

        editor.find('.static a.edit').click(function () {
            editor.find('.static').hide();
            editor.find('.editor').show();

            return false;
        });


        editor.find('.editor a.apply').click(function () {

            var need = 0;

            if (editor.attr('save') == 1) {
                processSaveField(editor.find('input.text, textarea.text'), need, function (val) {
                    editor.find('.editor').hide();
                    editor.find('.static').show().html();

                    if (val == '') {
                        val = editor.find('input.text, textarea.text').attr('data-default');
                    }

                    editor.find('.static').find('span').html(val);
                });
            }

            return false;
        });
    });
}

function formActive() {
    $('#search-form').addClass('active');
}

function formInActive() {
    $('#search-form').removeClass('active');
}

function processSaveField(field_obj, needfeel, callback) {
    var val = field_obj.val();
    var name = field_obj.attr('name');
    var name_rel = field_obj.attr('rel');

    if (needfeel && val == '') {
        field_obj.addClass('error_found');
        return false;
    } else {
        field_obj.removeClass('error_found');
        $('.info_f_' + name_rel).hide();
        $.post('/ajax/saveprofilefield/', {name: name, value: val}, function (res) {

            if (res.ok == 1) {
                callback(val);
            } else {
                field_obj.addClass('error_found');

                var off = field_obj.offset();
                x = off.left + 420;
                y = off.top + 10;

                $('.info_f_' + name_rel).css('position', 'absolute').css('top', y).css('left', x).show();
            }
        });
    }
}

function array_unique(inputArr) {

    var key = '',
        tmp_arr2 = {},
        val = '';

    var __array_search = function (needle, haystack) {
        var fkey = '';
        for (fkey in haystack) {
            if (haystack.hasOwnProperty(fkey)) {
                if ((haystack[fkey] + '') === (needle + '')) {
                    return fkey;
                }
            }
        }
        return false;
    };

    for (key in inputArr) {
        if (inputArr.hasOwnProperty(key)) {
            val = inputArr[key];
            if (false === __array_search(val, tmp_arr2)) {
                tmp_arr2[key] = val;
            }
        }
    }

    return tmp_arr2;
}

function formatPrice(price) {
    var str = '' + price.toString();

    var a = str.split('.');
    if (typeof a[1] != 'undefined' && a[1] != null && parseInt(a[1] * 1) > 0) {
        return price;
    } else {
        return parseInt(a[0] * 1);
    }
}

function refreshBasket() {
    var dataform = $('#basket_form').serialize();
    $.ajax({
        'url': '/ajax/refresh/',
        data: dataform,
        async: false,
        type: 'POST',
        cache: false,
        success: function (res) {
            if (res.ok !== 1) {
                alert('error');
            } else {
                var nomore_count = 0;
                for (var hash_id in res.nomores) {
                    var nomore = res.nomores[hash_id];

                    var spinn = $('.spin[data-item-code="' + hash_id + '"]')

                    if (nomore) {
                        nomore_count++;
                    }

                    if (nomore) {
                        spinn.addClass('nomore');
                        spinn.find('.nomore_ind').addClass('active');
                    } else {
                        spinn.removeClass('nomore');
                        spinn.find('.nomore_ind').removeClass('active');
                    }
                }

                if (nomore_count) {
                    $('#nomoresinfo').show();
                } else {
                    $('#nomoresinfo').hide();
                }
            }
        }
    })

}

function declOfNum(number, titles) {
    cases = [2, 0, 1, 1, 1, 2];
    return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]];
}


function init_comments_photoforum() {
    $('form.comment_input').each(function () {
        var form = $(this);
        form.find('.comment_button a').on('click', function () {
            $.post(form.attr('action'), form.serialize(), function (res) {
                if (res.success) {
                    location.reload();
                }
            });
            return false;
        });
    });

    $(document).on('click', '.remove_comment', function () {
        var obj = $(this);
        var comment_id = obj.data('id');
        if (comment_id && confirm('Удалить Ваш комментарий?')) {
            $.post('/ajax/comment_remove/', {cid: comment_id}, function (res) {
                if (res.success) {
                    $('#comment' + res.comment_id).fadeOut(function () {
                        $(this).remove();
                    })
                } else {
                    alert('При удалении комментария возникла ошибка!');
                }
            })
        }

        return false;
    });

    $('a.like').on('click', function () {
        var like = $(this);
        var pos = like.offset();

        if ($(this).hasClass('nojs')) {
            return true;
        }

        $.post('/ajax/like_photoforum/', {item_id: $(this).data('id')}, function (res) {
            if (res.success == 'ok') {
                like.html(res.count);
                var hint = $('<div style="border: 2px solid; padding: 2px; margin-left: 30px; margin-top: -5px;position: absolute; z-index:100; top:0; right:0; width: 130px; background: white;">Работа добавлена в избранное</div>')
                hint.css('left', pos.left);
                hint.css('top', pos.top);
                $(document.body).append(hint);
                setTimeout(function () {
                    hint.remove();
                }, 2000);
            } else {
                like.html(res.count);
            }
        });

        return false;
    })
}

$(document).ready(function () {
    init_comments_photoforum();
});