Neo: Netscape 4/6 und IE4 zusammen mit dynamischen Inhalt per JS

Folgendes Problem: In einer Schleife erzeuge ich per JavaScript eine Tabelle, 5 Spalten breit, beliebig viele Zeilen hoch. In jede Zelle kommt ein kleines Bild (100x75).
Im Internet Explorer 5 klappt alles prima, im IE 4 nicht, Netscape 4.7 macht keine Scrollbalken mehr, beim Resize werden nur noch Platzhalter angezeigt, und Netscape 6 zeigt gar nichts an.

Hiermit übergebe ich den in der Variable gespeicherten Quellcode dem Browser:
        if (document.all)
                Microsoft.innerHTML = htmlcode;
        if (document.layers) {
                document.Netscape.document.write(htmlcode);
                document.Netscape.document.close(); }
Im Body-Teil gibts einmal:
<div id="Microsoft"></div>
<layer id="Netscape"></layer>

Was nun? (Ich hab mal den ganzen Quellcode eingefügt, vielleicht liegts wo anders dran)

<script language="JavaScript">
  var nAnzahlBilder;
  var strOrdnerBilder, strOrdnerMiniaturbilder;
  var strPfadViewdatei, strPfadLeerPixel;

// ******************************************
  nAnzahlBilder = 57;
  strOrdnerBilder = "images/";
  strOrdnerMiniaturbilder = "images/miniatur/";
  strPfadViewdatei = "view.html";
  strPfadLeerPixel = "images/leerpixel.gif";
  // ******************************************

function buildlist()
  {
   // 5 Bilder pro Zeile
   // Jede Zeile wird durchlaufen (Schleife 1)
   // In jeder Zeile ein Bild (Schleife 2, verschachtelt)
   // Nicht vorhandene Bilder (z.B. bei ungeraden Zahlen)
   // werden durch ein unsichtbares Bild ersetzt, um die
   // Anordnung der Bilder beizubehallten

// Funktioniert auch im Netscape, jedoch nur bedingt
   // Wenn die Liste größer als der Bildschirm ist, erscheinen
   // keine Skrollbalken, das Anzeigen der großen Bilder klappt trotzdem
   // außerdem wird die Liste erst angezeigt, wenn alle Bilder
   // geladen sind

// (im Gegensatz zum IE, wo man den Aufbau der Seite beobachten kann
   // und sich schon die ersten Bilder angucken kann, während die
   // Seite noch geladen wird

var htmlcode;
   var nRows;
   var i, n, currentImageNumber;

nRows = (nAnzahlBilder + (5 - (nAnzahlBilder % 5))) / 5; // Mathe kann ich noch *g*

htmlcode = "<font size=2>Momentan haben wir " + nAnzahlBilder + " Bilder vom Abitur vorliegen.<br>Vergrößerung nur für Internet Explorer 5.0 und Netscape 4.0 (oder höher) geeignet</font>";

htmlcode += "<table width=530 cellpadding=0 cellspacing=6>";
   for (i = 1; i <= nRows; i++)
   {
    htmlcode += "<tr>"
    for (n = 1; n <= 5; n++)
    {
     currentImageNumber = ((i - 1) * 5) + n;
     if (currentImageNumber > nAnzahlBilder)
       htmlcode += "<td align=center><img src="" + strPfadLeerPixel + "" border=0 width=100 height=75></td>";  // unsichtbares Bild
     else
       htmlcode += "<td align=center><a href="" + strPfadViewdatei + "?" + currentImageNumber + ".jpg"><img src="" + strOrdnerMiniaturbilder + currentImageNumber + ".jpg" border=0></a></td>";
    }
    htmlcode += "</tr>";
   }
   htmlcode += "</table>";

if (document.all)
                Microsoft.innerHTML = htmlcode;
        if (document.layers) {
                document.Netscape.document.write(htmlcode);
                document.Netscape.document.close(); }
  }
</script>
<base target="_self">
</head>
<body onLoad="buildlist();">

<div id="Microsoft"></div>
<layer id="Netscape"></layer>