così a occhio sembra che sia già cross-browser... in effetti quel test che fai all'inizio della funzione

if (document.all)

server proprio a capire se sei su Internet Explorer (la collezione all del document è SOLO su Internet Explorer mentre la document.layers è per Netscape). La funzione getElementById che testi nell'else funziona su entrambi ma penso che serva a capire se il browser è recente o se è una vecchia versione.