$(document).ready(function(){
    $("#basketContainer").html('<img src="' + BASE_URL + 'app/public/images/loading.gif" alt="" class="progress" align="center" />');
    $("#basketContainer").load('products/basket/block');
});

var container;
var containerDone;

var Class_Basket = function(){
}

Class_Basket.prototype = {
    
    updateTotalPrices:function()
    {
    	$.getJSON('products/basket/getprices', function(data){
        	$(".result-price").html(data['price']);
            $(".result-pricecc").html(data['price_cc']);
            $(".result-totalprice").html(data['price_total']);
            $(".result-pricedelivery").html(data['price_delivery']);
            $(".result-payprice").html(data['price_pay']);
            $(".result-discountprice").html(data['price_discount']);
            
            if (data['can_buy'])
                $(".action-pay").show();
            else
                $(".action-pay").hide();
        });
    },
    
    saveDiscount: function()
    {
        var discount = $("input[name='discount']").val();
        var td = $(".discount");
        var originalHtml = td.html();
        
        td.append('<img src="' + BASE_URL + 'app/public/images/loading.gif" alt="" class="progress" align="center" />');
        
        $.post('products/basket/savediscount', {discount: discount}, function(response){
            
            td.find("img").remove();
            
            if (response == 'ok')
            {
                Basket.updateTotalPrices();
            }
            else
            {
                alert(response);
            }
        });
        
    },
    
    errorAdd:function()
    {
        this.progressHide();
        
        $("#basket_error_add").slideDown("fast");
        setTimeout('$("#basket_error_add").hide("fast")', 3000);
    },
    
    errorMaxQty:function()
    {
        this.progressHide();
        
        $("#basket_error_max_quantity").slideDown("fast");
        setTimeout('$("#basket_error_max_quantity").hide("fast")', 3000);
    },
    
    noticeAdded:function()
    {
        this.progressHide();
        
        $("#basket_added").slideDown("fast");
        setTimeout('$("#basket_added").hide("fast")', 3000);
    },
    
    progressShow:function()
    {
        $("#basket_progress").show("fast");
    },
    
    progressHide:function()
    {
        $("#basket_progress").hide("fast");
    },
    
    updateQties: function(fields)
    {
        //$(document).ajaxStart($.blockUI({message: '<div style="padding: 20px;"><img src="' + BASE_URL + 'app/public/images/loading.gif" alt="" /></div>'})).ajaxStop($.unblockUI);
    
        $.each(fields, function(i, field){
            field = $(field);
            field.parents("td").find(".progress").remove();
            field.parents("td").append('<img src="' + BASE_URL + 'app/public/images/loading.gif" alt="" class="progress" align="center" />');
            $(".qty_error").remove();
            
            $.post('products/basket/add/', { qty: field.val(), id: field.attr('name')}, function(data){
                field.parents("td").find(".progress").remove();

                if (data.error != "")
                {
                    field.parents("tr").find("td:first").append('<strong style="color: red;" class="qty_error qty_error_' + field.attr('name') +'"> Nepakankamas likutis!</strong>');
                }
                else
                {

                    $(".credits_" + field.attr('name')).html(data.price_cc);
                    $(".price_" + field.attr('name')).html(data.price);
                    //$(".result-totalprice").html(data.price_cc);
                    //$(".result-totalpricecc").html(data.price);
                }
                
                $("#basketContainer").load('products/basket/block');
                Basket.updateTotalPrices();
                
            }, "json");

        });
    },
    
	add:function(id, qty, qty_exists)
	{
    	var thisObj = this;
        $(".basket_error").hide();
        thisObj.progressShow();
        
        qty = parseInt(qty);
        qty_exists = parseInt(qty_exists);
        
        if (qty < 1) // || qty_exists < qty)
        {
            this.errorMaxQty();
        }
        else
        {
            $.post('products/basket/add/', { qty: qty, id: id}, function(data){
                data = data.error;
                var exp = data.split('_');
                if (exp[0] == 'error')
                {
                    if (exp[1] == 'qty' || exp[1] == 'stock')
                    thisObj.errorMaxQty();
                    else
                    thisObj.errorAdd();
                }
                else
                {
                    $("#basketContainer").html('<img src="' + BASE_URL + 'app/public/images/loading.gif" alt="" class="progress" align="center" />');
                    $("#basketContainer").load('products/basket/block');
                    thisObj.noticeAdded();
                }
            }, "json");
        }
	},
	
	remove: function(id, rowObj)
	{
        $.get("products/basket/ajaxdelete/" + id, function(data){
            rowObj.parents("tr").remove();
            
            if (data == 'empty')
            {
            	window.location = window.location;
            }
            
            $("#basketContainer").load('products/basket/block');
            Basket.updateTotalPrices();
        });
	}
}

var Basket = new Class_Basket();