var lastMenu = "";
			var currentMenu = "";
			var lastSubMenu = new Object();
			lastSubMenu.main = "";
			lastSubMenu.sub = "";
			var currentSubMenu = new Object();
			currentSubMenu.main = "";
			currentSubMenu.sub = "";
			var menuDelay = 500;
			
			function showSubMenu( menuItemNumber, level )
			{
				//$('debug').innerHTML += "hover: " + menuItemNumber + ", " + currentMenu + "<br/>";
				//Verberg oude items indien van toepassing.
				hideTotalMenu();
				currentMenu = menuItemNumber;
				
				//Highlight nieuw item en toon eventueel subitem.
				setMainItemStyle( currentMenu, level, true );
				if( $( "submenuitem" + currentMenu ) != undefined )
				{
					document.getElementById( "submenuitem" + currentMenu ).style.display = 'inline-block';
				}
			}
			
			function registerSubHover( menuItemNumber, subitemnumber )
			{
				//$('debug').innerHTML += "subhover: " + currentSubMenu.main + ", " + lastSubMenu.sub + "<br/>";
				if( lastSubMenu.main != "" && lastSubMenu.sub != "" )
				{
					setSubItemStyle( lastSubMenu.main, lastSubMenu.sub, false );
				}
				currentMenu = menuItemNumber;
				currentSubMenu.main = menuItemNumber;
				currentSubMenu.sub = subitemnumber;
				
				setSubItemStyle( currentSubMenu.main, currentSubMenu.sub, true );
			}
			
			function hideMenu()
			{
				//$('debug').innerHTML += "hide: " + currentMenu + "<br/>";
				if( currentMenu != "" )
				{
					lastMenu = currentMenu;
					setTimeout( "hideTotalMenu()", menuDelay );
					if( currentSubMenu.sub != "" )
					{
						lastSubMenu.main = currentSubMenu.main;
						lastSubMenu.sub = currentSubMenu.sub;
					}
				}
				currentMenu = "";
				currentSubMenu.sub = "";
			}
			
			function hideTotalMenu()
			{
				//$('debug').innerHTML += "hiding: " + currentMenu + ", " + currentSubMenu.sub + "<br/>";
				//Het menu mag alleen verborgen worden als de gebruiker er geen item meer van aan wijst.
				var bVerder = ( currentMenu == "" && lastMenu != "" && currentSubMenu.sub == "" );
				if( bVerder )
				{
					if( lastMenu != "" )
					{
						//Zet de style van het hoofdmenuitem terug
						setMainItemStyle( lastMenu, 1, false );
						if( $( "submenuitem" + lastMenu ) != undefined )
						{
							document.getElementById( "submenuitem" + lastMenu ).style.display = 'none';
						}
					}
					
					//Zet de style verandering van het submenu terug
					if( lastSubMenu.sub != "" )
					{
						setSubItemStyle( lastSubMenu.main, lastSubMenu.sub, false );
					}
				}
			}
			
			
			function hideSubMenu( menuitemnumber )
			{
				setTimeout( "hideTotalMenu()", menuDelay );
			}

			
			function setMainItemStyle( itemnr, level, bAdd )
			{
				if( bAdd )
				{
					$( "menuitem" + itemnr ).style.backgroundPosition = "0px -" + ((level * 1.8) + 0.1) + "em";
					$( "menuitem" + itemnr ).addClass("menuhover");
					currentSubMenu.main = itemnr;
					currentSubMenu.sub = "";
				}
				else
				{
					$( "menuitem" + itemnr ).removeClass("menuhover");
					//currentSubMenu.main = "";
					//currentSubMenu.sub = "";
				}
			}
			
			function setSubItemStyle( itemnr, level, bAdd )
			{
				//$('debug').innerHTML += "styling: " + itemnr + ", " + level + "<br/>";
				if( level > 1 )
				{
					var sClass = "submenuhover";
				}
				else
				{
					var sClass = "submenutophover";
				}
				if( bAdd )
				{
					$( "menuitem" + itemnr + "_" + level ).addClass( sClass );
					$( "menuitem" + itemnr + "_" + level ).style.backgroundPosition = "200px -" + ( 185 + ((level + itemnr - 2) * 24)) + "px";
					currentSubMenu.main = itemnr;
					currentSubMenu.sub = level;
				}
				else
				{
					$( "menuitem" + itemnr + "_" + level ).removeClass( sClass );
					currentSubMenu.main = "";
					currentSubMenu.sub = "";
				}
			}