//the actual menu

function menu (){//look, i'm not a singleton!
	this.menuDelayPointer = null;

			this.init = function(delay, mainID){
				this.mainID = mainID;
				
				var self = this;

				var nodes = document.getElementById(this.mainID).getElementsByTagName('li');
				var nodesLength = nodes.length;
				for (var i = 0; i < nodesLength; i++) {
					if (nodes[i].getElementsByTagName('ul')[0])//selecteer alleen parentnodes, als ze childnodes hebben
					{
						nodes[i].getElementsByTagName('ul')[0].style.display = 'none';
						
						nodes[i].onmouseover = function(){
							
							//this.className = 'parentMenuItem_active';
							
							self.hideMenu();
							this.getElementsByTagName('ul')[0].style.display = 'block';
							
							if (self.menuDelayPointer != null) {
								clearTimeout(self.menuDelayPointer);
							}
						}
						
						nodes[i].onmouseout = function(e){
							/*if (!e) var e = window.event;
							if (e.target) targ = e.target;
							else if (e.srcElement) targ = e.srcElement;
							
							console.log(targ.className)
							if(targ.className == 'parentMenuItem_active')
							{
								targ.className = 'ParentMenuItem';
							}*/
							
							self.menuDelayPointer = setTimeout(function(){
								self.hideMenu();
							}, delay);
						}
					}
				}
				
			}
			
			this.hideMenu = function(e)
			{
				var nodes = document.getElementById(this.mainID).getElementsByTagName('li');
				var nodesLength = nodes.length;
					for(var i=0; i < nodesLength; i++)
					{
						if(nodes[i].getElementsByTagName('ul')[0])
						{
							nodes[i].getElementsByTagName('ul')[0].style.display = 'none';
						}
					}
					if(this.menuDelayPointer != null)
					{
							clearTimeout(this.menuDelayPointer);
					}
			}
		}


window.onload = function(){
	// Deze onderstaande initialisaties worden uitgevoerd in het bestandje "frontend_template.php"

	/*
	var menuObj = new menu;
	menuObj.init(200, 'menu');//250 miniseconden duurt het voordat menu auto verdwijnt
	var menuObj2 = new menu;
	menuObj2.init(200, 'mainnav_menu');//250 miniseconden duurt het voordat menu auto verdwijnt
	var menuObj3 = new menu;
	menuObj3.init(200, 'news_menu');//250 miniseconden duurt het voordat menu auto verdwijnt
	*/
}
