var intervalAvvisoAggiunto = 0;
var textureItemVisible = false;
var req = createXMLHttpRequest();
var reqcodice = createXMLHttpRequest();
var numid = -1;
var dir = "";

function setDir(temp)
{
	dir = temp;
}

setDir("pagina_utente/");

function createXMLHttpRequest()
{
	var ua;

	if(window.XMLHttpRequest)
	{
		try
		{
			ua = new XMLHttpRequest();
		} 
		catch(e) 
		{
	  		ua = false;
		}
	} 
	else if(window.ActiveXObject) 
	{
		try 
		{
			ua = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e)
		{
			ua = false;
		}
	}
	return ua;
}

/*function sendRequestCarrello()
{
	var address = "uuid_main=" + document.getElementById("uuid_main").value;
	address += "&uuid_texture="+document.getElementById("uuid_texture").value;
	req.open('get', dir+'cancella_prodotto_carrello_ajax.php?' + address);
	req.onreadystatechange = handleResponseCarrello;
	req.send(null);
}*/

function sendRequestCarrello()
{
	var address = "uuid_main=" + document.getElementById("uuid_main").value;
	address += "&uuid_texture="+document.getElementById("uuid_texture").value;
	address += "&prezzo="+document.getElementById("prezzo").value;
	address += "&codice="+document.getElementById("codice").value;
	address += "&regalo="+document.getElementById("regalo").value;
	address += "&quantita="+document.getElementById("quantita").value;
	req.open('get', dir+'manager_carrello_ajax.php?' + address);
	req.onreadystatechange = handleResponseCarrello;
	req.send(null);
}

function handleResponseCarrello()
{	
	if(req.readyState == 4)
	{
		var response = req.responseText;
		if(response == "errore")
		{
			
		}
		else
		{
			avvisoAggiunto(numid);
			//aggiornaPaginaCarrello(numid, response);
			numid = -1;
			// todo aggiornare se l'utente è loggato num prodotti nel carrello
			if(typeof(document.getElementById("vediCarrello")) != "undefined" && document.getElementById("vediCarrello") != null)
				document.getElementById("vediCarrello").innerHTML = response+" prodotti nel carrello";
				
			location.reload(true);


		}
	}
}

function sendRequestCancella(uuid_main, uuid_texture)
{
	var address = "uuid_main=" + uuid_main;
	address += "&uuid_texture="+uuid_texture;
	req.open('get', dir+'cancella_prodotto_ajax.php?' + address);
	req.onreadystatechange = handleResponseCancella;
	req.send(null);
}

function handleResponseCancella()
{	
	if(req.readyState == 4)
	{
		var response = req.responseText;
		if(response == "errore")
		{
			
		}
		else
		{
			location.reload(true);


		}
	}
}

function sendRequestAggiorna()
{
	var address = "uuid_main=" + document.getElementById("uuid_main").value;
	address += "&uuid_texture="+document.getElementById("uuid_texture").value;
	address += "&prezzo="+document.getElementById("prezzo").value;
	address += "&codice="+document.getElementById("codice").value;
	address += "&regalo="+document.getElementById("regalo").value;
	address += "&quantita="+document.getElementById("quantita").value;
	req.open('get', dir+'aggiorna_carrello_ajax.php?' + address);
	req.onreadystatechange = handleResponseAggiorna;
	req.send(null);
}

function handleResponseAggiorna()
{	
	if(req.readyState == 4)
	{
		var response = req.responseText;
		if(response == "errore")
		{
			
		}
		else
		{
			avvisoAggiunto(numid);
			//aggiornaPaginaCarrello(numid, response);
			numid = -1;
			// todo aggiornare se l'utente è loggato num prodotti nel carrello
			if(typeof(document.getElementById("vediCarrello")) != "undefined" && document.getElementById("vediCarrello") != null)
				document.getElementById("vediCarrello").innerHTML = response+" prodotti nel carrello";
				
			location.reload(true);


		}
	}
}

function aggiungiCarrello(num)
{
	if(numid==-1)
	{
		var obj = "";
		if(num==null)
			obj = document.getElementById("tx");
		else
			obj = document.getElementById("tx"+num);
			
		var number = parseInt(obj.innerHTML)*1; // quantita
		document.getElementById("quantita").value = number;
		numid = num;
		sendRequestCarrello();
	}
}

function aggiornaCarrello(num)
{
	if(numid==-1)
	{
		var obj = "";
		if(num==null)
			obj = document.getElementById("tx");
		else
			obj = document.getElementById("tx"+num);
			
		var number = parseInt(obj.innerHTML)*1; // quantita
		document.getElementById("quantita").value = number;
		numid = num;
		sendRequestAggiorna();
	}
}

function aggiornaPaginaCarrello(num, tot)
{
	var id = "quantita"+num;
	if(typeof(document.getElementById(id)) != "undefined" && document.getElementById(id) != null)
	{
		// aggiorno lo span quantita n
		var obj = document.getElementById("tx"+num);
		var number1 = parseInt(obj.innerHTML)*1; // quantita
		var obj2 = document.getElementById(id);
		var number2 = parseInt(obj2.innerHTML)*1; // quantita
		var str = number1+number2
		obj2.innerHTML = str+"";
		
		//aggiorno h2
		var obj3 = document.getElementById("titoloTot");
		obj3.innerHTML = "Nel tuo carrello ci sono " + tot + " prodotti";
		location.reload(true);


	}
}

function showTextureItem(e, imgLink, uuid_main, uuid_texture, testo, prezzo, codice, disponibile, regalo)
{
		var obj = document.getElementById("textureBox");
		//alert(obj.style.visibility);
		if(obj.style.visibility == "visible")
			hideTextureItem(null);
				
		if(imgLink != undefined)
		{			
			//window.event.srcElement
			var evt = e || window.event;
			
			// il pulsante che ha generato l'evento
			var oo = evt.target  || evt.srcElement;
	
			textureItemVisible = true;
			var closebtn = document.getElementById("closeTextureBox");
			closebtn.style.display = "block";
			
			if(!disponibile)
			{
				document.getElementById("textInfo").innerHTML = "Non disponibile (<a href=\"#\">Avvisami quando disponibile</a>)";
			}
			else
			{
				document.getElementById("textInfo").innerHTML = "<p id=\"textureTesto\">Testo</p><p class=\"textInfoPrice_p\" id=\"texturePrezzo\">15,00 euro</p><div class=\"textureAddBagContainer\" id=\"textureAddBagContainer\"><a href=\"#\" onclick=\"javascript: decrementItem(null);return false;\"><img src=\"images/prodotti/button_down.jpg\" border=\"0\" /></a>  <div class=\"texture_number\" id=\"tx\">1&nbsp;&nbsp;</div><a href=\"#\" onclick=\"javascript: incrementItem(null);return false;\"><img src=\"images/prodotti/button_top.jpg\" border=\"0\" /></a><div class=\"acquista\"><a href=\"#\" onclick=\"javascript: aggiungiCarrello(null);return false;\">Aggiungi</a></div><div id=\"txtaggiunto\" class=\"txtaggiunto\"></div></div>";
			}
			
			document.getElementById("imgTexture").src = imgLink;
			document.getElementById("texturePrezzo").innerHTML = writePrezzoString(prezzo);
			document.getElementById("textureTesto").innerHTML = "Codice: "+codice;
			
			document.getElementById("uuid_main").value = uuid_main;
			document.getElementById("uuid_texture").value = uuid_texture;
			document.getElementById("prezzo").value = prezzo;
			document.getElementById("codice").value = codice;
			document.getElementById("regalo").value = regalo;
			
			showDivAbsolute("textureBox");
			
			var arrPos =  findPos(oo);
			obj.style.left = arrPos[0] + "px";
			obj.style.top = (arrPos[1]-100) + "px";
		}
}

function setItem(uuid_main, uuid_texture, prezzo, codice, disponibile, regalo)
{	
	document.getElementById("uuid_main").value = uuid_main;
	document.getElementById("uuid_texture").value = uuid_texture;
	document.getElementById("prezzo").value = prezzo;
	document.getElementById("codice").value = codice;
	document.getElementById("regalo").value = regalo;
}

function hideTextureItem(e)
{
	/*var evt = e || window.event;
	var oo = evt.target  || evt.srcElement;
	var name = oo.id + " ";
	
	var obj = document.getElementById("textureBox");
	var arrPos = findPos(obj);
	var arrScroll = getScrollXY();
	left = arrPos[0] + arrScroll[0] + obj.style.left;
	top = arrPos[1] + arrScroll[1] + obj.style.top;
	
	var arrMousePos = getCursorPosition(e);
	var posx = arrMousePos[0];
	var posy = arrMousePos[1];
	//
	var fullWidth = left+obj.offsetWidth;
	var fullHeight = top+ obj.offsetHeight;*/
	
	if(textureItemVisible)
	{
		resetTextureItem();
		textureItemVisible = false;
		hideDivAbsolute("textureBox");
	}
}

function getCursorPosition(e) 
{
	var IE = document.all?true:false
	if (!e) var e = window.event;
	// Temporary variables to hold mouse x-y pos.s
	var tempX = 0
	var tempY = 0
	
	  if (IE) { // grab the x-y pos.s if browser is IE
		tempX = e.clientX + document.body.scrollLeft
		tempY = e.clientY + document.body.scrollTop
	  } else {  // grab the x-y pos.s if browser is NS
		tempX = e.pageX
		tempY = e.pageY
	  }  
	  // catch possible negative values in NS4
	  if (tempX < 0){tempX = 0}
	  if (tempY < 0){tempY = 0}  
	
	return [ tempX, tempY ];
	
}

function findPos(obj) 
{
	var curleft = 0;
	var curtop = 0;
	
	if (obj.offsetParent) 
	{
		do 
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} 
		while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function incrementItem(num)
{
	var obj = "";
	if(num==null)
		obj = document.getElementById("tx");
	else
		obj = document.getElementById("tx"+num);
	
	var number = parseInt(obj.innerHTML)+1;
	obj.innerHTML = number + "&nbsp;&nbsp;";
}

function decrementItem(num)
{
	var obj = "";
	if(num==null)
		obj = document.getElementById("tx");
	else
		obj = document.getElementById("tx"+num);
	var number = parseInt(obj.innerHTML)-1;
	if(number < 1) number = 1;
	obj.innerHTML = number + "&nbsp;&nbsp;";
}

function writePrezzoString(num)
{
	var str = ""+num+"";
	str = str.replace(".",",");
	
	if(str.lastIndexOf(",")==-1)
	{
		return str+",00 euro";
	}
	
	return str+" euro";
}

function avvisoAggiunto(num)
{
	if(!intervalAvvisoAggiunto)
	{
		var obj = "";
		var obj2 = "";
		var fun = "hideAvvisoAggiunto()";
		if(num==null)
		{
			obj = document.getElementById("txtaggiunto");
			obj2 = document.getElementById("tx");
		}
		else
		{
			obj = document.getElementById("txtaggiunto"+num);
			obj2 = document.getElementById("tx"+num);
			fun = "hideAvvisoAggiunto("+num+")";
		}
		
		var number = parseInt(obj2.innerHTML); // quantita
		if(number == 1)
			obj.innerHTML = "1 prodotto aggiunto nel carrello";
		else
			obj.innerHTML = number + " prodotti aggiunti nel carrello";
		
		
		intervalAvvisoAggiunto = window.setTimeout(fun, 2000);
	}
}

function hideAvvisoAggiunto(num)
{
	var obj;
	if(num==null)
		obj = document.getElementById("txtaggiunto");
	else
		obj  = document.getElementById("txtaggiunto"+num);
	obj.innerHTML = "";
	hideTextureItem(null);
	clearInterval(intervalAvvisoAggiunto);
	intervalAvvisoAggiunto = 0;
	
}

function resetTextureItem()
{
	clearInterval(intervalAvvisoAggiunto);
	intervalAvvisoAggiunto = 0;
	var obj = document.getElementById("txtaggiunto");
	obj.innerHTML = "";
	
	var obj2 = document.getElementById("tx");
	obj2.innerHTML = "1 &nbsp;&nbsp;";
}

function setNascosto(num)
{
	var obj = document.getElementById("nascosto"+num);
	obj.style.display = "block";
}

function checkCodiceSconto(user_uuid)
{
	var codice = document.getElementById("codice_sconto").value;
	document.getElementById("codice_").value = codice;
	var address = "codice=" + codice + "&user_uuid="+user_uuid;
	reqcodice.open('get', dir+'check_codice_ajax.php?' + address);
	reqcodice.onreadystatechange = handleResponseCodicePromo;
	reqcodice.send(null);
}

function handleResponseCodicePromo()
{	
	if(reqcodice.readyState == 4)
	{
		var response = reqcodice.responseText;
		if(response == "errore")
		{
			document.getElementById("risultatoCodice").innerHTML = "<h3>Codice non valido</h3>";
		}
		else
		{
			var response_arr = response.split("|");
			var minimo = response_arr[2];
			var frase = "";
			if(minimo == "null")
			{
				frase = "Il codice inserito &egrave; valido. Ti da diritto ad uno sconto di " + response_arr[1] + " euro. Se l'importo del buono supera il prezzo del tuo acquisto puoi utlizzare il buono ancora per i prossimi acquisti godendo dell'ammontare residuo.<br /><a href=\"#\" onclick=\"document.forms['form_promozionale'].submit()\">Clicca qui per aggiornare il prezzo del carrello e utilizzare il buono</a>";
			}
			else
			{
				frase = "Il codice inserito &egrave; valido. Ti da diritto ad uno sconto di " + response_arr[1] + " euro, solo se il tuo acquisto &egrave; pari o superiore a <b>"+minimo+"</b>. Se l'importo del buono supera il prezzo del tuo acquisto puoi utlizzare il buono ancora per i prossimi acquisti godendo dell'ammontare residuo.<br /><a href=\"#\" onclick=\"document.forms['form_promozionale'].submit()\">Clicca qui per aggiornare il prezzo del carrello e utilizzare il buono</a>";
			}
			document.getElementById("risultatoCodice").innerHTML = frase;
		}
	}
}



