var frontEndBasket = {
	replaceBasket: function (id) {
		return function (e) {
			var text, rem_item = true, item_total_price;
			var add_basket_button_text = 'Добавить в корзину';
			var detect_options = {};
			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];
					if (item.id == id) {
						rem_item = false;
						item_total_price = item["total-price"].actual + '<span class="rub">a</span>';
					}
					if (item.page.id == id) {
						if (detect_options.amount) {
							detect_options.amount = detect_options.amount + item.amount;
						}
						else detect_options = {'id':id, 'amount':item.amount};
					}
				}
				if (detect_options.amount) {
					var add_basket_button = jQuery('#add_basket_' + detect_options.id);
					/*if (add_basket_button[0].tagName.toUpperCase() == 'A') {
						add_basket_button.text(add_basket_button_text + ' (' + detect_options.amount + ')');
					}
					else */ add_basket_button.val(add_basket_button_text + ' (' + detect_options.amount + ')');
				}
                text = e.summary.amount;
                sum = e.summary.price.actual;
				if (rem_item) {
					if (jQuery('.cart_item_' + id)) {
						jQuery('.cart_item_' + id).remove();
						jQuery('.cart_summary').html(text+' <span class="rub">a</span>');
					}
				}
				else {
					jQuery('.cart_item_price_' + id).html(item_total_price);
					jQuery('.cart_summary').html(sum+' <span class="rub">a</span>');
				}
                if (sum)
                {

                }
                else
                {
                  sum = 0;
                }
                var tovar = 'товар';
                if (text % 10 == 1)
                {
                  if (text == 11)
                  {
                    tovar = 'товаров';
                  }
                  else
                  {
                    tovar = 'товар';
                  }
                }
                else
                {
                    if (text % 10 == 2 || text % 10 == 3 || text % 10 == 4)
                    {
                      if (text == 12 || text == 13 || text == 14)
                      {
                        tovar = 'товаров';
                      }
                      else
                      {
                        tovar = 'товара';
                      }
                    }
                    else
                    {
                      tovar = 'товаров';
                    }

                    text2 = '<div class="com">В <a title="Корзина" href="/emarket/cart/">корзине</a>:<span> '+text+' '+tovar+'</span><br /><span>на сумму '+sum+'<span class="rub">a</span></span></div>';

                    if (jQuery('div.header div.basket'))
                    {
    					jQuery('div.header div.basket').html(text2);
    			    }
                }
            }
			else {
				text2 = '<div class="com">В <a title="Корзина" href="/emarket/cart/">корзине</a>: нет ни одного товара</div>';
				jQuery('div.header div.basket').html(text2);
                location.reload();
			}

			jQuery('.basket_info_summary').html(text);
		};
	},
	add: function (id, position) {
		var e_name;
		/*if (form) {
			var 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;
			}
		}*/
		basket.putElement(id, position, frontEndBasket.replaceBasket(id));
		/*if (popup) jQuery('#add_options').remove();*/
	},
    addrec: function (id, position) {
		var e_name;
		/*if (form) {
			var 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;
			}
		}*/
		basket.putElementrec(id, position, frontEndBasket.replaceBasket(id));
		/*if (popup) jQuery('#add_options').remove();*/
	},
    addcomp: function (id, position) {
		var e_name;
		/*if (form) {
			var 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;
			}
		}*/
		basket.putElementcomp(id, position, frontEndBasket.replaceBasket(id));
		/*if (popup) jQuery('#add_options').remove();*/
	},
    addobjview: function (id, position) {
		var e_name;
		/*if (form) {
			var 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;
			}
		}*/
		basket.putElementobjview(id, position, frontEndBasket.replaceBasket(id));
		/*if (popup) jQuery('#add_options').remove();*/
	},
	addFromList: function (id, position) {
	    frontEndBasket.add(id, position);
	},
    addFromListrec: function (id, position) {
	    frontEndBasket.addrec(id, position);
	},
    addFromListcomp: function (id, position) {
	    frontEndBasket.addcomp(id, position);
	},
    addFromListobjview: function (id, position) {
	    frontEndBasket.addobjview(id, position);
	},
	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));
		}
	},
    repeat: function (id) {
	    basket.repeatorder(id);
        frontEndBasket.replaceBasket(id);
	},
	remove: function (id, position) {
		basket.removeItem(id, position, frontEndBasket.replaceBasket(id));
	}
};
