Ciao a tutti.
Ho un problema con JS su XP. Sto costruendo un sito e ad alcuni miei amici non funziona. L'unica cosa in comune è che usano XP. Uno usa Firefox e gli esce l'errore di javascript non abilitato che ho inserito ma con IE va bene, mentre l'altro usa IE e gli esce lo stesso errore. Il problema è che hanno Javascript abilitato!
Questo è il codice:

codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Diario della prima C</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/process.js"></script>
<script type="text/javascript">
window.onload = function() {
   document.getElementById("cnt-txt").innerHTML = "Caricamento...";
   loadDate("cnt-txt", "content-text-cnt");
};
</script>
</head>
<body>
<div class="content">
   <div id="cnt-txt" class="content-text">
      Errore! :(
      <div class="content-text-cnt">
         JavaScript non è attivo!
      </div>
   </div>
</div>
<div class="arrows">
   [img]img/arrow_l.png[/img]
   [img]img/arrow_r.png[/img]
</div>
</body>
</html>
Resta l'errore di js non attivo e non esce "Caricamento...". Altre persone con XP + IE mi riportano che funziona... io non ci capisco più nulla.
A loro funzionano perfettamente siti come Facebook molto ricchi di JS, perchè non gli funziona un banalissimo getElementById?

Grazie in anticipo a chi mi aiuterà,
Andrea.

(Giusto per completezza, riporto ajax.js e process.js: non sono il massimo, li ho scritto di fretta, quindi perdonate il codice traballante )

ajax.js:

codice:
// Assegna HTTPXmlRequest
function getXMLHttpRequest() {
   // Prende l'User Agent
   var userAgent = navigator.userAgent.toUpperCase();

   // Supporto nativo?
   if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") {
      return new XMLHttpRequest();
   }

   // IE è particolare, e IE4 non supporta HTTPXmlRequest
   if(window.ActiveXObject && userAgent.indexOf("MSIE 4") < 0) {
      // IE6 usa un nome differente per l'oggetto ActiveX
      if(browserUtente.indexOf("MSIE 5") < 0) {
         return new ActiveXObject("Msxml2.XMLHTTP");
      }

      // IE5 e 5.5 usano lo stesso nome
      return new ActiveXObject("Microsoft.XMLHTTP");
   }
}

// Prende il contenuto di una pagina
// Ritorna il contenuto in caso di successo
// Stringa nulla se fallisce
function getPageContent(url) {
   var ajax = getXMLHttpRequest();
   
   ajax.open("get", url, false); // Richiesta sincrona
   ajax.setRequestHeader("Connection", "Close");
   ajax.send();
   
   // Controlliamo se l'operazione è riuscita
   if(ajax.status == 200) {
      return ajax.responseText;
   }
   
   return "";
}
process.js:

codice:
var curDate = new Date();
curDate.setDate(curDate.getDate() + 1);

var weekDay = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"];
var monthName =["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"];

// Fa il padding con zero per raggiungere due cifre e ritorna stringa
// n: il numero
function padTwo(n) {
   n = n + ""; //Cast a stringa

   if(n.length < 2) {
      return "0" + n;
   }
   
   return n;
}

// Carica la data curDate
// cnt_id: id in cui viene caricata
// subid: class della div in cui c'è il testo
function loadDate(cnt_id, subid) {
   var date_txt = padTwo(curDate.getDate()) + "-" + padTwo(curDate.getMonth() + 1) + "-" + curDate.getFullYear();
   var date_str = weekDay[curDate.getDay()] + " " + curDate.getDate() + " " + monthName[curDate.getMonth()] + " " + curDate.getFullYear();
   document.getElementById(cnt_id).innerHTML = date_str +
					 "<div class=\"" + subid + "\">" +
                                         getPageContent("data/" + date_txt + ".txt") +
                                         "</div>";
}

// Carica il giorno precendente
// cnt_id: id in cui caricare
// subid: class della div in cui c'è il testo
function prevDate(cnt_id, subid) {
   curDate.setDate(curDate.getDate() - 1);
   loadDate(cnt_id, subid);
}

// Carica il giorno successivo
// cnt_id: id in cui caricare
// subid: class della div in cui c'è il testo
function nextDate(cnt_id, subid) {
   curDate.setDate(curDate.getDate() + 1);
   loadDate(cnt_id, subid);
}