// funzione di gestione di una richiesta ajax
function caricaPagina(tmpElementi, tmpPagina, tmpDiv) {

	var div = parent.document.getElementById(tmpDiv);
	
	// composizione del comando da inviare
	pagina = "./" + tmpPagina;
	if (pagina.indexOf("?") >= 0) {
		// trovato un punto di domanda
		if (tmpElementi.length > 0) {
			pagina = pagina + "&";
		}
	}
	else if (tmpElementi.length > 0) {
		pagina = pagina + "?";
	}
	
	// aggiunta dei parametri alla pagina
	for (i = 0; i < tmpElementi.length; i++) {
		campo = document.getElementById(tmpElementi[i]);
		if (campo.value != "") {
			pagina = pagina + tmpElementi[i] + "=" + campo.value;
			if ((i+1) != tmpElementi.length) {
				// si deve aggiungere il carattere &
				pagina = pagina + "&";
			}
		}
	}
	// verifica della pagina richiesta
	// alert(pagina);
	// preparazione del canale di comunicazione
	var XHR;
	if (window.XMLHttpRequest) {
		// browser compatibili con DOM
		XHR = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		// internet explorer
		XHR = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	// si procede solo se la comunicazione puo' funzionare
	if (XHR) {
		XHR.onreadystatechange = function () {
			switch (XHR.readyState) {
				case 0:
					// operazione non possibile
					break;
				case 1:
					// avvio caricamento dei dati
					break;
				case 2:
					// caricamento completato
					break;
				case 3:
					// attesa risposta dal server
					break;
				case 4:
					// operazione completata
					div.innerHTML = "";
					div.innerHTML = XHR.responseText;
					break;
			}
		}
		XHR.open("GET",pagina);
		XHR.send(null)	;
	}
	else {
		alert("Errore AJAX: Impossibile contattare il server");
	}
}



