var readyState = {
	INATTIVO:		0,
	INIZIALIZZATO:	1,
	RICHIESTA:		2,
	RISPOSTA:		3,
	COMPLETATO:		4
};
		
var statusText = new Array();
	statusText[100] = "Continue";
	statusText[101] = "Switching Protocols";
	statusText[200] = "OK";
	statusText[201] = "Created";
	statusText[202] = "Accepted";
	statusText[203] = "Non-Authoritative Information";
	statusText[204] = "No Content";
	statusText[205] = "Reset Content";
	statusText[206] = "Partial Content";
	statusText[300] = "Multiple Choices";
	statusText[301] = "Moved Permanently";
	statusText[302] = "Found";
	statusText[303] = "See Other";
	statusText[304] = "Not Modified";
	statusText[305] = "Use Proxy";
	statusText[306] = "(unused, but reserved)";
	statusText[307] = "Temporary Redirect";
	statusText[400] = "Bad Request";
	statusText[401] = "Unauthorized";
	statusText[402] = "Payment Required";
	statusText[403] = "Forbidden";
	statusText[404] = "Not Found";
	statusText[405] = "Method Not Allowed";
	statusText[406] = "Not Acceptable";
	statusText[407] = "Proxy Authentication Required";
	statusText[408] = "Request Timeout";
	statusText[409] = "Conflict";
	statusText[410] = "Gone";
	statusText[411] = "Length Required";
	statusText[412] = "Precondition Failed";
	statusText[413] = "Request Entity Too Large";
	statusText[414] = "Request-URI Too Long";
	statusText[415] = "Unsupported Media Type";
	statusText[416] = "Requested Range Not Satisfiable";
	statusText[417] = "Expectation Failed";
	statusText[500] = "Internal Server Error";
	statusText[501] = "Not Implemented";
	statusText[502] = "Bad Gateway";
	statusText[503] = "Service Unavailable";
	statusText[504] = "Gateway Timeout";
	statusText[505] = "HTTP Version Not Supported";
	statusText[509] = "Bandwidth Limit Exceeded";

function prendiElementoDaId(id_elemento) {
	var elemento;
	
	// se esiste il metodo getElementById quindi il browser lo supporta
	// questo if sarà diverso da false, null o undefined e sarà quindi considerato valido, come un true
	if(document.getElementById)
		elemento = document.getElementById(id_elemento);
	else
		elemento = document.all[id_elemento];
		
	return elemento;
}


function assegnaXMLHttpRequest() {
	var XHR = null,
	browserUtente = navigator.userAgent.toUpperCase();
	
	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
		XHR = new XMLHttpRequest();
	else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
		if(browserUtente.indexOf("MSIE 5") < 0)
			XHR = new ActiveXObject("Msxml2.XMLHTTP");
		else
			XHR = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return XHR;
} 
 
function mettiModello(id,idSel) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("modelli");
        
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewModels.php", true);
    
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // impostazione controllo e stato della richiesta
    ajax.onreadystatechange = function() {
      
      // verifica dello stato
      if(ajax.readyState === readyState.COMPLETATO) {
        // verifica della risposta da parte del server
        if(statusText[ajax.status] === "OK")
          // operazione avvenuta con successo
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("idMarca="+id+"&idSel="+idSel); 
  }
   
} 

function mettiComune(id,idSel) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("comuni");
    
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "viewPlaces.php", true);
    
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // impostazione controllo e stato della richiesta
    ajax.onreadystatechange = function() {
      
      // verifica dello stato
      if(ajax.readyState === readyState.COMPLETATO) {
        // verifica della risposta da parte del server
        if(statusText[ajax.status] === "OK")
          // operazione avvenuta con successo
          elemento.innerHTML = ajax.responseText;
        else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("idProvincia="+id+"&idSel="+idSel); 
  }
   
} 


function verificaCF(nome,cognome,sesso,dataNascita,comune,provincia,codFiscale,consenso) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    elemento = prendiElementoDaId("bottone"),
    testoErr = prendiElementoDaId("testoErr"),
    varsesso = "";
  
    if (!consenso) {
	    testoErr.innerHTML = "<br><font color=red>E' necessario dare il consenso.</font>";
	
	} else {
  
	  testoErr.innerHTML = "";  
	  // se l'oggetto XMLHttpRequest non è nullo
	  if(ajax) {
		
	    // impostazione richiesta asincrona in GET
	    // del file specificato
	    ajax.open("post", "verificaCodice.php", true);
	    
	    if (sesso[0].checked) 
		    varsesso="M";
		else if (sesso[1].checked) 
			varsesso="F";
			
	    // imposto il giusto header
		//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	    ajax.setRequestHeader ("Charset", "text/plain");
	
	
	    // rimozione dell'header "connection" come "keep alive"
	    ajax.setRequestHeader("connection", "close");
	
	    // impostazione controllo e stato della richiesta
	    ajax.onreadystatechange = function() {
	      
	      // verifica dello stato
	      if(ajax.readyState === readyState.COMPLETATO) {
	        // verifica della risposta da parte del server
	        if(statusText[ajax.status] === "OK") {
		      if (ajax.responseText==1) elemento.innerHTML = "<input type=\"submit\" name=\"Submit\" value=\"Continua \">";
		      else testoErr.innerHTML = "<br><font color=red>Il codice fiscale non è valido.</font>";
	    	} else {
	          // errore di caricamento
	          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
	          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
	        }
	      } 
	    }
	
	    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
		ajax.send("cognome="+cognome+"&nome="+nome+"&sesso="+varsesso+"&comune="+comune+"&provincia="+provincia+"&dataNascita="+dataNascita+"&codFiscale="+codFiscale); 
	  }
	 }  
}


function verificaDatiUtili(eMail,tel1,indirizzo,nCiv,comune) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("bottone");
    
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "verificaDatiUtili.php", true);
		
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // impostazione controllo e stato della richiesta
    ajax.onreadystatechange = function() {
      
      // verifica dello stato
      if(ajax.readyState === readyState.COMPLETATO) {
        // verifica della risposta da parte del server
        if(statusText[ajax.status] === "OK") {
          elemento.innerHTML = ajax.responseText;
    	} else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("eMail="+eMail+"&tel1="+tel1+"&indirizzo="+indirizzo+"&nCiv="+nCiv+"&comune="+comune); 
  }
  
} 


function verificaUtenza(nome,pwd1,pwd2) {

  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    // assegnazione elemento del documento
    elemento = prendiElementoDaId("bottone");
    
  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "verificaUtenza.php", true);
		
    // imposto il giusto header
	//ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader ("Charset", "text/plain");


    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // impostazione controllo e stato della richiesta
    ajax.onreadystatechange = function() {
      
      // verifica dello stato
      if(ajax.readyState === readyState.COMPLETATO) {
        // verifica della risposta da parte del server
        if(statusText[ajax.status] === "OK") {
          elemento.innerHTML = ajax.responseText;
    	} else {
          // errore di caricamento
          elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
          elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
        }
      } 
    }

    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
	ajax.send("nome="+nome+"&pwd1="+pwd1+"&pwd2="+pwd2); 
  }
  
} 

function validaAnnuncio(categoria,titolo,costoIntero,costoVirgola,comune,spedizione,pagamento,via,civico){

	var 
		elemento = prendiElementoDaId("bottone"),
		bottoni ="<br><input name=\"Submit\" type=\"button\" value=\"Valida\" onClick=\"validaAnnuncio(categoria.value,titolo.value,costoIntero.value,costoVirgola.value,comune.value,spedizione.value,pagamento.value,via.value,civico.value);\">"+
                 "<input name=\"Submit2\" type=\"reset\" value=\"Annulla\"></font>",
		errore = "<font color=red>";
		
	
	if (categoria==0) {
		errore+="E' necessario inserire la categoria.";
	} else if (titolo.length<2){
		errore+="E' necessario inserire il titolo.";	
	} else if (isNaN(costoIntero) || isNaN(costoVirgola) || costoIntero.length < 1 || costoVirgola.length < 1) {
		errore+="E' necessario inserire il costo correttamente.";	
	} else if (via.length<3){
		errore+="E' necessario inserire l'indirizzo.";	
	} else if (civico.length<1){
		errore+="E' necessario inserire il numero civico.";	
	} else if (comune==0) {
		errore+="E' necessario inserire il comune di riferimento.";	
	} else if (spedizione==0) {
		errore+="E' necessario inserire le modalità di spedizione.";	
	} else if (pagamento==0) {
		errore+="E' necessario inserire le modalità di pagamento.";	
	} else {
		elemento.innerHTML="<input name=\"Submit\" type=\"submit\" value=\"Inserisci\">";
		return;	
	}
	
	elemento.innerHTML=errore+bottoni;
	 
}

 
