/*
 * Quick cart section
*/

var Quick_Cart = {};
Quick_Cart.quick_cart_container = 'popup_cart'; 

Quick_Cart.popup = function(attributes_cart)
{
	var cart_obj = $(Quick_Cart.quick_cart_container);
	$(Quick_Cart.quick_cart_container).style.display = 'block';
	DOM.center($(Quick_Cart.quick_cart_container),null,-40,-100)

	if(Interface.timeout_id != null)
	{
		clearTimeout(Interface.timeout_id);
	}
	
	Interface.timeout_id = setTimeout('Quick_Cart.close()',5000);
}

Quick_Cart.close = function()
{
	if($(Quick_Cart.quick_cart_container))
	{
		$(Quick_Cart.quick_cart_container).style.display = 'none';
	}
}

Quick_Cart.adjust_cart = function(product_id,cart_nb,is_relative,callback)
{
	var req = new AJAX.Request
	(
		Request.get('basepath') + CURRENT_LANG + '/basket/api_adjust_cart/', 
		{
			method : 'POST',
			json : true,
			parameters: 
			[
				'product_id=' 		+ product_id,
				'quantity=' 		+ cart_nb,
				'relative=' 		+ is_relative,
				'callback=' 		+ callback
			],
			onComplete : function(response)
			{
				Quick_Cart.responseJSON = response.responseJSON;
				
				if(Quick_Cart.responseJSON.error_status != false)
				{	
					Interface.alert_pop(Quick_Cart.responseJSON.error_status_msg);	
				}
					
				if(callback == 'quick_cart')
				{
					Quick_Cart._adjust_quickcart();					
				}
				else
				{
					Basket.adjust_cart(Quick_Cart.responseJSON);						
				}												
			}
		}
	);			
}

Quick_Cart._adjust_quickcart = function()
{	
	if(Quick_Cart.responseJSON.error_status == 0)
	{
		/* Popup section
		*/
		$('quick_cart_nb_items').innerHTML 		= Quick_Cart.responseJSON.quick_cart_nb_items;
		$('quick_cart_items').innerHTML 		= Quick_Cart.responseJSON.quick_cart_items;
		$('quick_cart_total_amount_product_without_taxes_formatted').innerHTML = Quick_Cart.responseJSON.quick_cart_total_amount_product_without_taxes_formatted;
		
		/* Shipping fees */
		$('shipping_amount').style.display 	= 'none';						
		$('shipping_free').style.display 	= 'none';						
		
		if(typeof Quick_Cart.responseJSON.shipping_for_free != 'undefined')
		{
			if(Quick_Cart.responseJSON.shipping_for_free > 0)
			{
				$('shipping_amount').style.display 		= 'block';					
				$('shipping_amount_format').innerHTML 	= Quick_Cart.responseJSON.shipping_for_free_formatted;					
			}
			else
			{
				$('shipping_free').style.display = 'block';						
			}			
		}
		/* */
				
		Quick_Cart.popup();
	}

	/* Top section
	*/
	if(parseInt(Quick_Cart.responseJSON.quick_cart_nb_items) == 0)
	{
		var display_div = 'none';	
	}
	else
	{
		var display_div = 'block';	
	}
	
	$('quickcart_container').style.display 	= display_div;
	$('quick_cart_top_nb_items').innerHTML 	= Quick_Cart.responseJSON.quick_cart_nb_items;
	$('quick_cart_top_items').innerHTML 	= Quick_Cart.responseJSON.quick_cart_items;
}

Quick_Cart._empty_cart = function()
{
	/* There is no item */	
	Quick_Cart.close();
	$('quickcart_container').style.display = 'none';
}

Quick_Cart.quantity = function(product_id,action,callback)
{
	if(callback == 'quick_cart')
	{
		var current_value = parseInt($('quickcart_quantity_' + product_id).value);
	}
	else
	{
		Quick_Cart.input_in_process = $(Product.cart_nb + '_' + product_id);
		var current_value 			= parseInt(Quick_Cart.input_in_process.value);
	}
	
	switch(action)
	{
		case '+' :
		{
			current_value++;	
			break;
		}
		case '-' :
		{
			current_value--;	
			break;
		}
		case 'empty' :
		{
			current_value = 0;	
			break;
		}				
	}
	
	Quick_Cart.adjust_cart(product_id,current_value,false,callback);
}

Quick_Cart.empty_cart = function()
{
	var req = new AJAX.Request
	(
		Request.get('basepath') + CURRENT_LANG + '/basket/api_empty_cart/', 
		{
			method : 'POST',
			json : true,
			parameters: 
			[
			],
			onComplete : function(response)
			{
				Quick_Cart.responseJSON = response.responseJSON;
				Quick_Cart._empty_cart();
			}
		}
	);			
}
