Hola:
En realidad los efectos fade in/out se implementan variando la opacidad de las capas, entre cero y uno para mostrar y viceversa para ocultar, ambas con un temporizador; por ejemplo:
function fadein(id_capa) {
for (i = 0; i < 100; i++)
setTimeout("document.getElementById('" + id_capa + "').style.opacity = " + i, i * 10);
}
Lo puse "a capella", pero controlando bien que la cadena esté bien, o usando tal vez una función intermedia, puedes intentarlo...
Saludos