Originariamente inviato da purno
Premessa: ma perchè questi che creano i vari browser non si parlano tra di loro e costringono noi a perdere tempo per correggere la babele che creano?
eh, sarebbe bello e prima o poi in una certa forma accadra'
nel frattempo personalmente la vedo da un altro punto di vista:
in un mondo come il web publishing, dove tutto sembra alla portata dell' ultimo arrivato,
(tra le tante altre cose) saper rendere cross browser uno script che per natura non lo e' puo' permettere un distinguo tra l' ultimo arrivato ed il professionista

venendo al problema,
opera e' fastidioso perche' (da sempre) cerca di farsi passare per un IE pur non essendolo:
la condizione if(document.all) si verifica anche per opera, dandogli in pasto questi filtri che non e' in grado di gestire

quindi prova sostituendo i due if(document.all) con
if(document.all && !window.opera)

ciao

P.s. non e' proprio elementare, ma volendo si potrebbe rendere cross-browser anche il fade, almeno per i browser piu' diffusi