var mainNavItems = [];

var currentMainNavItem;

var ie6BreakOutContainer;

var closeNavTimoutID;

var lastOpenedNav = -1;



function initMainNav () {

	var nav = $('navMain').firstDescendant();

	mainNavItems = nav.immediateDescendants();

	

	if (isIE6()) {		

		ie6BreakOutContainer = $('ie6BreakOutContainer');

		if (!ie6BreakOutContainer) {

			var newDiv = document.createElement('div');

			newDiv.setAttribute("id","ie6BreakOutContainer");

			document.body.appendChild(newDiv);

			ie6BreakOutContainer = $(newDiv);

		}

	}

	

	for (var i=0; i<mainNavItems.length; i++) {

		mainNavItems[i].myNavNum = i;

		mainNavItems[i].onmouseover = function () {if (setMainNavMouseOver) {setMainNavMouseOver(this.myNavNum);}};

		mainNavItems[i].onmouseout = function () {if (setMainNavMouseOut) {setMainNavMouseOut(this.myNavNum);}};

		mainNavItems[i].myMenue = mainNavItems[i].down().next(".navLevel2");

		

		breakOutFromList(i);

		

		if (mainNavItems[i].id == 'current') {			

			currentMainNavItem = i;

			setMainNavMouseOut(i);

		}

	}

	

	for (var i=0; i<mainNavItems.length; i++) {

		setIE6Specials(i);

		setPosition(i);

	}

	

	extendSubNavLinks();

}



/* verhindert im IE6, dass das Menü wieder zuklappt, wenn man mit der Maus auf einem Menüpunkt ist */

function extendSubNavLinks () {

	if (isIE6()) {

		var allInnerA = $$('.navLevel2 A');

		for (var i=0; i<allInnerA.length; i++) {

			allInnerA[i].onmouseover = function () {

				window.clearTimeout(closeNavTimoutID);

			}

		}

		

	}

}



/* menü aufklappen, bei "mouseover" */

function setMainNavMouseOver (num) {

	lastOpenedNavBak = lastOpenedNav;



	window.clearTimeout(closeNavTimoutID);

	if (num != lastOpenedNavBak) {

		instandSetMainNavMouseOut();

	}

	

	lastOpenedNav = num;



	if (num>=0 && num<mainNavItems.length && num!=lastOpenedNavBak) {

		mainNavItems[num].className = (num==currentMainNavItem-1) ? 'mainNavOverLeftCurrent' : 'mainNavOver';

		setPosition(num);

		openNavpoint(num);

	}

	num--;

	if (num>=0 && num<mainNavItems.length) {

		mainNavItems[num].className = 'mainNavOverLeft';

	}

	

}



/* menü zuklappen, bei "mouseout" */

function setMainNavMouseOut (num) {

	if (lastOpenedNav > -1 && mainNavItems[lastOpenedNav].myMenue) {

		window.clearTimeout(closeNavTimoutID);

		closeNavTimoutID = window.setTimeout('instandSetMainNavMouseOut()',50);		

	} else {

		if (num>=0 && num<mainNavItems.length) {

			mainNavItems[num].className = (num==currentMainNavItem-1) ? 'mainNavLeftCurrent' : '';

			if (closeNavpoint) closeNavpoint(num);

		}

		num--;

		if (num>=0 && num<mainNavItems.length) {

			mainNavItems[num].className = (num==currentMainNavItem-1) ? 'mainNavLeftCurrent' : '';

		}

	}

}



/* menü sofort zuklappen, ohne verzögerung (nur IE6) */

function instandSetMainNavMouseOut () {

	if (lastOpenedNav > -1) {

		window.clearTimeout(closeNavTimoutID);

		var buffer = lastOpenedNav;

		lastOpenedNav = -1;

		setMainNavMouseOut(buffer);

	}

}



/* den Menüpunkt nach unten ausklappen, falls ausklappmenü vorhanden */

function openNavpoint (num) {

	if (num>=0 && num<mainNavItems.length) {

		if (mainNavItems[num].myMenue) {

			mainNavItems[num].myMenue.style.display = 'block';

			setCorrectWitdh(mainNavItems[num].myMenue);

			hideSelectboxes(mainNavItems[num].myMenue);

		}

	}

}



/* den Menüpunkt wieder zuklappen, falls ausklappmenü vorhanden */

function closeNavpoint (num) {

	if (num>=0 && num<mainNavItems.length) {

		if (mainNavItems[num].myMenue) {

			mainNavItems[num].myMenue.style.display = 'none';

			if (isIE6()) {

				window.setTimeout('if (unhideSelectboxes && mainNavItems['+num+']) unhideSelectboxes(mainNavItems['+num+'].myMenue),10');

			}

		}

	}

}



/* position des Ausklappmenüs setzen */

function setPosition (num) {

	if (mainNavItems[num].myMenue) {

		var pos = Position.cumulativeOffset(mainNavItems[num]);

		pos[1] += mainNavItems[num].getHeight();

		

        pos[1] = pos[1] - 1;

		mainNavItems[num].myMenue.setStyle({top: pos[1]+'px', left: pos[0]+'px', position:'absolute'});

	}

}



/* nur IE6: spezielle mouseoverfunktion an die Elemente se sublise anfügen,

damit wir erkennen, ob die Maus noch über dem Menü ist */

function setIE6Specials (num) {

	if (isIE6()) {

		var newID = "breakoutMenue_"+num;

		var e = $(newID);

		if (e) {

			mainNavItems[num].myMenue = e;

			e.myNum = num;

			e.onmouseout = function () {

				setMainNavMouseOut(this.myNum);

			}

			

		}

	}

}



function setCorrectWitdh (e) {

	if (isIE6() && !e.widthIsSet) {

		var w = e.firstDescendant().offsetWidth-18;

		links = e.getElementsByTagName('A');

		for (var i=0; i<links.length; i++) {

			links[i].style.width =  w + 'px';

		}

		e.widthIsSet = true;

	}

}



/* im IE 6 müssen die Sublisten der Ausklappmenüs zur absoluten Positionierung aus der Hauptliste ausgehängt werden */

function breakOutFromList (num) {

	if (isIE6() && mainNavItems[num].myMenue) {

		var newID = "breakoutMenue_"+num;

		mainNavItems[num].myMenue.setAttribute("id",newID);

		

		var newElem = mainNavItems[num].myMenue.inspect();

		newElem += mainNavItems[num].myMenue.innerHTML

		newElem += '</ul>';

		

		mainNavItems[num].myMenue.remove();



		ie6BreakOutContainer.innerHTML = newElem + ie6BreakOutContainer.innerHTML;

	}

}



// registerOnLoadFunction (initMainNav);

