// Funktion zum auf- und zuklappen der Untermenüs
// wird die id eines Menüs angegeben so wird dieses
// eingeblendet, ansonsten nur das aktive Menü
function onClickVerticalNavi(navi, id) {
	// alle Untermenüs zur Navigation heraussuchen
	var elements_dd = navi.getElementsByTagName("dd");
	// die Untermenüs durchlaufen
	for (var i=0; i<elements_dd.length; i++)
	{
		// Menü erstmal ausblenden
		style = 'none';

		// kompletten Menüpunkt holen
		var element_dl = elements_dd[i].parentNode;

		// schauen ob der Hauptmenüpunkt aktiv ist
		if (element_dl.getElementsByTagName("dt")[0].className=="active") {
			style = 'block';
		} else {
			// alle <li> Tags des übergeordneten Knotens raussuchen
			var elements_li = element_dl.getElementsByTagName("li");

			// alle Tags durchlaufen
			for (var j=0; j<elements_li.length; j++)
			{
				// wenn das Tag die Klasse active hat dieses einblenden
				if (elements_li[j].className == "active") {
					style = 'block';
				}
			}
		}

		elements_dd[i].style.display=style;
	}
	// überprüfen ob ein Menü angegeben wurde und
	// dieses gegebenenfalls einblenden
	var d = document.getElementById(id);
	if (d) {d.style.display='block';}
}

// onClick Event Handler beim onLoad Ereignis der Navigation hinzufügen
// setzt das onLoad.cs voraus um mehrfaches onLoad zu ermöglichen
addLoadEvent(function() {
	// Navigation raussuchen
	var navi = document.getElementById('navi-links');

	// die dl Tags des Menüs raussuchen. Jedes Tag enthält
	// einen Hauptmenüpunkt und vorhandene Unterpunkte
	var elements_dl = navi.getElementsByTagName("dl");

	// alle dl Tags durchlaufen
	for (var i=0; i<elements_dl.length; i++)
	{
		// Referenz auf Tag des Array an Position i
		var element = elements_dl[i];
		
		// prüfen ob ein Untermenü existiert
		if (element.getElementsByTagName("dd")[0])
		{
			// den Hauptmenüpunkt (dt) raussuchen und den Handler zuweisen
			var element_dt = element.getElementsByTagName("dt")[0];

			//--------- Event Handler ----------\\
			element_dt.onclick = function()
			{
				// Untermenü (dd) raussuchen
				var element_dd = this.parentNode.getElementsByTagName("dd")[0];
				// Untermenüs auf- und zuklappen
				// id des angeklickten Menüs übergeben
				onClickVerticalNavi(navi, element_dd.id);
			}
		}
	}
	//---------------------------------------------------
	// beim onLoad werden alle Untermenüs bis
	// auf das aktive ausgeblendet
	onClickVerticalNavi(navi);
});
