
function getProvincie (regioni) {
	var idRegione = regioni.options[regioni.selectedIndex].value;
	getProvincieId (idRegione, regioni);
}

function getProvincieId (idRegione, regioni) {
	var url = "ajax/indirizzi.php?regione="+idRegione;
	var province = regioni.form.provincia;
	
	fillSelect(url, province, '');
}

function fillSelect (url, select, def) {
	var xmlhttp = new XMLHttpRequest();
	
    xmlhttp.open("GET", url , false);
    // if needed set header information 
    // using the setRequestHeader method
    xmlhttp.send('');
    var xml = xmlhttp.responseXML;
	//alert (new XMLSerializer().serializeToString(xml));

	for (var i=select.options.length-1; i>=0; i--) {
		select.remove(0);
	}
	//xml.setProperty("SelectionLanguage", "XPath");
	
	var records = xml.documentElement.getElementsByTagName("record");
	//alert (records[0].text);
	
	for (var i=0; i<records.length; i++) {
		var id = records[i].getAttribute ("id");
		var content = records[i].textContent;
		// questo è per IE6
		if (content == undefined) {
			content = records[i].text;
		}
		
		var option = document.createElement ('option');
		option.value = id;
		option.text = content;
		
		if (def == id)
			option.selected = true;
		
		try {
			select.add(option, null);
		} catch (e) {
			select.add(option);
		}
	}
}

function getComuni (province) {
	var idProvincia = province.options[province.selectedIndex].value;
	var url = "ajax/indirizzi.php?provincia="+idProvincia;
    
	fillSelect (url, province.form.comune, '');
}

function initIndirizzi (idForm) {
	var form = document.getElementById(idForm);
	fillSelect ("ajax/indirizzi.php?regione=all", form.regione, '5');
	getProvincie (form.regione);
	getComuni (form.provincia);	
}

function setCap (comuni) {
	if (comuni.form.cap == undefined)
		return;
	
	var idComune = comuni.options[comuni.selectedIndex].value;
	var url = "ajax/indirizzi.php?comune="+idComune;
    var xmlhttp = new XMLHttpRequest();
	
    xmlhttp.open("GET", url , false);
    // if needed set header information 
    // using the setRequestHeader method
    xmlhttp.send('');
    var xml = xmlhttp.responseXML;
	var cap = comuni.form.cap;
	
	//xml.setProperty("SelectionLanguage", "XPath");
	// dovrei trovare due risultati: il primo è "tutti" che ovviamente non mi interessa, il secondo contiene invece il cap:
	var records = xml.documentElement.getElementsByTagName("record");
	
	// d'altra parte se trovo un solo risultato allora devo svuotare il cap.
	if (records.length == 1)
		comuni.form.cap.value = "";
	else	
		comuni.form.cap.value = records[1].getAttribute ("cap");
}
