var frontEndBasket = {
	replaceBasket : function(id) {
		return function(e) {
			var text, rem_item = true, item_total_price;
			if (e.summary.amount > 0) {
				text = e.summary.price.actual + ' ' + e.summary.price.suffix + '.';
				
				for (var i in e.items.item) {

					var item = e.items.item[i];
					
					item_total_price = item["total-price"].actual + ' ' + item["total-price"].suffix + '.';
					item_price = item["price"].actual + ' ' + item["price"].suffix + '.';
					item_total_amount = item["amount"];	
					
					//alert('id = ' + jQuery('.cart_item_'+item.id).size());
					
					//alert('tpl = ' + jQuery('.cart_item_template').size());
					
					if (!jQuery('.cart_item_' + item.id).size() && jQuery('.cart_item_template').size()) {
						
						var template = jQuery('.cart_item_template');
						
						var result = template.clone(true).insertBefore(template);
						
						result.addClass('cart_item_' + item.id);
						
						result.removeClass('cart_item_template');
						
						result.find('.cart_item_name_template').html("<a href=\"" + item["page"]["link"] + "\">" + item.name + "</a>");
						
						result.find('.cart_item_price_template').addClass('cart_item_price_' + item.id).text(item_price);
						result.find('.cart_item_amount_template').addClass('cart_item_amount_' + item.id).text(item_total_amount);
						
						result.show();
						
						jQuery('.cart_summary_empty').hide();
						jQuery('.cart_summary_nonempty').show();
						
						//alert('have it');
						
					}
					
					jQuery('.cart_item_total_price_' + item.id).text(item_total_price);
					jQuery('.cart_item_amount_' + item.id).text(item_total_amount);
					
				}
				
				/*
				if (rem_item) {
					if (jQuery('.cart_item_' + id)) {
						jQuery('.cart_item_' + id).remove();
					}
				}
				*/

				jQuery('.cart_summary').text(text);
				jQuery('.cart_ammount').text(e.summary.amount);				
				
				text = e.summary.amount + ' шт товаров на сумму ' + text;
			}
			else {
				
				jQuery('.cart_summary_empty').show();
				jQuery('.cart_summary_nonempty').hide();
				
				text = '';
				if (jQuery('.basket_items')) {
					jQuery('.basket_items').text(text);
				}

				}
			
			jQuery('.basket_info_summary').text(text);
		};
	},
	add : function(id, form) {
		var e_name, options = {}, elements = jQuery(':radio:checked', form);
		for (var i = 0; i < elements.length; i++) {
			e_name = elements[i].name.replace(/^options\[/, '').replace(/\]$/, '');
			options[e_name] = elements[i].value;
		}
		
		if (jQuery('#shortbasket-dialog')) {
			jQuery('#shortbasket-dialog').show();
		}	
			
		jQuery(form).text("В корзине");
		
		basket.putElement(id, options, frontEndBasket.replaceBasket(id));
		
		
	},
	modify : function(id, amount_new, amount_old) {
		if (amount_new.replace(/[\d]+/) == 'undefined' && amount_new != amount_old) {
			basket.modifyItem(id, {amount:amount_new}, frontEndBasket.replaceBasket(id));
		}
	},
	remove : function(id) {
		basket.removeItem(id, frontEndBasket.replaceBasket(id));
		
		if (jQuery('.cart_item_' + id)) {
			jQuery('.cart_item_' + id).remove();
		}
	}
};