// таймер обновления корзины
var updaterCartTimer = false;
var updaterCart_id = 0;

$(function () {
    $('a#add_cart').live('click', function () {
        return add_to_cart($(this));
    });
    $('a#cart_del').live('click', function () {
        return cart_del($(this));
    });

    $('.prev, .next').live('click', function () {
        scroll();
    });
    $('#select-page').live('change', function () {
        scroll();
    });
//    $('#query').autocomplete("images.php", {
//        width:320,
//        max:4,
//        highlight:false,
//        scroll:true,
//        scrollHeight:300,
//        formatItem:function (data, i, n, value) {
//            return "<img src='images/" + value + "'/> " + value.split(".")[0];
//        },
//        formatResult:function (data, value) {
//            return value.split(".")[0];
//        }
//    });
    $('div.lev2 a').click(function () {
        submenu_act();
    });

    // поле ввода количества товара в корзине
    $('table.cart-info .quantity input').keypress(
            function (e) {
                var code = e.which;

                if (code != 0 && code != 8 && code != 13 && (code < 47 || e.which > 58)) {
                    e.preventDefault();
                    return false;
                }
            }).change(function () {
                var quantity = 0;
                var sum = 0.0;
                var url = $('#update-cart-url').val();
                var row = $(this).parent().parent();
                var productId = row.attr('id');

                productId = parseInt(productId.slice(4));

                if ($(this).val()) {
                    quantity = parseInt($(this).val());
                }
                else {
                    quantity = 0;
                }

                sum = quantity * parseFloat(row.find('.price').text());

                $.ajax({
                    type:'POST',
                    url:url,
                    data:{ product_id:productId, count:quantity },
                    beforeSend:function () {
                        showAjaxLoader();
                    },
                    success:function (data) {
                        if ('undefined' != typeof data) {
                            row.find('.sum').text(parseInt(sum));
                            $('#total .total-value').text(data);
                        }
                        hideAjaxLoader();
                    }
                });
            });


    // предпросмотр страницы
    // привязка +/- для изменения значения количества
    $('a.plus').live('click', function (e) {

        var num = parseInt($(this).attr("id"));
        var input = $('input#' + num);

        // нашли элемент - поле ввода количества
        if (input) {
            input.val(parseInt(input.val()) + 1);
        }

        bindUpdaterCart(input);
    });
    $('a.minus').live('click', function (e) {
        var num = parseInt($(this).attr("id"));
        var input = $('input#' + num);

        // нашли элемент - поле ввода количества
        if (input) {
            var val = parseInt(input.val());

            // не допускаем нулевые и отрицательные значения
            if (val > 1) {
                val--;
            }

            input.val(val);
        }

        bindUpdaterCart(input);
    });

    // привязка к полям ввода для проверки ввода только числовых значений
    $('div#cart-product-count input.cart-textbox').live('keypress',
            function (e) {
                var code = e.which;

                if (code != 0 && code != 8 && code != 13 && (code < 47 || e.which > 58)) {
                    e.preventDefault();
                    return false;
                }

                // при изменении значения повесим на пересчет функцию
                bindUpdaterCart($(this));

            }).live('change', function (e) {

                // при выходе из поля - пересчитываем значения
                if (updaterCartTimer) {
                    clearTimeout(updaterCartTimer);
                }
                updaterCart_id = $(this);
                updateCart();
            });


    // Вкладки с контентом на странице товара
    var productContentContainer = $('.params');

    $('.vkladki a').live('click',
            function (e) {
                if (e.preventDefault) {
                    e.preventDefault();
                }

                var previousParent = $('.vkladki').find('li.active');

                if (previousParent.length > 0) {
                    var previousObject = previousParent.find('span:first');
                    var previousContentId = previousObject.attr('rel');

                    var newContent = '<a href="#" rel="' + previousContentId +
                            '"><span>' + previousObject.text() + '</span></a>';

                    previousParent.removeClass('active').html(newContent);
                }

                var object = $(this);
                var contentId = object.attr('rel');
                var content = $('#' + contentId).clone();
                var replacer = '<span rel="' + contentId +
                        '" class="active-vkld-left"><span class="active-vkld-midl">' +
                        '<span class="active-vkld-right">' +
                        object.text() + '</span></span></span>';

                productContentContainer.children().remove().end().prepend(content);
                content.fadeIn('slow');
                object.parent().addClass('active').end().replaceWith(replacer);

                return false;
            }).first().click();


    /* Фильтр по параметрам */
    // Выбор параметров для текущей категории
    $('#categories').change(
            function () {
                showAjaxLoader();

                var url = window.location.href;
                var indexOfSharp = url.indexOf('#');

                if (-1 != indexOfSharp) {
                    url = url.substring(0, indexOfSharp)
                }

                url += '/' + $(this).val();

                $('#parameters').load(url);

                hideAjaxLoader();
            }).trigger('change');

    $('#toggle_form').click(function (e) {
        $('#question_form').slideToggle('slow');
        return false;
    });

    $('a.lot-ask-cancel').click(function (e) {
        $('#question_form').slideUp('slow');
        return false;
    });
    $('#notify').click(function () {
        $('#notify_form').slideToggle();
    });
    $('#notify_cancel').click(function () {
        $('#notify_form').slideUp();
    });
    $('#notify_form form').validate({
        rules:{
            email:{
                required:true,
                email:true
            }
        },
        messages:{
            email:"Введите правильный e-mail адрес."
        }
    });
    $('#notify_form_sub').click(function () {
        if ($('#notify_form form').valid()) {
            var data = $('#notify_form form').serialize();
            $.ajax({
                url:$('#notify_form form').attr('action'),
                type:'post',
                data:data,
                beforeSend:function () {
                    $('#notify_form').fadeOut('slow')
                            .html('<p>Уведомление создано как только товар появится, мы вас предупредим.</p>')
                            .fadeIn('slow');
                    showAjaxLoader();
                },
                success:function () {
                    hideAjaxLoader();
                }
            })
        }
        return false;
    });
    hideAjaxLoader();
});

