var xmlHttp = getXmlHttpObject();
var requests = new Array();

function xmlHTTPRequest(req) {
 	xmlHttp.open('GET', req, true);
 	xmlHttp.onreadystatechange = stateChanged;
 	xmlHttp.send(null);
}

function loadList(tb, id, list,selected){	
	var req='http://www.toscanafilmcommission.it/backoffice/request.php?table='+tb+'&id='+id+'&list='+list+'&selected='+selected;
	
	if (xmlHttp.readyState==1) 
		requests.push(req);
	else
	    xmlHTTPRequest(req);
}

function addOption(select, value, text) {
	 //Aggiunge un elemento ad una select
 	var option = document.createElement("option");
 	option.value = value,
 	option.text = text;
 	try {
 		select.add(option, null);
 	} 
	catch(e) {
 		//Per Internet Explorer
 		select.add(option);
 	}
}


function getSelected(select) {
 	//ritorna il valore dell'elemento selezionato
	return select.options[select.selectedIndex].value;
}


function stateChanged() {
 	if(xmlHttp.readyState == 4) {
 		//Stato OK
 		if (xmlHttp.status == 200) {
 			var resp = xmlHttp.responseText;
      
			if(resp) {
 				var values = resp.split(';');
	 			var listId = values.shift();
				var parts = listId.split('|');
				listId=parts[0];
				var selected=parts[1];
			 	var select = document.getElementById(listId);
 			
				//svuota elementi precedenti
	 			select.options.length=0
 			}
 
	 		var limit = values.length;

			for(i=0; i < limit; i++) {
	 			var pair = values[i].split('|');
	 			addOption(select, pair[0], pair[1]);
				if(pair[0]==selected) select.options.selectedIndex=i;
	 		}
		} else {
	 		alert(xmlHttp.responseText);
 		}
		
		if (requests.length>0) {
			var req=requests.shift();
			
			xmlHTTPRequest(req);
		}
	}
 
}

//funzione per abilitare Ajax, la chiamata è diversa a seconda del browser
function getXmlHttpObject() {
 	var xmlHttp=null;
 	
	try {
 		//Firefox e Opera
 		xmlHttp=new XMLHttpRequest();
 	}
 	catch(e) {
 		//Internet Explorer
 		try {
 			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
 		}
 		catch(e) {
 			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 		}
 	}
 
 	return xmlHttp;
} 
