var ShoppingCart = {
		
	total_products: 0,
	total_points: 0,
	
	Initialize: function(total_products, total_points) 
	{
		this.total_products = total_products;
		this.total_points = total_points;
		
		this.UpdateShoppingBox();
	},
	
	RefreshCart: function(total_products, total_points)
	{
		this.Initialize(total_products, total_points);
	},
	
	SetTotalProducts: function(total_products)
	{
		this.total_products = total_products;
		
		this.UpdateShoppingBox();
	},
	
	SetTotalPoints: function(total_points)
	{
		this.total_points = total_points;
		
		this.UpdateShoppingBox();
	},
	
	UpdateShoppingBox: function()
	{
		$('#cart_products').html(String(this.total_products));
		$('#cart_points').html(String(this.total_points));
	},
	
	UpdateShoppingCartTotal: function()
	{
		$('#total_cart_points').html(String(this.total_points));
	},
	
	DeselectPackages: function()
	{
		this.total_points = 0;
		
		$('.package_check').attr('checked', false);
		ajaxRPC.call('/cart/clear_all_packages');
	},
	
	ClearCart: function()
	{
		this.total_products = 0;
		this.total_points = 0;
		
		ajaxRPC.call('cart/empty_cart');
	},
	
	AddModel: function(model_id)
	{
		this.AddModel2(model_id, false);
	},
	
	AddModel2: function(model_id, points_none)
	{
		$('#cadd_photo').attr('src', $('.smallPhoto_'+model_id).attr('src'));
		
		if (points_none)
		{
			$('#cadd_price').text('0');
		}
		else
		{
			$('#cadd_price').text($('.sum_'+model_id).text());
		}
		
		$('.cart-model-added').slideDown(function() {
			$().bind('click', function() 
				{
					$('.cart-model-added').slideUp
					(
						function() {  $().unbind('click'); }
					);
				}
			);
		});
		
		$('#inDownload_'+model_id).show();
		$('#pdownloadremove_'+model_id).show();
		$('#pdownload_'+model_id).hide();
		
		ajaxRPC.call('/cart/addtocart/' + model_id);
	},
	
	RemoveModel: function(model_id) 
	{
		$('.inDownload_'+model_id).hide();
		$('#pdownloadremove_'+model_id).hide();
		$('#pdownload_'+model_id).show();
		
		ajaxRPC.call('cart/remove_model/' + model_id);
	},
	
	SelectCartPackages: function(group_id, model_id) 
	{
		// disable checkbox for ajax action
		$('.package_check').attr('disabled', true);
		
		// fill form and submit ajax request
		document.packages.checkout.value = 0;
		document.packages.group_id.value = group_id;
		document.packages.model_id.value = model_id;
		
		ajaxRPC.validate('packages');
	},
	
	AfterSelectCartPackages: function(total_points)
	{
		// enable checkboxes
		$('.package_check').attr('disabled', false);
		
		// reset form fields
		document.packages.checkout.value = 0;
		document.packages.group_id.value = 0;
		document.packages.model_id.value = 0;
		
		// update totals
		//this.total_points = total_points;
		//this.UpdateShoppingBox();
		//this.UpdateShoppingCartTotal();
	},

	StopRemoveCartPackages: function(model_id, group_id)
	{
		
		checkId = 'pkg_'+model_id+'_'+group_id;
		$('#'+checkId)[0].checked=true;	
		// enable checkboxes
		$('.package_check').attr('disabled', false);

		// reset form fields
		document.packages.checkout.value = 0;
		document.packages.group_id.value = 0;
		document.packages.model_id.value = 0;
	},

	Checkout: function()
	{
		//
	}
}