var tobeopened = new Array(10);
var active = null; // hold current active submenu-id

function setupMenuSystem() {
	var hoofdmenu = document.getElementById('menu');
	for(var i=0; i<hoofdmenu.childNodes.length; i++) {
		if (hoofdmenu.childNodes[i].tagName == 'LI') {
			hoofdmenu.childNodes[i].onmouseover = function(){
				// Gebruiker beweegt over een hoofdmenu-item
				id = this.id;
				if (active != this.id) {
					/**
					 * Als de gebruiker lang genoeg op de sub blijft wordt er na
					 * 175 ms een submenu geopend, deze sub wordt geannuleerd als gebruiker
					 * direct weer wegaat. Zie onder.
					 */
					tobeopened[id] = window.setTimeout('activateSubMenu(id)', 250);
				}
				active = this.id;
			}

			hoofdmenu.childNodes[i].onmouseout = function (e) {
				/**
				 * Gebruiker verlaat hoofdmenu item, kijken of er nog een timer voor
				 * dit item loopt, deze moet worden onderbroken omdat de user te snel weggaat.
				 */
				var evt = e || window.event;
				var evtTarget = evt.target || evt.srcElement;
				id = this.id;

				if (tobeopened[id] && evtTarget.nodeName == 'IMG') clearTimeout(tobeopened[id]);
			}
			setUpSubMenu('sub'+hoofdmenu.childNodes[i].id);
		}
	}
}

function setUpSubMenu(id) {
	var submenu = document.getElementById(id);
	for( var i=0; i<submenu.childNodes.length; i++) {
		if (submenu.childNodes[i].className == 'hover' || submenu.childNodes[i].className == 'nohover') {
			submenu.childNodes[i].onmouseout = "this.className='';";
			submenu.childNodes[i].onmouseover = "this.className='';";
		}
	}
}

function activateSubMenu(id) {
	// Deze functie wordt aangeroepen zodra timer over is

	var hoofdmenu = document.getElementById('menu');
	for (var i=0; i<hoofdmenu.childNodes.length; i++) {
		if (hoofdmenu.childNodes[i].tagName == 'LI') { // deactiveer
			document.getElementById('sub'+hoofdmenu.childNodes[i].id).style.display='none';
		}
	}
	document.getElementById('sub'+id).style.display='block';
}

setupMenuSystem();
