function addToBasket(ID, quantity, show_optional) {
	jQuery('#loading_' + ID).html('<img src="/img/catalog/loading.gif" style="margin-bottom:-2px;" alt="" />');
	jQuery.ajax({
		type: "GET",
		url: "/catalog/addtobasket.php",
		data: "ID=" + ID + "&quantity=" + quantity,
		success: function(response){
			jQuery('#loading_' + ID).empty();
			if (response.match(/#success#/)) {
				jQuery('#addtobasket_' + ID).html(response.replace(/#success#/, ''));
				jQuery('#booking_' + ID).html('<a href="/catalog/basket.php"><img src="/img/catalog/booking.png" style="margin:0;" alt="" /></a>');
			} else {
				jQuery('#addtobasket_' + ID).html(response);
			}
			getBasket();
			if(show_optional != false){
				jQuery.ajax({
					type: "GET",
					url: "/catalog/getoptional.php",
					data: "ID=" + ID,
					success: function(response){
						if (!response.match(/#empty#/)){
							var data=response.match(/^#name:#.*#:name#/gi);
							if(data){
								var name = data[0];
								name=name.replace(/#name:#/gi, '');
								name=name.replace(/#:name#/gi, '');
								response = response.replace(data[0], '');
								jQuery('#optionallayer .element_name').html(name);
							}
							jQuery('#optionallayer .message').html(response);
							jQuery('#optionallayer').modal({
								closeHTML: '<a href="#" title="Закрыть" class="modal-close"><img src="/js/css/images/close.png" alt="" title="Закрыть" style="border:0;"/></a>',
								position: ["30%",],
								overlayId: 'simplemodal-overlay',
								containerId: 'optionallayer-container',
								onShow: function (dialog) {
									var modal = this;
									jQuery('#optionallayer .optional_link').live("click", function () {
										location.href = jQuery(this).attr("href");
										jQuery('#optionallayer .message').html('<p align="center"><img src="/js/images/loading.gif" align="middle" alt="" /></p>');
									});
								}					
							});							
						}
					}
				});
			}		
		}
	});
	return false;	
}

function getBasket() {
	jQuery.ajax({
		type: "GET",
		url: "/catalog/makeBasket.php",
		success: function(response){
			jQuery('#basket-link').html(response);
		}
	});
	return false;	
}

function deleteItem(itemID) {
	var itemName = jQuery('#itemname_' + itemID).html();
	if (confirm("Удалить «" + itemName + "» из корзины?")) {
		jQuery.ajax({
			type: "GET",
			url: "/catalog/updateBasket.php",
			data: "ID=" + itemID + "&delete=true",
			success: function(response){
				var data=response.match(/^#allweight#.*#allweight#/gi);
				if(data){
					var weightSum = data[0];
					weightSum = weightSum.replace(/#allweight#/gi, '');
					response = response.replace(data[0], '');
					jQuery('#allWeightHidden').attr('value', weightSum);
				}				
				var data=response.match(/^#allsum#.*#allsum#/gi);
				if(data){
					var allSum = data[0];
					allSum = allSum.replace(/#allsum#/gi, '');
					response = response.replace(data[0], '');					
					jQuery('#allSumHidden').attr('value', allSum);
				}						
				jQuery('#allSum').html(response);
				itogoCalculate();
				getBasket();	
			}
		});	
		jQuery('#item_' + itemID).empty();
	}
	return false;	
}

function itogoCalculate() {
	/* условие по весу товаров
	if (jQuery('#allWeightHidden').val()>90 && jQuery('#dtype').val()>0){
		jQuery('#delcost').hide();
		jQuery('#weightNotice').show();
		var itogo = Number(jQuery('#allSumHidden').val());
	} else {
		jQuery('#weightNotice').hide();
		jQuery('#delcost').show();
		var itogo = Number(jQuery('#allSumHidden').val()) + Number(jQuery('#dcostHidden').val());	
	}
	*/
	var typeID = jQuery('#dtype option:selected').attr('id').replace('D', '');
	var km = jQuery('#km' + typeID).val();
	var amount = jQuery('#allSumHidden').val();
	jQuery.ajax({
		type: "GET",
		url: "/catalog/getdeliverycost.php",
		data: "ID=" + typeID + "&km=" + km + "&amount=" + amount,
		success: function(responseText){
			var data=responseText.match(/^#DELIVERY_COST#.*#DELIVERY_COST#/gi);
			if (data){
				var dcostHidden = data[0];
				dcostHidden = dcostHidden.replace(/#DELIVERY_COST#/gi, '');
				responseText = responseText.replace(data[0], '');
				jQuery('#dcostHidden').attr('value', dcostHidden);
			} else {
				jQuery('#dcostHidden').attr('value', 0);
			}
			var itogo = Number(jQuery('#allSumHidden').val()) + Number(jQuery('#dcostHidden').val());
			jQuery('#itogoHidden').attr('value', itogo);
			var dcost = Number(jQuery('#dcostHidden').val());
			dcost = number_format(dcost, 0, 0, ' ');
			jQuery('#dcost').html(dcost + '-');
			itogo = number_format(itogo, 0, 0, ' ');
			jQuery('#itogo').html(itogo + '-');
			jQuery('#weight').html(jQuery('#allWeightHidden').val() + ' кг');
		}
	});		
	return false;	
}

function number_format(number, decimals, dec_point, thousands_sep){
	var exponent = "";
	var numberstr = number.toString ();
	var eindex = numberstr.indexOf ("e");
	var i, z;
	if(eindex > -1){
		exponent = numberstr.substring (eindex);
		number = parseFloat (numberstr.substring (0, eindex));
	}
	
	if(decimals != null){
		var temp = Math.pow (10, decimals);
		number = Math.round (number * temp) / temp;
	}
	var sign = number < 0 ? "-" : "";
	var integer = (number > 0 ? 
		Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
	
	var fractional = number.toString ().substring (integer.length + sign.length);
	dec_point = dec_point != null ? dec_point : ".";
	fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
	if(decimals != null && decimals > 0){
		for(i = fractional.length - 1, z = decimals; i < z; ++i)
			fractional += "0";
	}
	
	thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
		thousands_sep : null;
	if(thousands_sep != null && thousands_sep != ""){
		for (i = integer.length - 3; i > 0; i -= 3)
			integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	}
	return sign + integer + fractional + exponent;
}



