var frontEndBasket = {
	replaceBasket: function (item) {
		return function (e) { 
		  
      var obj = {};  
			for(i in e.items.item){ 
		      if(item.attr('name') == e.items.item[i].page.id){
            obj = e.items.item[i];
          }
      }
      if(item.parent().attr('class')!='product-details'){
        document.location='/cart';
        var id = $('.block-cart').find('a[href=' + item.parent().find('h4 a').attr('href') + ']').attr('id');
        if(id){
          $('#citm_' + id + '_count').text(obj.amount);
          $('#citm_' + id + '_price').text('  ' + (obj.price.actual) + ' руб');
        }else{  
          var new_item = '<li class="item first even" id="basketrow_' + obj.id + '" name="basketrow_' + obj.id + '">';
          if(item.parent().find('.product-image img').attr('src')){
             img = item.parent().find('.product-image img').attr('src');
          }else{
             img = item.parent().parent().parent().parent().find('img').attr('src');
          }
          new_item +=    '<a class="product-image"><img height="72" width="72" src="' + img + '"></a>';
          new_item +=    '<div class="product-details">';
          new_item +=    '<a onclick="frontEndBasket.remove(' + obj.id + ', $(this)); return false;" id="citm_' + obj.id + '_remove" name="citm_' + obj.id + '_remove" class="btn-remove" href="/emarket/basket/remove/item/' + e.id + '/"><img src="/images/list_remove_btn.gif" alt="Удалить товар" title="Удалить товар"></a>';
          new_item +=    '<h4><a id="' + obj.id + '" name="citm_' + obj.id + '_path" href="' + obj.page.link + '"><span id="citm_' + obj.id + '_name" name="citm_' + obj.id + '_name">' + obj.page.name + '</span></a></h4>';
          new_item +=    '<span id="citm_' + obj.id + '_count" name="citm_' + obj.id + '_count">' + obj.amount+ '</span> x <span id="citm_' + obj.id + '_price" name="citm_' + obj.id + '_price" class="price">&nbsp;' + obj.price.actual + '&nbsp;руб</span>';                    
          new_item +=    '</div>';
          new_item +=    '</li>';
          $('#cart-sidebar').append(new_item);
        }
      }else{
         item.parent().parent().remove();
      }
      if(e.summary.amount) {
        $('#total_count').text(e.summary.amount);
        $('#order_total').text('  ' +e.summary.price.actual + ' Руб');
        $('#cart-no-items').remove();
        $('#order_btn').show();
      } else{
        $('#order_btn').hide();
        $('#total_count').text('0');
        $('#order_total').text('  0 Руб');
        $('#rubricator').html('<div class="block" id="rubricator">'
                +  '<ol id="cart-sidebar" class="mini-products-list">'
                +	 '<div id="cart-no-items">'
                +	 '<span class="no-items">Нет товаров</span> '
                +	 '</div>'
                +  '</ol>' 
                +  '</div>');
      }
		};
	},
	add: function (id, quant, item) {
	var obj = {};
	  if(quant){
      obj = {amount: quant}
    }
	  if(jQuery('#o_color').val().length>0){
	  obj['color2'] = jQuery('#o_color').val();
    }
	  basket.putElement(id, obj, frontEndBasket.replaceBasket(item));
	 
	},
	add2: function (id, quant, color, item) {
	var obj = {};
	  if(quant){
      obj = {amount: quant}
    }
	  if(color){
	  obj['color2'] = color;
    }
	  basket.putElement(id, obj, frontEndBasket.replaceBasket(item));
	 
	},
	addFromList: function (id, is_options) {
		if (is_options) {
			if (jQuery('#add_options').length == 0) {
				jQuery.ajax({
					url: '/upage//' + id + '?transform=modules/catalog/popup-add-options.xsl',
					dataType: 'html',
					success: function (data) {
						frontPopup({
							id: 'add_options',
							header: 'Выбор опций',
							width: '400px',
							content: data
						});
					}
				});
			}
		}
		else {
			frontEndBasket.add(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, item) {
		basket.removeItem(id, frontEndBasket.replaceBasket(item));
	}
};
