A me sembra che
1) innanzitutto Mozilla non accetta le chiamate a function che hanno lo stesso nome di eventi, quindi nel tuo codice inserisci qualsiasi nome alla function purchè non coincida con un evento.

2) Il tuo codice vuole funzionare solo con Netscape e IE, la tua if iniziale nel caso in cui ci si trovi di fronte ad un nuovo browser termina la function, quindi ti conviene eliminare le prime due righe

if (!document.layers&&!document.all)
return