/**
* MenuScript v1.0
* Derek den Haas
* Jong Brabant
*/

var menu = {
	activeMenu : null,
	
	menuParent : null,
	menuChilds : new Array(),
	
	
	init : function()
	{
		this.menuParent = document.getElementById("menu");
		
		// Get direct childs of menuParent
		for(var x in this.menuParent.getElementsByTagName("li"))
		{
			var element = this.menuParent.getElementsByTagName("li")[x];
			
			if(element.parentNode == this.menuParent && element.getElementsByTagName("ul").length > 0)
				this.menuChilds.push(element);
		}
		
		// Now continue to add functions to the elements
		this.addFunctions();
	},
	
	addFunctions : function()
	{
		for(var x in this.menuChilds)
		{
			this.menuChilds[x].onclick = this.onClick;
			
			if(this.menuChilds[x].className.indexOf("active",0) !== -1)
				this.setActive(this.menuChilds[x]);
		}
	},
	
	onClick : function(e)
	{
		// Get the LI element
		var e = e ? e : event;
		
		var targ = e.target ? e.target : e.srcElement;
		if (targ.nodeType == 3)
			targ = targ.parentNode;
		
		while(targ.nodeName != "LI")
			targ = targ.parentNode;
		
		// Check if it isn't a subitem
		if(targ.parentNode.parentNode.nodeName != "LI")
			menu.setActive(targ);
		else
			return true;
		
		return false;
	},
	
	setActive : function(node)
	{
		// Deactivate previouse menu
		this.setInactive();
		
		this.activeMenu = node;
		this.activeMenu.className += " sub";
	},
	setInactive : function()
	{
		if(this.activeMenu)
		{
			var className = this.activeMenu.className.split(" ");
			
			// Regenerate the className
			if(className[0] != "")
			{
				var nameClass = "";
				for(var x = 0; x < className.length - 1; x++)
					nameClass += className[x] + " ";
				
				this.activeMenu.className = nameClass;
			}
			else
				this.activeMenu.className = "";
		}
	}
}

window.onload = function()
{
	menu.init();
	
}
