Hola:
Se me había ocurrido algo similar a la condición que pusiste, pero creo que mejor debe ser un bucle while hasta que encuentre un tag div...
Código:
entrada = elemento.nextSibling;
while (entrada.nodeName != 'div')
entrada = entrada.nextSibling;
También se puede hacer con el tag img:
Código:
imagen = elemento.lastChild;
while (imagen.nodeName != 'img')
imagen = imagen.previousSibling;
Lo de la manita es el estilo del cursor:
<h3 style="cursor: pointer;">
Con lo del "onmouseover" la verdad es que me perdí... si es el onclíck (bueno, también podría ser cualquier evento... en la misma inicialización... al mismo tiempo que ocultas las capas puedes buscar los h3's y asignarle el método desplegar al evento:
for (i = 0, h3s = document.getElementsByTagName("h3"), total = h3s.length; i < total; i++)
if (h3s[i].className == "tit_entradas_dossier") h3s[i].onclick = desplegar;
Pero con esto tendrías que retocar la cabecera de la función:
function desplegar(e) {
elemento = (event.srcElement) ? event.srcElement : e.target;
// elemento es el tag que provoca el evento
...
Saludos