dicon: Event-Listener für dyn. generierte Element (AJAX) - IE Problem

Moin community...

ich habe folgende Aufgabenstellung, bei deren Abarbeitung ich mich seit Tagen im Kreis drehe:

Ich bastel’ an einer Menüleiste deren Elemente (Klappmenüs) dynamisch generiert werden. Dazu
erzeuge ich via Mouseclick auf ein Menüelement zwei Dinge:

1. einen httpRequest auf eine PHP-Datei die den HTML-Code für das Klappmenü liefert und
2. ein DIV, welches ins DOM eingeklinkt wird und via obj.innerHTML den HTML-Code auf den Bild-
   schirm bringt.

Beim Laden der Menüleiste registriere ich für die entsprechenden Elemente einen Event-Listener
für den OnClick-Event via window.onload(func); direkt aus der JS-Datei heraus.

Für die erste Ebene der Menüs ist alles ok - bedeutet alle Menüs klappen auf und zu, sowohl
in FF als auch im IE 6. Probleme gibt's im IE 6 bei der Event-Registrierung für die
Element im erzeugten DIV. Im IE 6 wird den Elementen offensichtlich kein Event zugewiesen in
FF schon.

Zum besseren Verständnis, und bevor ich die Sachen aufzähle, die ich schon durchprobiert habe,
ein paar Code-Snips (reduziert):

HTML-Code, den der httpRequest für Ebene 1 (Menüleiste) liefert (der Code für die Klapp-
menüs folgt demselben Prinzip).

============================== html ebene 1 snip begin ==============================

// ID der TD-Elemente basieren auf einer SQL-Abfrage, Mittelteil identisch da es sich um
   // Elemente einer Gruppe handelt

2  <div id="toolbar" class="toolbar">
3    <table cellpadding="0" cellspacing="0">
4      <tbody>
5        <tr>
6          <td id="tool_126h67j8876h_1" class="tool_button_normal" height="16">Menüpunkt 1</td>
7        </tr>
8        <tr>
9          <td id="tool_126h67j8876h_2" class="tool_button_normal" height="16">Menüpunkt 2</td>
10       </tr>
...
         <tr>
21         <td id="tool_126h67j8876h_X" class="tool_button_normal" height="16">Menüpunkt X</td>
22       </tr>
23      </tbody>
24    </table>
25  </div>
26  <script type="text/javascript">onPageLoad('126h67j8876h');</script>

=============================== html ebene 1 snip end ===============================

weiß nicht, ob das relevant ist, aber PHP liefert den Code in Form von

echo " <div id="toolbar" class="toolbar">\n";

und nicht als Variable

html .= "<div id="toolbar" class="toolbar">";
return html

Die Event-Registrierung erfolgt im Kern über folgende JS-Funktion (addEvent greift auf die
Cross-Browser Registrierung von Scott Andrew LePera zu):

=================================== js snip begin ===================================

1   onPageLoad = function(phpId){
2     var tdTool = document.getElementsByTagName('td');  // ermittelt alle TD-Elemente
3
4     for (var i = 0; i < tdTool.length; i++) {          // Für alle TD-Elemente...
5       id    = tdTool[i].id;                            // TD-Element-ID ermitteln...
6       mLev  = getMenuLev(id);                          // an die Funktion getMenuLev übergeben...
7       mId   = mLev.mId;                                // um Teil-String (Mittelteil der ID) zurückzubekommen.
8
9       if (mId == phpId) {                              // Wenn Teil-String mit Übergabeparameter übereinstimmt...
10        addEvent(tdTool[i], "click", evtShowMenu);     // setze den EventListener auf dieses TD-Element.
11        addEvent(tdTool[i], "mouseover", mOver);
12        addEvent(tdTool[i], "mouseout", mOut);
13      }
14    }
15  }

==================================== js snip end ====================================

window.onload-Idee:
Nachdem mir klar war, dass zunächst nur Events für Elemente registriert werden können, die
im DOM vorhanden sind, habe ich den window.onload()-Ansatz schnell wieder verworfen - logisch,
dass das nur für den ersten Aufruf der Menüleiste und nicht für die dynamischen Klappmenüs
funktionieren kann.

script-Block-im-HTML-Code-Idee:
Letztlich möchte ich die Events nur noch für Elemente registrieren, die noch keine haben. Also
übergebe ich im HTML-Code in Zeile 26 mit Ausführung der onPageLoad-Funktion den konstanten Teil
der TD-ID als Parameter. Dieser ist innerhalb eines Klappmenüs gleich, unterscheidet sich aber
zwischen unterschiedlichen Menüs. Wie's dann weitergeht, seht ihr an der onPageLoad-Funktion.

Diese Variante funktioniert in FF aber nicht im IE 6, der ignoriert hartnäckig die Zuweisung.

Hat jemand 'ne Idee - ich hab keine mehr. Bliebe nur noch, die Events fest im HTML-Code zu
verdrahten, find ich aber nicht besonders sexy.

Danke schon mal und Grüße, dicon