buenas,
no he revisado con todo detenimiento el codigo pero atacando a lo mas visible.
document.layers ya no se usa, este codigo era especificamente para netscape. puede haber navegadores con algo de legacy support, pero no es la forma adecuada de hacer referencia a los elementos.
document.all es una coleccion especificamente de iexplorer. al igual que el anterior, no es la forma correcta para obtener los elementos. sin embargo, resulta que la W3C agregara al DOM la interface
HTMLAllCollection el cual aparentemente es lo mismo que
document.all de iexplorer. no obstante, dicha interfaz es parte del HTML5 DOM el cual aun esta en desarrollo. en fin, la forma adecuada para obtener un elemento es mediante el uso de la funcion
getElementById.