Hola, Brewster
No deberías tener problema, los Gecko (Mozilla, Firefox, Netscape 7,...) usan las capas perfectamente. El problema es que hay muchas rutinas de detección de navegador (como la que estás usando) que sólo contemplan Netscape 4.x (a través de document.layers) e IE (a través de document.all)
Estas rutinas no están recomendadas por los expertos por esta razón, excluyen navegadores nuevos.
Como solución fácil, yo verificaría si es Ns4 y en caso contrario dejaría que se ejecuten las instrucciones de capas. En realidad, hay instrucciones que sólo IE entiende, pero no son muy habituales. En resumen:
Código:
<html>
<head>
<script language="javascript">
var capa
ns4 = (document.layers)? true:false
//ie4 = (document.all)? true:false
function init() {
if (ns4) {
capa = document.menu
}
else {
capa = menu.style
}
}
function muestra(obj) {
if (ns4) obj.visibility = "show";
else obj.visibility = "visible"
}
function oculta(obj) {
if (ns4) obj.visibility = "hide";
else obj.visibility = "hidden";
}
</script>
</head>
<body onLoad="init()">
<div id="menu" style= "position:Absolute;left:50; top:60; background-color:#ff1133; visibility:hidden">hola</div>
<div id="CapaNormal" style= "position:absolute;left:50; top:150;background-color:pink;"><a href="#" OnMouseOver="muestra(capa)" OnMouseOut= "oculta(capa)">Ponte encima</a>...</div>
</body>
</html>
Si, a pesar de todo, quieres detectar Mozilla y parientes, te recomiendo verificar la cadena "gecko" en el navigator.userAgent
pero puede que pierdas Opera.