$(document).ready(function(){
    try{
        parse_basket(basketdata);
    }catch(err) {}
    
    try{
        $('.full-basket-input-update').live('keypress', function(e) {
            var code = (e.keyCode ? e.keyCode : e.which);
            if(code == 13) { //Enter keycode
                //Do something
                var prd_id = $(this).attr('id').replace('input_update_', '');
                $('#update_'+prd_id).trigger('click');
                return false;
            }
        });
    }catch(err) {}
    
    try{
        $('.mini-basket-update-item').live('keypress', function(e) {
            var code = (e.keyCode ? e.keyCode : e.which);
            if(code == 13) { //Enter keycode
                //Do something
                $(this).trigger('change');
                return false;
            }
        });
    }catch(err) {}
    
    try{
        $("#add-related").click(function(){
            addBasketFromRelated();
        })
        $("#related-quantity").live('keypress', function(e) {
            var code = (e.keyCode ? e.keyCode : e.which);
            if(code == 13) { //Enter keycode
                //Do something
                $("#add-related").trigger('click');
                return false;
            }
        });
    }catch(err) {}
    
    try{
    $('.full-basket-update-item').live('click', function(){
        var prd_id = $(this).attr('id').replace('update_', '');
        var quantity = $.trim($('#input_update_'+prd_id).val());
        var old_quantity = $.trim($('#input_hidden_'+prd_id).val());
        if(!is_numeric(quantity))
        {
            show_popup(msg_error, msg_quantity_NaN);
            $('#input_update_'+prd_id).val(parseInt(quantity));
            return false;
        }
        $(this).parent().parent().children('.full-basket-remove-item').html(gettext.Processing+'...');
        $.ajax({
            type:"POST",
            url:site_url + "ajax/add-product-to-basket",
            data:({attribute_id: prd_id, quantity: quantity, action: 'addTo'}),
            dataType:"json",
            success: function(data){
                if(data.success == 1)
                {
                    basketdata = data.cart;
                    parse_basket(basketdata);
                }
                
                if(data.show_msg == 1)
                {
                    show_popup(data.msg_title, data.msg_content);
                }
            }
        });
        return false;
    })
    }catch(err) {}
    
    try{
    $('.full-basket-remove-item, .mini-basket-remove-item').live('click', function(){
        var prd_id = $(this).attr('id').replace($(this).attr('class')+'-', '');
        $(this).html(gettext.Processing+'...');
        $.ajax({
            type:"POST",
            url:site_url + "ajax/add-product-to-basket",
            data:({attribute_id: prd_id, quantity: 0, action: 'addTo'}),
            dataType:"json",
            success: function(data){
                if(data.success == 1)
                {
                    basketdata = data.cart;
                    parse_basket(basketdata);
                }
                
                if(data.show_msg == 1)
                {
                    show_popup(data.msg_title, data.msg_content);
                }
            }
        });
        return false;
    })
    }catch(err) {}
    
    try{
    $('.mini-basket-update-item').live('change', function(){
        var prd_id = $(this).attr('id').replace($(this).attr('class')+'-', '');
        var quantity = $.trim($(this).val());
        var old_quantity = $.trim($('#mini-basket-hidden-item-'+prd_id).val());
        if(!is_numeric(quantity))
        {
            show_popup(msg_error, msg_quantity_NaN);
            $(this).val(parseInt(quantity));
            return false;
        }
        $('#mini-basket-remove-item-'+prd_id).html(gettext.Processing+'...');
        $.ajax({
            type:"POST",
            url:site_url + "ajax/add-product-to-basket",
            data:({attribute_id: prd_id, quantity: quantity, action: 'addTo'}),
            dataType:"json",
            success: function(data){
                if(data.success == 1)
                {
                    basketdata = data.cart;
                    parse_basket(basketdata);
                }
                
                if(data.show_msg == 1)
                {
                    show_popup(data.msg_title, data.msg_content);
                }
            }
        });
    })
    }catch(err) {}
});

function parse_basket(cart)
{
    try{
    $('.basket-data-total-items').html(cart.total.items);
    $('.basket-data-total-origin').html(money_wrap(cart.total.origin));
    $('.basket-data-shipping-fee').html(money_wrap(cart.shipping.fee));

    $('.basket-data-total-order').html(money_wrap(cart.total.order));
    var full_basket_html = '';
    var mini_basket_html = '';
    if(cart.items != null)
    {
        var count_item = 0;
        $.each(cart.items, function(i, item){
            full_basket_html += full_basket_parse(item);
            mini_basket_html += mini_basket_parse(item);
            count_item++;
        })
        $('.full_basket_item').remove();
        $('#full_basket_th').after(full_basket_html);
        $('.mini_basket_item').remove();
        $('#mini-basket-item-wrap').html(mini_basket_html);
        if(count_item > 2)
        {
            $('#mini-basket-item-wrap').addClass('pu-ct-bag-scroll');
        }
        else
        {
            $('#mini-basket-item-wrap').removeClass('pu-ct-bag-scroll');
        }
    }
    }catch(err) {}
}

function full_basket_parse(item)
{
    try{
    var html = '';
    html += '<tr id="item_'+item.id+'" class="full_basket_item">';
    html += '<td width="110"><a href="'+item.url+'" title="'+item.name+'"><img width="104" height="117" alt="'+item.name+'" src="'+item.thumb_104+'"></a></td>';
    html += '<td>';
    html += '<div class="bx">';
    html += '<b>'+item.name+'</b>';
	if(item.content!=null)
		html += '<p>'+item.content+'</p>';
	else html +='<p>' + '<p>';
    html += '</div>';
    html += '<span class="cl-g">SKU - '+item.ean+'</span>';
    html += '</td>';
    html += '<td align="center"><div class="bx"><span class="cl-g2">';
    if (item.stock == item.quantity)
    {
        html += gettext.Max_Stock;
    }
    else if(item.stock > 0)
    {
        html += gettext.In_Stock;
    }
    html += '</span></div></td>';
    html += '<td class="pd-l16">';
    html += '<div class="bx">';
    html += '<input type="text" value="'+item.quantity+'" class="full-basket-input-update" id="input_update_'+item.id+'"/>';
    html += '<input type="hidden" value="'+item.quantity+'" id="input_hidden_'+item.id+'"/>';
    html += '<a href="#" class="bt-grey-small full-basket-update-item" id="update_'+item.id+'"><span>'+gettext.Update+'</span></a>';
    html += '</div>';
    html += '<a href="#" class="full-basket-remove-item" id="full-basket-remove-item-'+item.id+'"><span class="cl-g" id="remove_'+item.id+'">'+gettext.Remove_from_cart+'</span></a>';
    html += '</td>';
    html += '<td align="right"><div class="bx">';
    if(item.sale_active == 1)
    {
        html += '<span class="sc-price-new">'+money_wrap(item.sale_price)+'</span>';
        html += '<span class="sc-new">'+money_wrap(item.price)+'</span>';
    }
    else
    {
        html += '<span class="sc-price">'+money_wrap(item.price)+'</span>';
    }
    html += '</div></td>';
    html += '<td align="right">';
    html += '<div class="bx">';
    if(item.sale_active == 1)
    {
        html += '<span class="sc-price">'+money_wrap(item.quantity_sale_price)+'</span>';
    }
    else
    {
        html += '<span class="sc-price">'+money_wrap(item.quantity_price)+'</span>';
    }
    html += '</div>';
    html += '</td>';
    html += '</tr>';
    return html;
    }catch(err) {}
}
function mini_basket_parse(item)
{
    try{
    var html = '';
    html += '<div class="to-basket mini_basket_item clearfix">';
    html += '<div class="fl mr-t30 pad-b10">';
    html += '<div class="fl w49 mr-lr13"><a href="'+item.url+'" title="'+item.name+'"><img width="49" height="55" alt="'+item.name+'" src="'+item.thumb_49+'"></a></div>';
    html += '<div class="fl w175 mr-l10">';
    html += '<span class="product-name">'+item.name+'</span><br>';
    html += '<span class="cl-6">SKU - '+item.ean+'</span><br>';
    html += '<p class="pd-t15"><label>'+gettext.Quantity+'</label>';
    html += '<input type="text" value="'+item.quantity+'" class="mini-basket-update-item" id="mini-basket-update-item-'+item.id+'"/>';
    html += '<input type="hidden" value="'+item.quantity+'" class="mini-basket-hidden-item" id="mini-basket-hidden-item-'+item.id+'"/>';
    html += '<span class="remove"><a href="#" id="mini-basket-remove-item-'+item.id+'" class="mini-basket-remove-item"  title="'+item.id+'">'+gettext.Remove+'</a></span>';
    html += '</p>';
    html += '</div>';
    html += '</div>';
    html += '<div class="fr mr-t30">';
    if(item.sale_active == 1)
    {
        html += '<span class="price textright">'+money_wrap(item.quantity_sale_price)+'</span><br>';
    }
    else
    {
        html += '<span class="price textright">'+money_wrap(item.quantity_price)+'</span><br>';
    }
    html += '</div>';
    html += '<div style="clear:both"></div>';
    html += '</div>';
    return html;
    }catch(err) {}
}

function money_wrap(money)
{
    try{
    return store.currency_sign_before+money+store.currency_sign_after;
    }catch(err) {}
}

function addBasketFromRelated(){
    item_id = $("#related_attribute_id").val();
    item_qty = $("#related-quantity").val();
	if((!is_integer(item_qty)) || (parseInt(item_qty,10) < 1)){show_popup(msg_error,msg_quantity_NaN)} 
	else {
		updateItemActionP(item_id, item_qty, "addMore");
	}		
}

function is_numeric( mixed_var ) 
{
    try{
    return /^\d+$/.test(mixed_var);
    }catch(err) {}
}