// заглушка для общей функции по добавлению товара в корзину

var addToCart = $empty();
var removeFromCart = $empty();

window.addEvent('domready', function(){
	var cart_content = $$('#my-cart ul')[0];
	var total_price_container = $$('#my-cart .total')[0];
	var make_order_link = $$('.make-order')[0];
	var cart_description = $('cart');
	
	// при наведении на товар появляется ссылочка на удаление
	(function(){
		var cart_lis = $$('#my-cart ul.cart-content li');
		$each(cart_lis, function(li){
			var del_img = li.getFirst().getLast();
			li.addEvents({
				mouseenter: function(){
					del_img.show();
				},
				mouseleave: function(){
					del_img.hide();
				}
			})
		});
	})();
	
    // удаление из корзины
    var good_lis = $$('.cart-content a.del');
    good_lis.addEvent('click', function(e){
        new Event(e).stop();
        var li = this.getParent('li')
        li.setOpacity(.5);
        if(confirm('Вы действительно хотите удалить этот товар из корзины?')) {
            removeFromCart(this.get('href'), li);
        } else {
            li.setOpacity(1);
        }
    });
	
	function getPriceFromElement(element) {
		if(!element) return 0;
		var text = element.get('text');
		if(text.trim().length) {
			return text.match(/[\d\s\,]+/)[0].replace(/\s+/g, '').replace(/\,/, '.').toFloat();
		} else {
			return 0;
		}
	}

	addToCart = function(id, qty) {
		if(arguments.length > 2) {
			try{
				var el = $(arguments[2]);
			}catch(e){
			}
		}
		var request = new Request({
			url: '/cart/add/?json=true',
			onRequest: function() {
			    el.set('html', 'Добавляем&hellip;');
			},
			onSuccess: function(response){
				response = JSON.decode(response);
				
				if(response.success) {
				
					if(cart_description) {
						var total = response.data.total.toFloat();
						var total_qty = response.data.total_qty.toInt();
						cart_description.getFirst().getNext().set('html', 'Вы набрали ' + total_qty + ' ' + 'товар'.decline(total_qty, 'ов', 'ов', '', 'ов', 'а') + '<br />на сумму <b>' + total.formatMoney(0, '', ' ') + ' руб.</b>');
						cart_description.highlight();
					}
					
					var total_price = getPriceFromElement(total_price_container);
					total_price += (response.data.price * response.data.qty);
					if(total_price_container) {
						total_price_container.set('html', 'Итого:<br />' + total_price.formatMoney(0, '', ' ') + ' руб.').show().highlight();
					}
					if(make_order_link){
						make_order_link.show();
					}
					try{
						el.set('text', 'Добавлено').highlight();
						(function(){
							el.set('text', 'В корзину');
						}).delay(2000);
					}catch(e){
					}
				} else {
					alert(response.message);
				}
			}
		});
		request.send('item_id=' + id + '&qty=' + qty);
	}
	
	removeFromCart = function(id, element){
		var request = new Request({
			url: '/cart/remove/?json=true',
			onSuccess: function(response){
			
				response = JSON.decode(response);
				if(response.success) {
					var price = getPriceFromElement(element.getElement('b'));
					var total_price = getPriceFromElement(total_price_container);
					total_price -= price;
					if(total_price) {
						total_price_container.set('html', 'Итого:<br />' + total_price.formatMoney(0, '', ' ') + ' руб.').highlight();
					} else {
						total_price_container.set('html', '').hide();
						make_order_link.hide();
					}
					element.destroy();
				} else {
					element.setOpacity(1);
					alert(response.message);
				}
			}
		});
		
		request.send('item_id=' + id);
	}
	
	// тенька
	var overlay = $('form-overlay');
	
});
/*document
		.addEvent(
				'domready',
				function() {
					$$('a.order').addEvent(
							'click',
							function() {
								var r = new Request.JSON({
									url : this.href,
									onSuccess : function(jsonData) {
										$('cart-items-count').set(
												'text',
												'наименований: '
														+ jsonData.count);
										alert('Товар добавлен в корзину.');

									}
								}).get();
								return false;
							});
					$$('input.cart-count').addEvents({
						'keydown' : justNumber
					// 'keyup': function(e) {
					// this.value = Number(this.value);
					// $(this.id.replace('count', 'tprice')).set('text',
					// $(this.id.replace('count', 'price')).value*this.value);
					// }
					});
					var cart_content = $$('#my-cart ul')[0];
					var total_price_container = $$('#my-cart .total')[0];
					var make_order_link = $$('.make-order')[0];
					var cart_description = $('cart');

					//        
					(function() {
						var cart_lis = $$('#my-cart ul.cart-content li');
						$each(cart_lis, function(li) {
							var del_img = li.getFirst().getLast();
							li.addEvents({
								mouseenter : function() {
									del_img.show();
								},
								mouseleave : function() {
									del_img.hide();
								}
							})
						});
					})();

					//   
					var good_lis = $$('.cart-content a.del');
					good_lis.addEvent('click', function(e) {
						new Event(e).stop();
						var li = this.getParent('li')
						li.setOpacity(.5);
						if (confirm('       ?')) {
							removeFromCart(this.get('href'), li);
						} else {
							li.setOpacity(1);
						}
					});

					function getPriceFromElement(element) {
						if (!element)
							return 0;
						var text = element.get('text');
						if (text.trim().length) {
							return text.match(/[\d\s\,]+/)[0].replace(/\s+/g,
									'').replace(/\,/, '.').toFloat();
						} else {
							return 0;
						}
					}

					addToCart = function(id, qty) {
						if (arguments.length > 2) {
							try {
								var el = $(arguments[2]);
							} catch (e) {
							}
						}
						var request = new Request(
								{
									url : '/cart/add/?json=true',
									onRequest : function() {
										el.set('html', '&hellip;');
									},
									onSuccess : function(response) {
										response = JSON.decode(response);

										if (response.success) {

											if (cart_description) {
												var total = response.data.total
														.toFloat();
												var total_qty = response.data.total_qty
														.toInt();
												cart_description
														.getFirst()
														.set(
																'html',
																'  '
																		+ total_qty
																		+ ' '
																		+ ''
																				.decline(
																						total_qty,
																						'',
																						'',
																						'',
																						'',
																						'')
																		+ '<br />  <b>'
																		+ total
																				.formatMoney(
																						0,
																						'',
																						' ')
																		+ ' .</b>');
											}

											var total_price = getPriceFromElement(total_price_container);
											total_price += (response.data.price * response.data.qty);
											if (total_price_container) {
												total_price_container
														.set(
																'html',
																':<br />'
																		+ total_price
																				.formatMoney(
																						0,
																						'',
																						' ')
																		+ ' .')
														.show().highlight();
											}
											if (make_order_link) {
												make_order_link.show();
											}
											try {
												el.set('text', '').highlight();
												(function() {
													el.set('text', '');
												}).delay(2000);
											} catch (e) {
											}
										} else {
											alert(response.message);
										}
									}
								});
						request.send('item_id=' + id + '&qty=' + qty);
					}

					removeFromCart = function(id, element) {
						var request = new Request(
								{
									url : '/cart/remove/?json=true',
									onSuccess : function(response) {

										response = JSON.decode(response);
										if (response.success) {
											var price = getPriceFromElement(element
													.getElement('b'));
											var total_price = getPriceFromElement(total_price_container);
											total_price -= price;
											if (total_price) {
												total_price_container
														.set(
																'html',
																':<br />'
																		+ total_price
																				.formatMoney(
																						0,
																						'',
																						' ')
																		+ ' .')
														.highlight();
											} else {
												total_price_container.set(
														'html', '').hide();
												make_order_link.hide();
											}
											element.destroy();
										} else {
											element.setOpacity(1);
											alert(response.message);
										}
									}
								});

						request.send('item_id=' + id);
					}
				});*/
