Salve a tutti,
sono ore che cerco inutilmente di far funzionare questo codice: il problema mi è chiaro, ma non trovo soluzione.

codice:
window.onload= function(){
   document.getElementById('nav').onmouseout=function(){
      moveToDiv(document.getElementById(cur));
   };
   
   var figli= document.getElementById('nav').childNodes;
   for(var i=0; i<figli.length; i++){
      if(figli[i].nodeType != "3"){
         figli[i].addEventListener("mouseover",function (){
            window.alert(figli[i]);
            moveToDiv(figli[i]);
         }, false);
      }
   }
   /*document.getElementById('lnav_home').onmouseover=function(){
      moveToDiv(document.getElementById('lnav_home'));
   };
   document.getElementById('lnav_azienda').onmouseover=function(){
      moveToDiv(document.getElementById('lnav_azienda'));
   };
   document.getElementById('lnav_servizi').onmouseover=function(){
      moveToDiv(document.getElementById('lnav_servizi'));
   };
   document.getElementById('lnav_contatti').onmouseover=function(){
      moveToDiv(document.getElementById('lnav_contatti'));
   };
   */
};
Quando questo codice viene eseguito l'alert ritorna sempre "undefined". Questo perchè cerca figli[i], ma i in quel momento è più grande della lunghezza dell'array figli. Quello che io stò cercando di ottenere invece è che ogni volta ogni "nodo" ricordi il valore che la variabile i aveva al momento in cui l'eventListener è stato aggiunto e chiami una funzione parametrizzata con quella precisa i, non con il valore che i assume alla fine. (in pratica vorrei dinamimicamente ottenere il codice tra i commenti /**/)
Spero possiate aiutarmi.

Grazie in anticipo