Ci sono varie cose che non mi piacciono in quel pezzetto di script.
Primo che non e` generale: tra i browser moderni funziona solo con Netscape (tralasciando tutta una serie di browser molto importanti ad iniziare da Mozilla).
Secondo che viene usata la funzione (deprecata) eval(): andrebbe sostituita mediante l'uso corretto di if.
Comunque mi pare che nel setTimeout usi gli apici in maniera impropria: passi delle stringhe, leggi dei valori (che poi passi come stringa).
Vedi queste modifiche (NON sistemo gli eval() ).
codice:
var prelayer, showlayer, hidelayer;
if(document.all) {
ns6=0; ns=0; ie=1;
prelayer='document.all.';
showlayer='.style.visibility="visible"';
hidelayer='.style.visibility="hidden"';
} else if(document.layers){
ns6=0; ns=1; ie=0;
prelayer='document.layers.';
showlayer='.visibility="show"';
hidelayer='.visibility="hide"';
} else if(document.getElementById) {
ns6=1; ns=0; ie=0;
prelayer = 'document.getElementById("';
showlayer = '").style.visibility= "visible"';
hidelayer = '").style.visibility= "hidden"';
} else {
alert(" script non funzionante");
}
function layerdisplay(lname,ftis){
if (!ftis) {
eval(prelayer+lname+hidelayer);
} else {
eval(prelayer+lname+showlayer);
}
setTimeout("layerdisplay("+lname+","+ftis+")",300)
}
Ciao
Michele