if(this.httpObject.readyState == 4){
Wenn der Code in der onreadystatechange-Funktion steht bezieht sich this wieder aufs Ajax-Objekt
Chat.prototype.UpdateTimer = function () {
var objChat = this;
this.doReload();
this.timerID = setTimeout(objChat.UpdateTimer(), 5000);
};
Hier dürfte das gleiche passieren, this bezieht sich beim ersten mal noch auf das Chat-Objekt, beim zweiten Aufruf via setTimeout allerdings auf das window-Objekt. Nebenbei, warum setTimeout und nicht einmalig setInterval?
MfG
bubble