Risolto.
Vorrei, prima di darti la soluzione, che tu capissi gli errori commessi.

Nel tuo codice assegni alla variabile class un valore e poi la richiami con il nome Classe.
Cosa c'è di sbagliato?
Innanzitutto che class e Classe sono due variabili diverse e in secondo luogo che "class" è un nome riservato e sarebbe meglio non usarlo.

Altro errore: la funzione switchBrowser accetta come input un'altra funzione che costituisce l'handler dell'oggetto XMLHTTP per l'evento onreadystatechange.
Ma tu non inserisci una funzione, ma il suo risultato, quando ancora la funzone non può produrre risultati dato che l'oggetto XMLHTTP non è ancora stato creato.

Ecco lo script corretto e funzionante:
codice:
function update (object, file, container) {
    if (object.length>0) {
        var url="./"+file+"?page="+object;
        XMLHTTP=switchBrowser(function(){setContent(container)});
        XMLHTTP.open("GET",url,true);
        XMLHTTP.send(null);
    }
    else {
        document.getElementById(container).innerHTML = "";
    }
}

function setContent (container) {
    if (XMLHTTP.readyState==4) {
        var element=document.getElementById(container);
        element.innerHTML=XMLHTTP.responseText;
    }
}

function switchBrowser (browser) {
    if (navigator.userAgent.indexOf("MSIE")!=(-1)) {
        var classe="Msxml2.XMLHTTP";
        if (navigator.appVersion.indexOf("MSIE 5.5")!=(-1)) {
            classe="Microsoft.XMLHTTP";
        }
        try {
            objectXMLHTTP=new ActiveXObject(classe);
            objectXMLHTTP.onreadystatechange=browser;
            return objectXMLHTTP;
        }
        catch(e) {
            alert("Errore");
        }
    }
    else {
        objectXMLHTTP=new XMLHttpRequest();
        objectXMLHTTP.onload=browser;
        objectXMLHTTP.onerror=browser;
        return objectXMLHTTP;
    }
}
Inoltre: perchè usi l'XHTML1 Strisct quando non ne rispetti nè la forma nè la filosofia?
Sarebbe meglio utilizzare un buon vecchio HTML4.01 valido che un XHTML1.0 non valido.