function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
var browser = ""
if (navigator.userAgent.indexOf('MSIE 7')>0)
	{
		browser = "IE7"
	}

activateMenu = function(nav, homepage, pageId)
{	
	// Deze toegevoegd omdat er bij een aantal paginas een error ontstond. Dit leek te zijn bij de items die geen menu hebben, dus de bovenstaande items (images, geen normaal menu).
	switch(pageId)
	{
		case 20:
			homepage = true
			break
		case 5:
			homepage = true
			break
		case 274:
			homepage = true
			break
		case 116:
			homepage = true
			break
		case 217:
			homepage = true
			break
		case 7:
			homepage = true
			break
		case 8:
			homepage = true
			break
		case 117:
			homepage = true
			break
		case 118:
			homepage = true
			break
		default:
			homepage = homepage
			break;
	}
	var obj = document.getElementById("mnu_" + pageId);
	var currentCount = 0;
	var ObjAllCurrentTags = new Array();
	var allPageTags = new Array(); 
	var allPageTags=document.getElementById("navMainMenu").getElementsByTagName("LI"); 
	//Cycle through the tags using a for loop 
	 for (i=0; i<allPageTags.length; i++) 
	 { 
			strSub = allPageTags[i].className
			strSub = Right(strSub, 7)

			if (strSub=="current") { 
				currentCount = currentCount + 1
					if (currentCount == 1)
					{
						allCurrentTags = allPageTags[i].getElementsByTagName("ul"); 
						if(homepage != true){
							ObjAllCurrentTags = allCurrentTags[0];
						}
					}
			}
	}

	if(homepage != true){
			if (!(ObjAllCurrentTags.style)) {}
			else {ObjAllCurrentTags.style.display="block";}
	}

	var navroot = document.getElementById(nav);
		var lis=navroot.getElementsByTagName("LI"); /* Get all the list items within the menu */
		var ulis;
		for (i=0; i<lis.length; i++)
		{
			if(lis[i].childNodes[2] != undefined)
			{
				if(lis[i].childNodes[2].tagName=="UL") /* If the LI has another menu level */
				{
						ulis = lis[i].getElementsByTagName("UL");
						for(j=0; j<ulis.length;j++)
						{
							if (j > 0)
							{
									lis[i].onmouseover=function() /* assign the function to the LI */
									{	
									//this.id is het hele 2e nivo ul, als er een 3e is!
										if(homepage != true){
											if (!(ObjAllCurrentTags.style)) {}
											else {ObjAllCurrentTags.style.display="none";}
										}
										this.childNodes[2].style.display="block"; /* display the inner menu */
										
										//hoe het onderscheid tussen de allereerste en de allerlaatste, deze gaan nog fout. binnen dossiers dus.
										var sClassname=this.childNodes[2].childNodes[1].className
										if (sClassname == "first hasChildren")
										{
											//this.childNodes[2].childNodes[1].style.border="1px solid white";
											//hoe te bepalen of dit eerste/laatste is?!?!??!?!
										}
										
										
									}
									lis[i].onmouseout=function()
									{      
										this.childNodes[2].style.display="none";
										if(homepage != true){
											if (!(ObjAllCurrentTags.style)) {}
											else {ObjAllCurrentTags.style.display="block";}
											
										}
									}
							}
							else
							{
									//var curLevv = getLevel(lis[i]);
									lis[i].onmouseover=function()
									{
										if(getLevel(this) == 2)
										{
											//als derde level, dan click en geen over!
											//dus als has UL eronder, dan click
											//this.id is het UL waar de subs onderhangen. Deze wordt ook alleen gedaan als van het 3e nivo.
											var sClassname = this.className
											if (sClassname == "hasChildren")
											{
												//als haschildren, dan niet uitklappen, maar laten zien door te klikken.
												this.childNodes[3].style.display="none";
											}
										}
										else
										{
											//Dit is hoofdmenu, alles wat ONDER de geselecteerde zit.
											if(homepage != true){
											if (!(ObjAllCurrentTags.style)) {}
											else {ObjAllCurrentTags.style.display="none";}
											}
											
										this.childNodes[2].style.display="block";		
										}
									}
				

									lis[i].onmouseout=function()
									{   
										var curLev = getLevel(this);
										if (curLev < 2 ){this.childNodes[2].style.display="none"}; 
										
											if(homepage != true){
												if (!(ObjAllCurrentTags.style)) {}
												else {ObjAllCurrentTags.style.display="block";}
												}
									}

							}  //einde else

						}

					
						
				}
			}
	}

	var tempHC = document.getElementsByClassName("hasChildren")
	for(i=0;i<tempHC.length;i++) {
	tempHC[i].innerHTML = "<img src='/images/btn_plus3.gif' align='left'>" + tempHC[i].innerHTML;
	tempHC[i].style.padding = "0 0 0 0";
	tempHC[i].style.margin = "0 0 0 -2px";
	
	//als ie7...
	if (browser=="IE7") 
		{
		tempHC[i].childNodes[1].style.padding="0 0 0 2px";
		}
	}

	var tempEx = document.getElementsByClassName("expanded")
	for(i=0;i<tempEx.length;i++) {
		tempEx[i].innerHTML = "<img src='/images/btn_down3.gif' align='left'>" + tempEx[i].innerHTML;
		tempEx[i].style.padding = "0 0 0 0";
		tempEx[i].style.margin = "0 0 0 -2px";
		tempEx[0].childNodes[1].style.backgroundColor = "#A6DFCC";
	//	tempEx[0].childNodes[1].style.border = "1px solid black";
	//	tempEx[0].childNodes[1].style.color = "yellow";

		{}

	//als ie7...
	if (browser=="IE7") 
		{
		tempEx[i].childNodes[1].style.padding="0 0 0 2px";
		}
	
	//als expanded dan gaf die de dropdown uls niet meer weer, met de 4 regels hieronder doet ie dat weer wel.
	tempEx[i].childNodes[3].style.position = "relative";
	tempEx[i].childNodes[3].style.top = "0";
	tempEx[i].childNodes[3].style.left = "0";
	tempEx[i].childNodes[3].style.display="block"; 

	}



	
	if(homepage != true){
		if(obj){
				ulis = obj.getElementsByTagName("UL");
				for (i=0; i<ulis.length; i++)
				{
					ulis[i].style.display = "block";
						
				}
		
		
				var level = getLevel(obj);

				/* hoofdmenu items = level=1*/
				if (level==1) {
					if (ulis.length > 1)
					{
					  /* om al uitgeklapte subsub items weer terug te zetten */
						for(j=1; j<ulis.length;j++)
						{
							ulis[j].style.display = "none";
						}
					}
				}
		
				/* deze was >2 .... door bug bij 4e nivo (infinite loop?) op ==3 gezet. Dit lijkt te werken */
				while(level == 3 )
				{
					obj = getParent(obj);
					obj.style.display = "block";
					alert('bluh');
					level--;
				}
		
		
				/* Dit is voor het 3e nivo bug als 2e nivo geselecteerd. */
				if(ulis[0] != undefined) 
				{
					/*  Nu 'opgelost' met het onderstaande style gebeuren... */
					if (level == 2)
					 {
		//				alert(getParent(ulis[0]))
						/* dit alleen als het niet hoofdmenu is.... */
						ulis[0].style.position = "relative";
						ulis[0].style.top = "0";
						ulis[0].style.left = "0";
						//ulis[0].innerHTML += "";
					}
				}
				else
				{
						/* hier dus iets voor het 3e nivo bug als 3e nivo is geselecteerd */
						obj.style.position = "relative";
						obj.style.top = "0";
						obj.style.left = "0";
				}
		} //end if obj
	}


}


function getLevel(node)
{
	var level = 0;
	while(node.parentNode != undefined)
	{
		node = node.parentNode;
		if(node.id != undefined)
		{
			if(node.id.indexOf('mnuul') == 0)
				level++;
		}
	}
	return level;
}

function getId(mnuid)
{
	var pos = mnuid.indexOf('_');
	var len = mnuid.length;
	return Right(mnuid, len - pos - 1); 
}

function getParent(node)
{
	while(node.parentNode.id.indexOf('mnuul') != 0)
	{
		if(node.parentNode == undefined) 
			return undefined;
	}
	return node.parentNode;
}

