Hola
Jamati:
Creo que tienes un problema en
Código PHP:
navRoot = document.getElementsByTagName('ul')[0].className = "menu";
Esa línea es equivalente a esta en cuestión de efectos para lo que queda de código:
Código PHP:
navRoot = "menu";
Significa que
navRoot es de tipo String, y no tiene
childNodes ni nada de eso.
Saludos.