$(document).ready(function(){ 


    if($("a.more")&&$(".item_photo")){
        $("a.more").parents(".item_photo").find("ul li:gt(4)").hide();
    };
    
    $(".item_photo .more").click( function(event){
        event.stopPropagation();
        event.preventDefault();
        var more = $(this);
        var item = more.parents(".item_photo").find("ul").children("li");
        more.parents(".item_photo").find("ul li:gt(4)").slideToggle();
        moreText = jQuery(this).text();
        if (moreText == "Меньше фото") {
            more.text("Больше фото");
        } else {
            more.text("Меньше фото");
        }
    });

    $('.thickbox').fancybox();

    $('.form_feedback input, .form_feedback textarea')
    .each(function(){
        if ( $(this).val() != '' ) $(this).prev().css('top', '-9999px');
    })
    .focus(function(){
        clean($(this));
    })
});


function clean(i) {
    l = i.prev();
    if ( !i.extended ) {
        i.blur(function(){
            if ( i.val() == '' ) l.css('top', '');
        })
        i.extended = true;
    }
    l.css('top', '-9999px')
}

function clearText(field)
{
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}

/* CartButton refresh */

    jQuery(function($){
            jQuery('body').undelegate('.ajaxCartButtonDelete','click')
            .delegate('.ajaxCartButtonDelete','click',function(){
                var id = $(this).attr('id');
                var refresh = document.getElementById('item-'+id); // get button id to refresh
                jQuery.ajax({'type':'POST','url':'/shop/cart/remove',
                'cache':false,'data':jQuery(this).parents('form').serialize(),'success':function(html){
                    jQuery(refresh).html(html);
                    $('#mcart').parent().load("/ #mcart");//refresh cart view
                    }
                });
                return false;
            });
        
            jQuery('body').undelegate('.ajaxCartButtonPut','click')
            .delegate('.ajaxCartButtonPut','click',function(){
                var id = $(this).attr('id');
                var refresh = document.getElementById('item-'+id); 
                jQuery.ajax({'type':'POST','url':'/shop/cart/put',
                'cache':false,'data':jQuery(this).parents('form').serialize(),'success':function(html){
                    jQuery(refresh).html(html);
                    $('#mcart').parent().load("/ #mcart");
                    }
                 });
                 
                 return false;
             });
        });
        
(function($, window, undefined) {
    
    if (typeof console=='undefined') {
        console = {
            log: function(){},
            dir: function(){}
        };
    }
    
    $(document).ready(function() { 
    
        // Корзина
        var oldValue = null;
        var recalcTimer = null;
        // Кнопка В корзину - Пересчет
        function recalcPosition(e) {
            
            var container = e.parents('.CartButton'),
                itemId = container.data('id'),
                form = container.find('form'),
                action = e.data('url'),
                method = form.attr('method'),
                data = form.serialize(),
                curValue = e.attr('value');
                
            if (curValue==oldValue) {
                return;
            }
            
            $.ajax({
                url: action,
                type: method,
                data: data,
                success: function(response) {
                    //e.trigger('blur');
                    //container.replaceWith(response);
                    $(document).trigger('cartUpdated');
                    oldValue = curValue;
                    
                    var sum = $(response).find('.sum_all');
                    
                    $('.CartButton.item-'+itemId).each(function(i, v) {
                        if (v==container[0]) {
                            $(v).find('.sum_all').replaceWith(sum);
                        } else {
                            $(v).replaceWith(response);
                        }
                    });
                    //container.find('.sum').replaceWith(sum);
                }
            });
        }
        
        $(document)
            .delegate('.CartButton form.remove-button input.quantity-field', 'focus', function(event){
                clearInterval(recalcTimer);
                var that = $(this);
                oldValue = that.attr('value');
                recalcTimer = setInterval(function(){
                    recalcPosition(that);
                }, 1000);
            })
            .delegate('.CartButton form.remove-button input.quantity-field', 'blur', function(event){
                if (recalcTimer!=null) {
                    clearInterval(recalcTimer);
                    recalcTimer = null;
                    oldValue = null;
                }
            })
            .delegate('.CartButton form.remove-button input.quantity-field', 'keypress', function(event){
                if (event.keyCode=='13') {
                    event.stopPropagation();
                    event.preventDefault();
                    $(this).trigger('blur');
                }
            });
        // Корзина
        function recalcCart(e) {
            
            var tr = e.parents('tr'),
                elem = e.parent(),
                url = elem.data('url'),
                curValue = e.attr('value');
                data = {
                    name: elem.data('name'),
                    id: elem.data('id'),
                    quantity: curValue
                };
                
            if (curValue==oldValue) {
                return;
            }
            
            $.ajax({
                url: url,
                type: 'get',
                data: data,
                success: function(response) {
                    $(document).trigger('cartUpdated');
                    oldValue = curValue;
                    
                    response = $(response);
                    var sum = response.find('.SumPrice').text();
                    tr.find('.Sum').text(sum);
                    tr.parents('table').find('.cart_itog .sum').html(response.find('.TotalPrice').html());
                }
            });
        }
        
        $(document)
            .delegate('.Cart .in_cart_quantity input', 'focus', function(event){
                clearInterval(recalcTimer);
                var that = $(this);
                oldValue = that.attr('value');
                recalcTimer = setInterval(function(){
                    recalcCart(that);
                }, 1000);
            })
            .delegate('.Cart .in_cart_quantity input', 'blur', function(event){
                if (recalcTimer!=null) {
                    clearInterval(recalcTimer);
                    recalcTimer = null;
                    oldValue = null;
                }
            })
            .delegate('.Cart .in_cart_quantity input', 'keypress', function(event){
                if (event.keyCode=='13') {
                    event.stopPropagation();
                    event.preventDefault();
                    $(this).trigger('blur');
                }
            });
        // Корзина
        $(document).bind('cartUpdated', function(event) {
            var cartUrl = $('.cart').data('url');
            $.ajax({
                url: cartUrl,
                type: 'get',
                success: function(response) {
                    $('.cart').replaceWith(response);
                }
            });
        });
        

    });
    
})(jQuery, window);
