// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function assegnaXMLHttpRequest() {
    var XHR = null;
    var browserUtente = navigator.userAgent.toUpperCase();

     // 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");
        else XHR = new ActiveXObject("Microsoft.XMLHTTP");
    }
 return XHR;
} 