Hola:
Le he echado un vistazo rápido, y he visto un par de cosas qque no comprendo:
BACKGROUND: rgb(255, 255, 255) none repeat scroll 0%;
rgb() supongo que lo reconoce explorer, pero puedes poner white o... #ffffff
none me parece que no es válido (espero que me corrijan si estoy equivocado)... tal vez quiereas usar no-repeat.
Aunque usas setAttribute para el atributo class, existe la forma básica... elemento.className (es estándar)
Bueno, seguiré viendo el código, pero paso el testigo a otros foreros.
Saludos