/*
 * Autore: Giuseppe Leone - Master85
 * Codice gratuitamente scaricato da http://www.masterdrive.it
 * Sezione di interesse: Articoli Tecnici >> PHP
 * MasterDrive.it (c) 2006.
 */

function newXMLHttpRequest(){
	var xmlreq = false;
	
	//Controllo il tipo di oggetto XMLHttpRequest da utilizzare
	if(window.XMLHttpRequest){
		//Per browser non Microsoft
		xmlreq = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		//Cerco di creare l'oggetto via MS ActiveX
		try{
			//Nuove versioni per browser IE
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e1){ //Errore riscontrato durante la creazione dell'oggetto
			try{
				//Precedenti versioni per browser IE
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e2){ //Nuovo errore durante la creazione dell'oggetto
				xmlreq = false;
			}
		}
	}
	//Restituisco l'eventuale oggetto XMLHttpRequest
	return xmlreq;
}

/*
 * Funzione per la popolazione della Seconda SELECT
 */
function populateCalendario(inf){
	//Recupero i dati da inviare
	
	//alert("inf è: "+inf)
	//Creo un nuovo oggetto XMLHTTPRequest
	var req = newXMLHttpRequest();
	
	//Invio la richiesta
	req.open("POST", "popoladate.php", true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	
	//Invio i dati POST
	req.send("choice=" + inf);
	
	//Gestore dell'evoluzione dello stato dell'oggetto req
	//req.onreadystatechange = handleResponse(req, updateAlloggio);
}

/*
 * Ritorna una funzione per la gestione dello stato dell'oggetto req.
 * Ed infine a stato finale raggiunto, invia la risposta XML alla funzione che dovra' gestire il tutto.
 * reg = Istanza XMLHTTPRequest
 * XMLHandler = nome della funzione a cui passare il risultato XML da gestire
 */
function handleResponse(req, XMLHandler){
	return function(){
		//Controllo se l'oggetto req ha raggiunto lo stato finale
		if(req.readyState == 4){
			//Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
			if (req.status == 200){
				//A questo punto richiamo la funzione che gestira' il risultato XML
				XMLHandler(req.responseXML);
			}else{
				alert("Errore HTTP: " + req.status);
			}
		}
	}
}