   	var request = null;
	var cartUpdated= false;
	var fastDelivery=false;
    var ups=false;


function inizializza() {

	if (document.moduloOrdine.modPagamento[3]){ 
          document.moduloOrdine.modPagamento[3].disabled=false;}
          document.moduloOrdine.modPagamento[0].checked=true;
        if (document.getElementById('idWhichCourier')){ 
	 document.getElementById('idWhichCourier').checked=true; }
  

		  }


function addUPS() {
		 if (ups==false) {
		 ups=true;
          if (document.moduloOrdine.under100.value=='true')
        {upsDelta=4.05;
         shipCosts='14,00';} else
         {  upsDelta=4.05;
          shipCosts='4,05';}

		  var totaleOrdine=document.getElementById('ordSum').innerHTML.replace(".","");
		  totaleOrdine=totaleOrdine.replace(",",".");
		  var newTot=totaleOrdine*1+upsDelta*1;
		  newTot=newTot.toFixed(2);
		  newTot=newTot.toString();
		  newTot=newTot.replace(".",",");
		  document.getElementById('ordSum').innerHTML=newTot;
		  document.getElementById('tOrd').value=newTot;
          document.getElementById('spedCarrello').innerHTML=shipCosts;
          document.getElementById('idShipCosts').value=shipCosts;
          document.moduloOrdine.modPagamento[3].disabled=true;
          document.moduloOrdine.modPagamento[0].checked=true;
if (document.moduloOrdine.elements['mioCorriere']==undefined) {
				  Hfield= document.createElement('input');
				  Hfield.type = 'hidden';
				  Hfield.id = 'mioCorriereID'; 
				  Hfield.name = 'mioCorriere'; 
				  Hfield.value = 'ups'; 
				  document.moduloOrdine.appendChild(Hfield);}

		  }
  }

   function removeUPS() {
		 if (ups==true) {
		 ups=false;

   if (document.moduloOrdine.under100.value=='true')
        {upsDelta=4.05;
         shipCosts='9,95';
          } else
         {  upsDelta=4.05;
         shipCosts='0,00';}

		  var totaleOrdine=document.getElementById('ordSum').innerHTML.replace(".","");
		  totaleOrdine=totaleOrdine.replace(",",".");
		  var newTot=totaleOrdine-upsDelta*1;
		  newTot=newTot.toFixed(2);
		  newTot=newTot.toString();
		  newTot=newTot.replace(".",",");
		  document.getElementById('ordSum').innerHTML=newTot;
		  document.getElementById('tOrd').value=newTot;
          document.getElementById('spedCarrello').innerHTML=shipCosts;
          document.getElementById('idShipCosts').value=shipCosts;
          document.moduloOrdine.modPagamento[3].disabled=false;
if (document.getElementById('mioCorriereID')) {
		  document.moduloOrdine.removeChild(document.getElementById('mioCorriereID')); }

          }
  }


function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2)
	{
		var x = Math.round(num * Math.pow(10,dec));
		if (x >= 0) n1=n2='';
		var y = (''+Math.abs(x)).split('');
		var z = y.length - dec;
		y.splice(z, 0, pnt);
		while (z > 3) {z-=3;
		y.splice(z,0,thou);}
		var r = curr1+n1+y.join('')+n2+curr2;
		return r;}   

function createRequest() {
     try {
       request = new XMLHttpRequest();
     } catch (trymicrosoft) {
       try {
         request = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (othermicrosoft) {
         try {
           request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (failed) {
           request = null;
         }
       }
     }

     if (request == null)
       alert("Error creating request object!");
   }

   function addFd() {
		 if (fastDelivery==false) {
		 fastDelivery=true;
		 with (fDtr.style)
		  display = "block";
		  var totaleOrdine=document.getElementById('ordSum').innerHTML.replace(".","");
		  totaleOrdine=totaleOrdine.replace(",",".");
		  var newTot=totaleOrdine*1+3.60*1;
		  newTot=newTot.toFixed(2);
		  newTot=newTot.toString();
		  newTot=newTot.replace(".",",");
		  document.getElementById('ordSum').innerHTML=newTot;
		  document.getElementById('tOrd').value=newTot;
		  		  if (document.moduloOrdine.elements['fastDel']==undefined) {
				  Hfield= document.createElement('input');
				  Hfield.type = 'hidden';
				  Hfield.id = 'fastDelID'; 
				  Hfield.name = 'fastDel'; 
				  Hfield.value = 'true'; 
				  document.moduloOrdine.appendChild(Hfield);}
		  }
  }

   function removeFd() {
		 if (fastDelivery==true) {
		 fastDelivery=false;
		 with (fDtr.style)
		  display = "none";
		  var totaleOrdine=document.getElementById('ordSum').innerHTML.replace(".","");
		  totaleOrdine=totaleOrdine.replace(",",".");
		  var newTot=totaleOrdine-3.60;
		  newTot=newTot.toFixed(2);
		  newTot=newTot.toString();
		  newTot=newTot.replace(".",",");
		  document.getElementById('ordSum').innerHTML=newTot;
		  document.getElementById('tOrd').value=newTot;
		  if (document.getElementById('fastDelID')) {
		  document.moduloOrdine.removeChild(document.getElementById('fastDelID')); }
		  }
  }

   function getDatiCliente() {
     createRequest();
     var url = "getDatiCliente.asp?codFisc="+document.moduloOrdine.codiceFiscale.value+"&time="+new Date().getTime();
	 request.open("GET", url, true);
     request.onreadystatechange = updatePage;
     request.send(null);
  }

   function checkServiceCode() {
   	var totaleOrdine=document.getElementById('ordSum').innerHTML.replace(".","");
	totaleOrdine=totaleOrdine.replace(",",".");
     createRequest();
     var url = "checkServiceCode.asp?codiceServizio="+document.getElementById('codiceServizio').value+"&totaleCarrello="+totaleOrdine+"&time="+new Date().getTime();
	 request.open("GET", url, true);
     request.onreadystatechange = updateCart;
     request.send(null);
  }

   function updateCart() {
	if (request.readyState == 4) {
		if (cartUpdated==true) { 
				document.getElementById('ordSum').innerHTML=cartTot;
				document.getElementById('spedCarrello').innerHTML=cartSped;
				document.getElementById('scontoCarrello').innerHTML=cartSconto;
		}else {
		cartUpdated=true;
				}		
		if (request.responseText== 'lowCart'){	
					cartUpdated=false;
					alert("Importo totale inferiore a quello minimo richiesto per questo buono sconto!");
					document.getElementById('scv').src='immagini/site/sCverifiedKO.gif';
		}else if (request.responseText== 'itemNotFound'){
					cartUpdated=false;
					alert("Questo sconto è abbinato a un articolo non presente nel carrello!");
					document.getElementById('scv').src='immagini/site/sCverifiedKO.gif';
		}else if (request.responseText!= 'notFound'){
				var totaleOrdine=document.getElementById('ordSum').innerHTML.replace(".","");
				totaleOrdine=totaleOrdine.replace(",",".");
				var valSpeseSped=document.getElementById('spedCarrello').innerHTML.replace(",",".");
				var valSconti=document.getElementById('scontoCarrello').innerHTML.replace(",",".");
				var sconto=request.responseText;
				sconto=sconto.replace(",",".");
				var newTot=totaleOrdine-sconto;
				newTot=newTot.toFixed(2);
				newTot=newTot.toString();
				newTot=newTot.replace(".",",");
				document.getElementById('ordSum').innerHTML=newTot; 
				// verifico se è sconto o maggiorazione
					if (sconto>0){
						var newSconto=valSconti*1+sconto*1;
						newSconto=newSconto.toFixed(2);
						newSconto=newSconto.toString();
						newSconto=newSconto.replace(".",",");
						document.getElementById('scontoCarrello').innerHTML=newSconto;
						Hfield= document.createElement('input'); 
					    Hfield.type = 'hidden'; 
					    Hfield.name = 'maggiorCostoOrdine'; 
					    Hfield.value = sconto; 
					    moduloOrdine.appendChild(Hfield);
					    if (document.getElementById('deltaPrezzoOrdine')) {
							  document.body.removeChild(document.getElementById('deltaPrezzoOrdine')); 
							 }
					
					}else{
						var newSped=valSpeseSped*1-sconto*1;
						newSped=newSped.toFixed(2);
						newSped=newSped.toString();
						newSped=newSped.replace(".",",");
						document.getElementById('spedCarrello').innerHTML=newSped; 
						Hfield= document.createElement('input'); 
					    Hfield.type = 'hidden'; 
					    Hfield.name = 'deltaPrezzoOrdine'; 
					    Hfield.value = sconto; 
					    moduloOrdine.appendChild(Hfield);
					    if (document.getElementById('maggiorCostoOrdine')) {
							  document.body.removeChild(document.getElementById('maggiorCostoOrdine')); 
							 }
					}
				document.getElementById('scv').src='immagini/site/sCverified.gif';
				document.getElementById('tOrd').value=newTot;
				}
				else {
					cartUpdated=false;
					alert("Codice non trovato o scaduto!");
					document.getElementById('scv').src='immagini/site/sCverifiedKO.gif';
				}
		}
  }

  function updatePage() {
	if (request.readyState == 4) {
      var risposta=request.responseText;
	  
	  if (risposta != 'notFound') {
	  var rispostaVett = new Array();
	  rispostaVett = risposta.split('#');
	  document.moduloOrdine.nome.value=unescape(rispostaVett[0]);
	  document.moduloOrdine.cognome.value=unescape(rispostaVett[1]);
	  document.moduloOrdine.indirizzo.value=unescape(rispostaVett[2]);
	  document.moduloOrdine.comune.value=unescape(rispostaVett[3]);
	  objSelect = document.getElementById('wprov');
	  objSelect.value=unescape(rispostaVett[4].replace("+"," "));
	  document.moduloOrdine.nazione.value=unescape(rispostaVett[5]);
	  document.moduloOrdine.telefono.value=unescape(rispostaVett[6]);
	  document.moduloOrdine.email.value=unescape(rispostaVett[7]);
	  document.moduloOrdine.emailVer.value=unescape(rispostaVett[7]);
	  document.moduloOrdine.cap.value=unescape(rispostaVett[8]);}
    }
  }
  
function mostra()
{
 with (tabellaEstera.style)
  display = "block";
}
function nascondi() 
{ 
 with (tabellaEstera.style) 
  display = "none"; 
}
function checkCodiceFiscale() { 
   document.moduloOrdine.codiceFiscale.value = document.moduloOrdine.codiceFiscale.value.toUpperCase();
   cod=document.moduloOrdine.codiceFiscale.value.toLowerCase();
   check=true;
   if (cod.length==0)
      {check=false
	  alert("E' necessario digitare un codice fiscale.")
	  return false}
      else if (cod.length==11)
	  {
	  for (i=0;i<12;i++)
         if (cod.charCodeAt(i)<48 || cod.charCodeAt(i)>57)
            {check=false;
	        alert("Il codice fiscale digitato non è corretto.")
			return false}
	  }
	  else if ((cod.length<16) && (cod.length!=11))
	  {check=false
	  alert("Il codice fiscale digitato non è corretto.")
	  return false}
      else{
      lettere=cod.substr(0,6)+cod.substr(8,1)+cod.substr(11,1)+cod.substr(15);
      numeri=cod.substr(6,2)+cod.substr(9,2)+cod.substr(12,3);
      for (i=0;i<10;i++)
         if (lettere.charCodeAt(i)<97 || lettere.charCodeAt(i)>122)
            {check=false;
	        alert("Il codice fiscale digitato non è corretto.")
			return false}
      for (i=0;i<8;i++)
         if (numeri.charCodeAt(i)<48 || numeri.charCodeAt(i)>57)
            {check=false;
	        alert("Il codice fiscale digitato non è corretto.")
			return false}
      }
   
		getDatiCliente();
  }
