salve a tutti

le domande in realtà sono 2...

1) TEORIA DEL NEXTSIBLING. Per quello che ne so io object.nextSibling dovrebbe restituire l'oggetto successivo che si trova sullo stesso livello (ossia non è un figlio) di object.
Secondo il mio browser invece pare di no

La mia pagina (per quello che ci interessa adesso) è fatta così:

codice:
-- HTML --
testo 1
<div class="dettagli">
   BLA BLA BLA
   BLA BLA BLA
</div>



-- JAVASCRIPT --

function toggle(object) {
	var detailBox = object.nextSibling.nextSibling;
	if(detailBox.style.display != 'none'){
		object.style.background ="url('img/segnoPiu.gif') no-repeat 0 0";
		detailBox.style.display = 'none';
	}
	else {
		object.style.background ="url('img/segnoMeno.gif') no-repeat 0 0";
		detailBox.style.display = 'block';
	}
}

function initEffect() {
	var links = document.getElementsByTagName('a');
	var i;
	
	for (i=0; i<links.length; i++) {
		if (links[i].getAttribute('class') == 'show') {
			// associo l'evento al click del mouse
			links[i].onclick = function() {toggle(this); return false;}
			// chiudo il contenuto per coloro che utilizzano il JS
			links[i].nextSibling.nextSibling.style.display='none';
			links[i].style.background ="url('img/segnoPiu.gif') no-repeat 0 0";

		}
		
	}
}


window.onload = function() {
	initEffect();
}
Perché, una volta localizzato il link con getElementByTagName('a') devo fare una cosa tipo nomeLink.nextSibling.nextSibling (due volte) per beccare il DIV?
Eppure il DIV è il primo elemento che si trova sullo stesso livello del collegamento ipertestuale... NO?

2) PRATICA. Come faccio a far digerire il nextSibling a IE7?

grazie mille!