//<![CDATA[


	var modQta = {

		ajaxObj1 : null,
		ajaxObj2 : null,
		pulsanteParent : 'modQtaProdParent_',
		pulsante : 'modQtaProd_',
		contQta : 'qtaProd_',
		qta : 0,
		id_ogg : false,
		
		getXmlHttpRequest : function () {

			if (window.XMLHttpRequest) {
				xmlHttpObj = new XMLHttpRequest();
				//xmlHttpObj.overrideMimeType('xml');

				if (xmlHttpObj.overrideMimeType) {
					xmlHttpObj.overrideMimeType('text/xml');
				}
			}
			else {
				try {
					xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch (e) {
					try  {
						xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch (e) {
						xmlHttpObj = false;
					}
				}
			}

			return xmlHttpObj;
		},

		randomString : function () {

			var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz-~_+";
			var string_length = 16;
			var randomstring = '';

			for (var i=0; i < string_length; i++) {

				var rnum = Math.floor(Math.random() * chars.length);
				randomstring += chars.substring(rnum,rnum+1);
			}

			return randomstring;
		},

		transforms : function () {

			var contQta = modQta.contQta + modQta.id_ogg;
			var pulsanteParent = modQta.pulsanteParent + modQta.id_ogg;

			modQta.qta = document.getElementById(contQta).firstChild.nodeValue.split(': ')[1];
			
			// Creo e visualizzo il campo input
			elInput = document.createElement('input');
			elInput.value = modQta.qta;
			elInput.setAttribute('size', 2);
			elInput.setAttribute('id', 'newContQta_' + modQta.id_ogg);
			document.getElementById(contQta).replaceChild(elInput, document.getElementById(contQta).firstChild);

			// Modifico il pulsante di salvataggio
			elText = document.createTextNode('Salva');
			elA = document.createElement('a');
			elA.setAttribute('href', '#');
			elA.className = 'saveNewQta';
			elA.appendChild(elText);
			document.getElementById(pulsanteParent).replaceChild(elA, document.getElementById(pulsanteParent).firstChild);

		},

		saveQta : function(evnt) {

			var element = evnt.target ? evnt.target : evnt.srcElement;
			var id = element.parentNode.id.split('_')[1];

			var newQta = document.getElementById('newContQta_' + id).value;

			modQta.ajaxObj1 = modQta.getXmlHttpRequest();

			// Controllo se la NUOVA quantità inserita è disponibile
			if (modQta.ajaxObj1) {

				var url = 'js/checkQta.php?idOgg=' + id + '&newQta=' + newQta + '&rand=' + modQta.randomString();

				modQta.ajaxObj1.open('GET', url, true);
				modQta.ajaxObj1.onreadystatechange = modQta.checkQta;
				modQta.ajaxObj1.send(null);
			}
			
			return false;
		},

		checkQta : function() {

			if (modQta.ajaxObj1.readyState == 4 && modQta.ajaxObj1.status == 200) {

				try {

					if(window.ActiveXObject){ // If IE Windows
						var ogg = new ActiveXObject("Microsoft.XMLDOM");
						ogg.loadXML(modQta.ajaxObj1.responseText);
					}
					else {
						var ogg = modQta.ajaxObj1.responseXML;
					}

					ogg = ogg.getElementsByTagName('oggetto');

					newQta = ogg[0].firstChild.childNodes.item(0).nodeValue;
					id = ogg[0].childNodes.item(1).childNodes.item(0).nodeValue;

					//Creo l'elemento con la nuova quantità
					elTextQta = document.createTextNode("Num: " + newQta);
					document.getElementById(modQta.contQta + id).replaceChild(elTextQta, document.getElementById(modQta.contQta + id).firstChild);

					// Modifico il pulsante di salvataggio
					elText = document.createTextNode("Mod. Q.ta'");
					elA = document.createElement('a');
					elA.setAttribute('href', '#');
					elA.setAttribute('id', 'modQtaProd_' + id);
					elA.setAttribute('rel', id);
					elA.appendChild(elText);
					document.getElementById('modQtaProdParent_' + id).replaceChild(elA, document.getElementById('modQtaProdParent_' + id).firstChild);

					// Aggiorno la sessione
					modQta.ajaxObj2 = modQta.getXmlHttpRequest();

					if (modQta.ajaxObj2) {

						var url = 'js/modQtaProd.php?num=' + newQta + '&id_ogg=' + id + '&rand=' + modQta.randomString();

						modQta.ajaxObj2.open('GET', url, true);
						modQta.ajaxObj2.onreadystatechange = modQta.aggiornaSessione;
						modQta.ajaxObj2.send(null);
					}
					else {
						alert ('Ajax non disponibile');
					}
				}
				catch (e) {
					alert(e.message);
				}
			}
		},

		aggiornaSessione : function() {

			if (modQta.ajaxObj2.readyState == 4 && modQta.ajaxObj2.status == 200) {

				try {

					if(window.ActiveXObject){ // If IE Windows
						var totale = new ActiveXObject("Microsoft.XMLDOM");
						totale.loadXML(modQta.ajaxObj2.responseText);
					}
					else {
						var totale = modQta.ajaxObj2.responseXML;
					}

					totale = totale.getElementsByTagName('totale');

					totale = totale[0].firstChild.nodeValue;

					var tmp = document.getElementById('totaleEuro').firstChild.nodeValue;

					var prezzoTxt = document.createTextNode(totale);
					document.getElementById('totaleEuro').replaceChild(prezzoTxt, document.getElementById('totaleEuro').firstChild);

					location.href = document.location;
				}
				catch (e) {
					alert(e.message);
				}
			}
		}

	}


	if (document.addEventListener) {
		document.addEventListener("click", setupEventsModQtaProd, false);
	}
	else if (document.attachEvent) {
		document.attachEvent("onclick", setupEventsModQtaProd);
	}
	else {
		document.onclick = setupEventsModQtaProd;
	}

	function setupEventsModQtaProd(evnt) {

		var element = evnt.target ? evnt.target : evnt.srcElement;

		if (element.rel) {
			modQta.id_ogg = element.rel;
		}
		
		if (element.id && element.id == modQta.pulsante + modQta.id_ogg) {

			if (evnt.preventDefault) {
				evnt.preventDefault();
			}
			else if (evnt.cancelBubble != null) {
				evnt.cancelBubble = true;
			}

			modQta.transforms();

			return false;
		}
		else if (element.className && element.className == 'saveNewQta') {

			if (evnt.preventDefault) {
				evnt.preventDefault();
			}
			else if (evnt.cancelBubble != null) {
				evnt.cancelBubble = true;
			}

			modQta.saveQta(evnt);

			return false;
		}
	}

//]]/