// JavaScript Document

var ajax;
var dataChiamata=new Date();
var chiamata,conta=0;
var timeout=10000; // non è usato sostituire con il valore nel metodo apposito
var timeid;
var ValOggQ="";
var ValOggTotale="";
var OggQer=null;
var OggTer=null;
// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function assegnaXMLHttpRequest() {

// lista delle variabili locali
var
 // variabile di ritorno, nulla di default
 XHR = null,
 
 // informazioni sul nome del browser
 browserUtente = navigator.userAgent.toUpperCase();

 // browser standard con supporto nativo
 // non importa il tipo di browser
 if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
  XHR = new XMLHttpRequest();

 // browser Internet Explorer
 // è necessario filtrare la versione 4
 else if(
  window.ActiveXObject &&
  browserUtente.indexOf("MSIE 4") < 0
 ) {
 
  // la versione 6 di IE ha un nome differente
  // per il tipo di oggetto ActiveX
  if(browserUtente.indexOf("MSIE 5") < 0)
   XHR = new ActiveXObject("Msxml2.XMLHTTP");

  // le versioni 5 e 5.5 invece sfruttano lo stesso nome
  else
   XHR = new ActiveXObject("Microsoft.XMLHTTP");
 }

 return XHR;
}	 

 
 
function invia(valore,id,tipo) {
conta=0;
dataChiamata=new Date();
chiamata=dataChiamata.getTime();
inizializza();

var r = Math.random();
ajax.open("get","carrello_agg.php?"+r+"&v="+valore+"&id="+id+"&tipo="+tipo,"true");
ajax.send(null);

}
function ajaxstato() { // da cancellare???

alert(ajax.readyState);
if(ajax.readyState!=0) 
   alert(ajax.status);
}
function inizializza() {

  verificatempo=function() {
	  
      dataChiamata=new Date();
	 
      rispo=dataChiamata.getTime();
      differ=rispo-chiamata;
   
	 conta=conta+1;
		
      if((ajax.readyState!=4)) { 
         // alert("timeouta");
		 ajax.onreadystatechange=function() {return;}
	     ajax.abort();
		  doc.scrivi(doc.eee,"350px","210px",fin.scrollDoc()+100+"px");
	     // adesso si deve avvertire l'utente
	     
	     }
		 
      } 

 ajax=assegnaXMLHttpRequest();
 timeid=setTimeout(verificatempo,10000);
 ajax.onreadystatechange= pippo;

}
function pippo() {

if(ajax.readyState===4)  {
   
  
	if(ajax.responseText!="")	 
  doc.scrivi(ajax.responseText,"","","");
  if(ajax.status!=200) { 
   testo="";
   x=fin.scrollDoc()+100;
   if(OggQer!=null) {
	   OggQer.value=ValOggQ;
   OggTer.value=ValOggTotale;
   }
   doc.scrivi(doc.eee,"350px","210px",x+"px");
  }
    clearTimeout(timeid);
   ajax.onreadystatechange = function() {}; 
   verificatempo=function() {};
    } else
  {  // gestione degli stati intermedi per la trasmissione. da 1 a 4
    // alert(ajax.readyState);
	}
};

// gestione errore casella di testo
function errore() {

  var si=false;
  var oggettoQ=null;
  var tipoInvio=0;
  var idOggetto=0;
  var oggettoTotale=null;
  var prezzo=0;
  this.invio=controlla;
  this.intero=controllaVal;

function controlla(axx,bxx,cxx,dxx,exx) {
this.oggettoQ=axx;
this.idOggetto=bxx;
this.tipoInvio=cxx;
this.oggettoTotale=dxx;
this.prezzo=exx;
 if(controllaVal(this.oggettoQ.value)) {
   this.oggettoTotale.value=this.oggettoQ.value*this.prezzo; 
   invia(this.oggettoQ.value,this.idOggetto,this.tipoInvio);
   this.si=true;
 } else {
  this.oggettoTotale.value="";
  this.oggettoQ.value="";
  this.si=false;
  return false;
  };
}
 
function controllaVal(inputVal) {
  inputStr = inputVal.toString()
  for (var i = 0; i < inputStr.length; i++) {
  var oneChar = inputStr.charAt(i)
  if (oneChar < "0" || oneChar > "9") {
    return false
     }
   }
  return true
 }
} // classe errore

function dAjax() {
 var og=null;
 var colore=null;
 this.sfondo=CambiaSfondo;
 function CambiaSfondo(ogj,colj) {
  this.og=ogj;
  this.colore=colj;
  document.getElementById(this.og).style.background=this.colore;
  }
  
}

function cancella() { // reset del carrello
invia(1,1,2);
tex="<table width='90%' border='0' cellspacing='0' cellpadding='0' id='tabcar'><tr>    <td class='titti'>Prodotto</td>";
te2=" <td class='titt'>Quantità</td>    <td class='titt'>Prezzo singolo</td>    <td class='titt'>Totale</td>  </tr>   <tr><td class='proddi' ></td><td class='prodd' ></td><td class='prodd'></td><td class='prodd'></td>  </tr>";
te3=" <tr><td class='proddi' ></td><td class='prodd' ></td><td class='prodd'></td><td class='prodd'></td>  </tr>  <tr><td class='proddi'></td>    <td class='prodd' ></td>    <td class='prodd'>Spese Spedizione</td>";
te4="<td class='prodd'><?echo $speses?></td>  </tr>   <tr>    <td class='proddi'></td>    <td class='prodd' ></td>";
te5="    <td class='prodd'>Totale</td>    <td class='prodd'>0</td>  </tr></table>";
testodascri=tex+te2+te3+te4+te5;
document.getElementById('carotab').innerHTML=testodascri;
if(document.getElementById('ddd')) {
  ad=document.getElementById('ddd').parentNode;
   pip=document.getElementById('ddd')
  ad.removeChild(pip);
  }
 if(document.getElementById('avver'))
   document.getElementById('avver').style.visibility='hidden';
 document.getElementById('panncar').innerHTML="";
 if( document.getElementById('mexcar')) {
   document.getElementById('mexcar').innerHTML="Il carrello della spesa è vuoto";
   document.getElementById('imcar').src="limg/carrello1.gif";
  }
	}
	
function resetDato(db,db1,db2,db3,db4) {
 invia(db,db1,db2);
 OggQer=document.getElementById(db3);
 OggTer=document.getElementById(db4);
 ValOggQ=document.getElementById(db3).value;
 ValOggTotale=document.getElementById(db4).value;
 document.getElementById(db3).value="";
 document.getElementById(db4).value="";
}	
	