function assegnaXMLHttpRequest() {// lista delle variabili locali
	var XHR = null,// variabile di ritorno, nulla di default
	browserUtente = navigator.userAgent.toUpperCase();// informazioni sul nome del browser
	// browser standard con supporto nativo
	// non importa il tipo di browser
	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
		XHR = new XMLHttpRequest();
	// browser Internet Explorer
	// è necessario filtrare la versione 4
	else if(
		window.ActiveXObject &&
		browserUtente.indexOf("MSIE 4") < 0
	){
		// la versione 6 di IE ha un nome differente
		// per il tipo di oggetto ActiveX
		if(browserUtente.indexOf("MSIE 5") < 0)
			XHR = new ActiveXObject("Msxml2.XMLHTTP");// le versioni 5 e 5.5 invece sfruttano lo stesso nome
		else
			XHR = new ActiveXObject("Microsoft.XMLHTTP");
	}

	return XHR;
}
