
var xmlHttp = getXmlHttpObject();

function loadList(tb, query1, query2){
 document.getElementById("load_msg").style.display = "block";
 xmlHttp.open('GET', 'richiesta.php?tb='+escape(tb)+'&query1='+escape(query1)+'&query2='+escape(query2), true);
 xmlHttp.onreadystatechange = stateChanged;
 xmlHttp.send(null);
 }


 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) {
 document.getElementById("load_msg").style.display = "none";
 var values = resp.split(';');
 var listId = values.shift();
 var select = document.getElementById(listId);
 //svuota elementi precedenti
 while (select.options.length) {
 select.remove(0);
 }

 campi = new Array('regione','provincia','comune','cap');

if(listId == campi[0]) {
	addOption (select, 0, '-- Selezionare la regione --');
	id_campo = 0;
} else if(listId == campi[1]) {
	addOption (select, 0, '-- Selezionare la provincia --');
	id_campo = 1;
} else if(listId == campi[2]) {
	 addOption (select, 0, '-- Selezionare il comune --');
	 id_campo = 2;
} else if(listId == campi[3]) {
	 addOption (select, 0, '-- Selezionare il cap --');
	 id_campo = 3;
}
var limit = values.length;

for(i=0; i < limit; i++) {
 //var pair = values[i].split('|');
	addOption(select, values[i], values[i]);
}

var container = document.getElementById(listId + '_c');
container.style.display = "block";

for(i=id_campo+1; i<campi.length; i++) {
	var container = document.getElementById(campi[i] + '_c');
	container.style.display = "none";
}

 }
 } else {
 alert(xmlHttp.responseText);
 }
 }
 }

//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;
 }