
function prendiElementoDaId(id_elemento) {
 // elemento da restituire
 var elemento;
 
 // se esiste il metodo getElementById
 // questo if sar diverso da false, null o undefined
 // e sar quindi considerato valido, come un true
 if(document.getElementById)
  elemento = document.getElementById(id_elemento);
 
 if(parent.document.getElementById)
  elemento = parent.document.getElementById(id_elemento);

 if(top.document.getElementById)
  elemento = top.document.getElementById(id_elemento);

// altrimenti  necessario usare un vecchio sistema
 else
  elemento = document.all[id_elemento];

 // restituzione elemento
 return elemento;
}


function cambiaTesto() {
 prendiElementoDaId('span0').innerHTML = 'testo cambiato';
}


function onLoad() {
 prendiElementoDaId('paragrafo').innerHTML = '<span id="span0" onclick="cambiaTesto();">cambia questo testo</span>';
}


onload = function() {
 var ajax = assegnaXMLHttpRequest();
  if(ajax) {
   // applicativo AJAX
 }
}


// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers pi recenti e diffusi
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();

 // 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;
} 
