	function GetCookie(name){
		var value = "";
		var query = name+"=";

		if ( document.cookie.length > 0)
		{
			offset = document.cookie.indexOf(query);

			offset += query.length;

			end = document.cookie.indexOf(";", offset);

			if ( end == -1 ) end = document.cookie.length;
			
			value = unescape(document.cookie.substring(offset, end));


		}

		return value;
	}

	function OpenSubMenu(id, level){
		    
			elem = document.getElementById("menudiv_"+id);
			elem.style.display = "block";

			elem = document.getElementById("menuitem_"+id);
			elem.className = MenuClassName[id]['open'];

			
			currentOpenMenus[level] = id;

			SetCurrentOpenMenu(id, level);
	}

	function HighlightMenuItem(id, level){

			elem = document.getElementById("menuitem_"+id);
			elem.className = MenuClassName[id]['open'];

			
			currentOpenMenus[level] = id;

			SetCurrentOpenMenu(id, level);
	}

	function UnhighlightMenuItem(id, level){


			elem = document.getElementById("menuitem_"+id);
			elem.className = MenuClassName[id]['closed'];

			
			currentOpenMenus[level] = id;

			SetCurrentOpenMenu(id, level);
	}


	function HighlightRecursive(id, level){

			elem = document.getElementById("menuitem_"+id);
			elem.className = MenuClassName[id]['open'];

			
			currentOpenMenus[level] = id;

			SetCurrentOpenMenu(id, level);

			if ( level > 1) HighlightRecursive(MenuClassName[id]['parent'], level - 1)
	}

	function UnhighlightRecursive(id, level){


			elem = document.getElementById("menuitem_"+id);
			elem.className = MenuClassName[id]['closed'];

			
			currentOpenMenus[level] = -1;

			SetCurrentOpenMenu(-1, level);

			if ( level > 1) UnhighlightRecursive(MenuClassName[id]['parent'], level - 1)
	}
	
	function UnhighlightRecursiveUp(id, level){


			elem = document.getElementById("menuitem_"+id);
			elem.className = MenuClassName[id]['closed'];

			
			currentOpenMenus[level] = -1;

			SetCurrentOpenMenu(-1, level);

			if ( currentOpenMenus[level + 1] && currentOpenMenus[level + 1] > -1 ) UnhighlightRecursiveUp(currentOpenMenus[level + 1], level + 1)
	}

	
	function MenuItemChange(id, level)
	{		
		

		if (MenuClassName[id]['type'] == "header" )
		{


			elem = document.getElementById("menudiv_"+id);


			if ( elem.style.display == "none" ){
				elem.style.display = "block";

				if ( currentOpenMenus[level] > -1 )
				{
					document.getElementById("menuitem_"+currentOpenMenus[level]).className = MenuClassName[currentOpenMenus[level]]['closed'];
					MenuItemChange(currentOpenMenus[level], level);
				}


				currentOpenMenus[level] = id;

				SetCurrentOpenMenu(id, level);

				if ( MenuClassName[id]['parent'] > 0 )

					HighlightRecursive(MenuClassName[id]['parent'], level - 1);
			}

			else{
				
				elem.style.display = "none";
				currentOpenMenus[level] = -1;

				if ( currentOpenMenus[level + 1] && currentOpenMenus[level + 1] > -1 )
					UnhighlightRecursiveUp(currentOpenMenus[level + 1], level + 1);
			}


			

			return true;
		}
		else{

			if ( currentOpenMenus[level] > -1 )
			{
				UnhighlightMenuItem(currentOpenMenus[level], level);
			}


			currentOpenMenus[level] = id;				

			HighlightMenuItem(id, level);

			SetCurrentOpenMenu(id, level);

			if ( currentOpenMenus[level + 1] && currentOpenMenus[level + 1] > -1 )
					UnhighlightRecursiveUp(currentOpenMenus[level + 1], level + 1);

			if ( MenuClassName[id]['parent'] > 0 )

				HighlightRecursive(MenuClassName[id]['parent'], level - 1);
		}
		
		

	}

	function MenuMouseEvent(id, overOrOut, level){
		elem = document.getElementById("menuitem_"+id);

		if (overOrOut == 'over')
		{
			elem.className = MenuClassName[id]['over'];

		}

		else if (overOrOut == 'out')
		{
			if (currentOpenMenus[level] == id)
			{
				elem.className = MenuClassName[id]['open'];
			}
			else{
				elem.className = MenuClassName[id]['closed'];
			}
		}
	}

	function GetCurrentOpenMenu(flag){
		menus = new Array();

		openMenus = GetCookie("currentMenu");

		//var test_str = "";
		
		if ( openMenus == "") return null;

		levels = openMenus.split(",");

		for (i = 0; i < levels.length; i++)
		{
			tmp = levels[i].split(":");

			menus[i] = new Array();

			menus[i]["level"] = tmp[0];
			menus[i]["id"] = tmp[1];

			//test_str += "ID: "+tmp[1]+" - L: "+tmp[0]+"\n";

		}

		if ( flag == true )
		{
			tmpArray = new Array();

			for ( i = 0; i < menus.length; i++)
			{
				tmpArray[menus[i]["level"]] = menus[i]["id"];
			}

			menus = tmpArray;
		}

		//alert(test_str);

		return menus;
	}

	function SetCurrentOpenMenu(menu, level)
	{
		var menus = GetCurrentOpenMenu(false);
		var curmenu_txt = "";

		//alert("ID: "+menu+"\nLVL: "+level);

		if ( menus != null )
		{

			for(i = 0; i < menus.length; i++){

				
				curmenu_txt += menus[i]["level"]+":"+menus[i]["id"]+",";
			}


		}

		document.cookie="currentMenu="+curmenu_txt+level+":"+menu;

	}
		


var currentOpenMenus = GetCurrentOpenMenu(true);

var MenuClassName = Array();
