Ich bin mir nicht ganz sicher, was du meinst, allerdings solltest du bedenken, dass der Browser die Inhalte der Seite nicht asynchron aktualisiert. Wenn der Browser etwas neues anzeigen soll, dann muss er entweder dazu aufgefordert werden (sofern das möglich ist) oder die Skriptausführung muss unterbrochen sein.
Bei dem Fangen des Events bist du zwar auf einen Unterschied zwischen IE und anderen Browsern eingegangen, verwendest aber dennoch document.all. Es scheint zwar in neueren Browsern vorhanden zu sein, aber wäre es nicht doch besser, document.getElementById zu verwenden?
Mal abgesehen davon, dass das Anhängen von Events doch ehre auf andere Art geschehen sollte... (so kann nur eine Funktion gleichzeitig für ein Event angehangen werden)
Und vielleicht wäre es ganz gut, wenn du ein Framework für die Browserunabhängige Entwicklung verwenden würdest. JQuery und Prototype fallen mir da ein.
Und, auch wenn das evtl. eher meine Meinung ist, JavaScript sollte nicht das Design kennen. Es sollte also nicht im JS-Code stehen, welche Farbe unter welchen Umständen verwendet werden soll, sondern nur, welche Klassen.