var flyingSpeed = 25;
var url_addProductToBasket = 'addProduct.php';
var url_removeProductFromBasket = 'removeProduct.php';
var lang = readCookie("lang_c");

var shopping_cart_div = false;
var flyingDiv = false;
var currentProductDiv = false;
var shopping_cart_x = false;
var shopping_cart_y = false;
var slide_xFactor = false;
var slide_yFactor = false;
var diffX = false;
var diffY = false;
var currentXPos = false;
var currentYPos = false;
var ajaxObjects = new Array();


var $j = jQuery.noConflict();



function shoppingCart_getTopPos(inputObj)
{
	var returnValue = inputObj.offsetTop;
	while((inputObj = inputObj.offsetParent) != null){
		if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
	}
	return returnValue;
}

function shoppingCart_getLeftPos(inputObj)
{
	var returnValue = inputObj.offsetLeft;
	while((inputObj = inputObj.offsetParent) != null){
		if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
	}
	return returnValue;
}


function addToBasket(productId)
{
	//AGGIORNA IL BOTTONE AGGIUNGI PRODOTTO
	var currentProductDiv = document.getElementById('Prod' + productId);
	currentProductDiv.firstChild.setAttribute('value', txt_prodAggiunto);
	ajaxAddProduct(productId);
}


function addToBasketPlus(productId)
{
	var currentProductDiv = document.getElementById('Prod' + productId);
	var currentProductQ = document.getElementById('ProdQ' + productId);
	var qq = currentProductQ.value;
	if((parseFloat(qq) == parseInt(qq)) && !isNaN(parseInt(qq))){
		aggiungi_n_prodottiplus(productId,qq);
	}else{
		alert(txt_invalidnumber)
	}
}



function showAjaxBasketContent(response)
{
	var itemBox = document.getElementById('shopping_cart_items');
	var productItems = response.split('|||');
	currentProductDiv = document.getElementById('Prod' + productItems[0]);
	if (productItems[0]=="ERROR"){
		var iddd = $j('#shopping_cart_items_product' + productItems[4]);

		if(iddd.length){
			var qpresente = parseFloat(productItems[6]);
			var qdispo = productItems[3]-qpresente;
		}else{
			var qpresente = 0;
			var qdispo = productItems[3];
		}


		if(qdispo<1){
			alert(txt_nodispo);
		}else{
			if (confirm(txt_quantitamax+qdispo+txt_quantitamax2)){aggiungi_n_prodottiplus(productItems[4],productItems[3]-qpresente)};
		}
	}else{
		if(document.getElementById('shopping_cart_items_product' + productItems[0])){
			var row = document.getElementById('shopping_cart_items_product' + productItems[0]);
			row.cells[1].innerHTML = productItems[4];
			if (productItems[3]==productItems[2]){
				row.cells[2].innerHTML = ""+productItems[2]+" €";
				}else{row.cells[2].innerHTML = ""+productItems[2]+" € <div id='TextOldPrice'>"+productItems[3]+" €</div>";}
				row.cells[2].setAttribute('id', productItems[2]);
			}else{
				if(!shopping_cart_div)shopping_cart_div = document.getElementById('shopping_cart');
				shopping_cart_div.style.Height = (shopping_cart_div.offsetHeight + 20) + "px";
				var tr = itemBox.insertRow(-1);
				tr.id = 'shopping_cart_items_product' + productItems[0]
				var td = tr.insertCell(-1);
				td.setAttribute('class', 'SpanCarrello');
				td.innerHTML = productItems[1];
				var td = tr.insertCell(-1);
				td.innerHTML = productItems[4]; 	// Quantita
				td.setAttribute('class', 'SpanCarrello2');
				var td = tr.insertCell(-1);
				td.setAttribute('class', 'SpanCarrello3');
				td.id =productItems[2];
				if (productItems[3]==productItems[2]){
					td.innerHTML = ""+productItems[2]+" €";
				}else{
					td.innerHTML = ""+productItems[2]+" € <div id='TextOldPrice'>"+productItems[3]+" €</div>";
				}
				var td = tr.insertCell(-1);
				var a = document.createElement('A');
				td.appendChild(a);
				a.href = 'javascript:void(0)';
				a.onclick = function(){ ajaxAddProduct2(productItems[0]); };
				var img = document.createElement('IMG');
				img.src = 'al_img/plus.gif';
				img.setAttribute('border','0')
				a.appendChild(img);
				var td = tr.insertCell(-1);
				var a = document.createElement('A');
				td.appendChild(a);
				a.href = 'javascript:void(0)';
				a.onclick = function(){ removeProductFromBasket(productItems[0]); };
				var img = document.createElement('IMG');
				img.src = 'al_img/minus.gif';
				img.setAttribute('border','0')
				a.appendChild(img);
			}
			var currentProductQ = document.getElementById('ProdQ' + productItems[0]);
			var qq = currentProductQ.value = '';
			updateTotalPrice(productItems[0]);
		}

	}



	function showAjaxBasketContent2(ajaxIndex)
	{
		var itemBox = document.getElementById('shopping_cart_items');
		var productItems = ajaxObjects[ajaxIndex].response.split('|||');	// Breaking response from Ajax into tokens
		if (productItems[0]=="ERROR"){
			alert("quantita terminata");
		}else{
			var row = document.getElementById('shopping_cart_items_product' + productItems[0]);
			var items = row.cells[1].innerHTML /1;
			items = productItems[4];
			row.cells[1].innerHTML = items;
			if (productItems[3]==productItems[2]){
				row.cells[2].innerHTML = ""+productItems[2]+" €";
			}else{
				row.cells[2].innerHTML = ""+productItems[2]+" € <div id='TextOldPrice'>"+productItems[3]+" €</div>";
			}
			row.cells[2].setAttribute('id', productItems[2]);
			updateTotalPrice(productItems[0],1);
		}
		ajaxObjects[ajaxIndex] = false;
	}




	function updateTotalPrice(pageProduct,external){
		var text_addProdotto = document.getElementById('text_addProdotto');
		var text_addProdottoCat = document.getElementById('text_addProdottoCat'+pageProduct);
		if(text_addProdotto){
			text_addProdotto.innerHTML= '';
			if(pageProduct){
				var productRow = document.getElementById('shopping_cart_items_product' + pageProduct);
				if (productRow){
					text_addProdotto.innerHTML+=productRow.cells[1].innerHTML+ txtquantitaProdotto+'<br />';//attualmente nel carrello ne hai X
				}
			}
		}

		if(text_addProdottoCat){
			text_addProdottoCat.innerHTML= 'Ok!';
		}

		var itemBox = document.getElementById('shopping_cart_items');
		if(!external){
			var numProdottiBox = document.getElementById('num_prodotti');
			var num_prodotti = itemBox.rows.length-1;

			if (num_prodotti <2)
			var txt_nProdotti = ' '+txtProd;
			else
				var txt_nProdotti = ' '+txtProds;

				if (num_prodotti <1){
					var txt_nProdotti = "";
					num_prodotti = '0 '+txtProds;
				}
				numProdottiBox.innerHTML = num_prodotti +txt_nProdotti; //header: 1 Prodotto o 2 Prodotti etc

			}
			var totalPrice = 0;
			if(document.getElementById('shopping_cart_totalprice')){
				for(var no=1;no<itemBox.rows.length;no++){
					totalPrice = totalPrice + (itemBox.rows[no].cells[1].innerHTML.replace(/[^0-9]/g) * itemBox.rows[no].cells[2].getAttribute('id'));
				}
				if (totalPrice.toFixed(2)!=="0.00"){
					if (document.getElementById('shopping_cart_checkoutButton'))
					document.getElementById('shopping_cart_checkoutButton').innerHTML = txt_goCheckout;
					document.getElementById('shopping_cart_totalprice').innerHTML = txt_totalPrice + totalPrice.toFixed(2) + txt_totalPrice2;
				}else{
					if (document.getElementById('shopping_cart_checkoutButton'))
					document.getElementById('shopping_cart_checkoutButton').innerHTML = '';
					document.getElementById('shopping_cart_totalprice').innerHTML = txt_noProds;
				}

				if(text_addProdotto){
					if (totalPrice.toFixed(2)>0.00)
					text_addProdotto.innerHTML+= '';//:e stai spendendo X
				}

				if (num_prodotti>0){
					var text_addProdotto2 = document.getElementById('addProdottoLinkCheckout');
					if(text_addProdotto2){
						if(text_addProdotto2.childNodes.length < 3){
						}
					}
				}




			}

		}



		function totaleCompleto(spese_spedizione,sconto){
			var itemBox = document.getElementById('shopping_cart_items');
			var totalPrice = 0;
			var totale = 0;
			var totaleScontato = 0;
			var amm_sconto = 0;

			if(document.getElementById('shopping_cart_totalprice')){
				for(var no=1;no<itemBox.rows.length;no++){
					var thisprice = itemBox.rows[no].cells[1].innerHTML.replace(/[^0-9]/g) * itemBox.rows[no].cells[2].getAttribute('id');
					totalPrice = totalPrice + thisprice;
					if(itemBox.rows[no].cells[2].getAttribute('axis')=="no"){
						amm_sconto = amm_sconto + (thisprice * sconto)/100;
					}
				}
				if (totalPrice.toFixed(2)!=="0.00"){
					totale = (0.00 + parseFloat(spese_spedizione.toFixed(2)) + parseFloat(totalPrice.toFixed(2)));
					totalescontato = totale - amm_sconto;
					document.getElementById('shopping_cart_totalprice').innerHTML = txt_totalPrice + totalPrice.toFixed(2) + txt_totalPrice2;
					document.getElementById('div_spese_spedizione').innerHTML = txt_divSpeseSpedizione+spese_spedizione.toFixed(2)+txt_divSpeseSpedizione2;
					if(amm_sconto > 0)
					document.getElementById('div_sconto').innerHTML = txt_divSconto+amm_sconto.toFixed(2)+txt_divSconto2;
					document.getElementById('div_totale').innerHTML = txt_divTotale+totalescontato.toFixed(2)+txt_divTotale2;
					document.getElementById('div_totale').innerHTML+= '<input type="hidden" name="totalPrice" value="'+totalescontato.toFixed(2)+'" />';
				}
			}
		}

		function removeProductFromBasket(productId)
		{
			var lang = readCookie('lang_c');
			var itemUserID = document.getElementById('shopping_cart').attributes.rel.value;


			$j.ajax({
				url: url_removeProductFromBasket,
				// cache: false,
				data: "productIdToRemove="+productId+"&user_id="+itemUserID+"&lang="+lang+"",
				type: "post",
				success: function(txt){
					ajaxValidateRemovedProduct(txt);
				}
			});
		}






		function ajaxValidateRemovedProduct(response)
		{
			var itemBox = document.getElementById('shopping_cart_items');
			var productItems = response.split('|||');
			var row = document.getElementById('shopping_cart_items_product' + productItems[0]);
			if (productItems[0]=="ERROR"){
				if (productItems[1]=="QUANTITA"){
					if (confirm("Rimuovo il prodotto?"))
					{

						var itemUserID = document.getElementById('shopping_cart').attributes.rel.value;



						$j.ajax({
							url: 'elimina_prodotto.php',
							data: "productIdToRemove="+productItems[2]+"&user_id="+itemUserID+"&lang="+lang+"&elimina=1",
							type: "post",
							success: function(txt){
								ajaxEliminaProduct(txt);
							}
						});

					}
				}
			}else{
				if(row.cells[1].innerHTML == '1'){
					row.parentNode.removeChild(row);
				}else{
					row.cells[1].innerHTML = row.cells[1].innerHTML/1 - 1;
					if (productItems[3]==productItems[2]){
						row.cells[2].innerHTML = ""+productItems[2]+" €";
					}else{
						row.cells[2].innerHTML = ""+productItems[2]+" € <div id='TextOldPrice'>"+productItems[3]+" €</div>";
					}
					row.cells[2].setAttribute('id', productItems[2]);
				}
				updateTotalPrice(productItems[0]);
			}
		}

		function ajaxEliminaProduct(response)
		{
			var productItems = response.split('|||');
			var row = document.getElementById('shopping_cart_items_product' + productItems[0]);
			row.parentNode.removeChild(row);
			updateTotalPrice(productItems[0]);
		}

		function readCookie(name) {
			var nameEQ = name + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++) {
				var c = ca[i];
				while (c.charAt(0)==' ') c = c.substring(1,c.length);
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return null;
		}

		function ajaxAddProduct(productId)
		{
			var lang = readCookie('lang_c');
			var itemUserID = document.getElementById('shopping_cart').attributes.rel.value;
			var ajaxIndex = ajaxObjects.length;
			ajaxObjects[ajaxIndex] = new sack();
			ajaxObjects[ajaxIndex].requestFile = url_addProductToBasket;
			ajaxObjects[ajaxIndex].setVar('productId',productId);
			ajaxObjects[ajaxIndex].setVar('user_id',itemUserID);
			ajaxObjects[ajaxIndex].setVar('lang',lang);
			ajaxObjects[ajaxIndex].onCompletion = function(){ showAjaxBasketContent(ajaxIndex); };
			ajaxObjects[ajaxIndex].runAJAX();
		}


		function ajaxAddProduct2(productId)
		{
			var itemUserID = document.getElementById('shopping_cart').attributes.rel.value;
			var lang = readCookie('lang_c');
			var ajaxIndex = ajaxObjects.length;
			ajaxObjects[ajaxIndex] = new sack();
			ajaxObjects[ajaxIndex].requestFile = url_addProductToBasket;
			ajaxObjects[ajaxIndex].setVar('productId',productId);
			ajaxObjects[ajaxIndex].setVar('user_id',itemUserID);
			ajaxObjects[ajaxIndex].setVar('lang',lang);
			ajaxObjects[ajaxIndex].onCompletion = function(){ showAjaxBasketContent2(ajaxIndex); };
			ajaxObjects[ajaxIndex].runAJAX();
		}


		function aggiungi_n_prodottiplus(productId,quantita)
		{
			var itemUserID = document.getElementById('shopping_cart').attributes.rel.value;
			var iddd = $j('#shopping_cart_items_product' + productId);
			var qpresente = parseFloat(iddd.find("td").eq(1).html());
			var lang = readCookie('lang_c');
			$j.ajax({
				url: "add_prodotti.php",
				data: "productId="+productId+"&user_id="+itemUserID+"&quantita="+quantita+"&qpresente="+qpresente+"&lang="+lang+"",
				type: "post",
				success: function(txt){
					showAjaxBasketContent(txt);
				}
			});
		}



		function aggiungi_n_prodotti(productId,quantita)
		{
			var itemUserID = document.getElementById('shopping_cart').attributes.rel.value;
			var lang = readCookie('lang_c');
			var ajaxIndex = ajaxObjects.length;
			ajaxObjects[ajaxIndex] = new sack();
			ajaxObjects[ajaxIndex].requestFile = 'add_prodotti.php';
			ajaxObjects[ajaxIndex].setVar('productId',productId);
			ajaxObjects[ajaxIndex].setVar('user_id',itemUserID);
			ajaxObjects[ajaxIndex].setVar('quantita',quantita);
			ajaxObjects[ajaxIndex].setVar('lang',lang);
			ajaxObjects[ajaxIndex].onCompletion = function(){
				var productItems = ajaxObjects[ajaxIndex].response.split('|||');
				if (productItems[0]=="ERROR"){
					alert("quantita terminata");
				}
			};
			ajaxObjects[ajaxIndex].runAJAX();
		}