
	menuActie = false;

	function openMenu(newPath){
		
		if(menuActie){
			clearTimeout(menuActie);
		}

		f = document.navForm;
		oldPath = f.navpath.value
		//alert(f.navpath.value);
		
		closeItems(oldPath,newPath);		
		openItems(oldPath,newPath);

		f.navpath.value = newPath;

		f.actie.value = "open";
		menuActie = setTimeout("isOpen()",1000);
	}

	function closeMenu(){
		
		f = document.navForm;
		f.actie.value = "close";
	}

	function isOpen(){

		f = document.navForm;
		
		//indien laaste menuactie en sluitopdracht is
		if(f.actie.value == "close"){
			
			openMenu("0#0");
		}
	}

	function openItems(oldPath,newPath){

		//maak array			
		itemString = newPath;
		itemArray = itemString.split("|");

		i = 0
		while(i < itemArray.length){

			varString = itemArray[i];
			varArray = varString.split("#");

			parent_id = varArray[0];
			id = varArray[1];

			//alleen weergeven indien layer bestaat en nog niet zichtbaar
			if((document.getElementById("subMenu" + id))&&(document.getElementById("subMenu" + id).style.visibility != "visible")){				

				backFrame = document.getElementById('IFrame' + id);
				theSubMenu = document.getElementById("subMenu" + id);

				theSubMenu.style.visibility = "visible";

				backFrame.style.width = theSubMenu.offsetWidth;
				backFrame.style.height = theSubMenu.offsetHeight;
				backFrame.width = theSubMenu.offsetWidth;
				backFrame.height = theSubMenu.offsetHeight;
				backFrame.style.zIndex = theSubMenu.style.zIndex - 1;
				backFrame.style.display = "block";
			}


			//alleen indien deze bestaat
			if(document.getElementById("a" + id)){

				theClass = document.getElementById("a" + id);

				if((theClass.className == menu_class1)||(theClass.className == menu_class2)){
						
					var useClass = menu_class2;

				}else{
					
					var useClass = submenu_class2;
				}

				theClass.className = useClass;
			}

			//alleen indien deze bestaat
			if(document.getElementById("a" + parent_id)){
				
				theClass = document.getElementById("a" + parent_id);

				if((theClass.className == menu_class1)||(theClass.className == menu_class2)){
					
					var useClass = menu_class2;

				}else{
					
					var useClass = submenu_class2;
				}

				theClass.className = useClass;
			}

			i++;
		}
	}

	function closeItems(oldPath,newPath){

		//maak array			
		itemString = oldPath;
		itemArray = itemString.split("|");

		i = 0
		while(i < itemArray.length){

			varString = itemArray[i];
			varArray = varString.split("#");
			
			parent_id = varArray[0];
			id = varArray[1];

			pathPart = parent_id + "#" + id;
			matchPart = "|" + newPath + "|";
			matchRegExp = new RegExp("/\|" + pathPart + "\|/");

			//alleen sluiten indien item niet in het nieuwe navpath weergeven moet worden
			if(!matchPart.match(matchRegExp)){
				
				//alleen verbergen indien layer bestaat
				if(document.getElementById('subMenu' + id)){	
					
					document.getElementById('subMenu' + id).style.visibility = "hidden";
					document.getElementById('IFrame' + id).style.display = "none";
				}
			
				//alleen indien deze bestaat
				if(document.getElementById('div' + id)){	

					if(typeof(navPath[id]) == 'undefined'){
		
						theClass = document.getElementById("a" + id);

						if((theClass.className == menu_class1)||(theClass.className == menu_class2)){
							
							var useClass = menu_class1;

						}else{
							
							var useClass = submenu_class1;
						}

						theClass.className = useClass;
					}
				}

				//alleen indien deze bestaat
				if(document.getElementById('div' + parent_id)){

					if(typeof(navPath[parent_id]) == 'undefined'){
					
						theClass = document.getElementById("a" + parent_id);
						
						if((theClass.className == menu_class1)||(theClass.className == menu_class2)){
							
							var useClass = menu_class1;

						}else{
							
							var useClass = submenu_class1;
						}

						theClass.className = useClass;
					}
				}
			}
			i++;
		}
	}

