// JavaScript Document
function assegnaXMLHttpRequest() 
{
   // lista delle variabili locali
   var
   // variabile di ritorno, nulla di default
   XHR = null,
   
   // informazioni sul nome del browser
   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();
   
   else if (window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) 
   {
    // browser Internet Explorer: è necessario filtrare la versione 4
    
    // 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 // le versioni 5 e 5.5 invece sfruttano lo stesso nome
      XHR = new ActiveXObject("Microsoft.XMLHTTP");
   }
  
   return XHR;
}
