 ///////////////////CascadedDropdown Menu/////////////////
 //Date : 08/09/2001               						//
 //Version : 1.0        								//
 //Author Mr.Arun N Kumar	                            //
 //EMail: n_arunk@hotmail.com							//		
 /////////////////////////////////////////////////////////
 // Modifications on this code is not recomended
 // Suggestions are welcome
 ////////////////////////////////////////////////////////////////
 // Version modificada por Marc Climent / m.climent@adapting.es
 // Funciona en Firefox también
 // Version 2.0adp
 ////////////////////////////////////////////////////////////////
 

function InitMenu()
{
	var bar = document.getElementById('menuBar').childNodes;
	
	for(var i = 0; i < bar.length; i++) 
	{
		if (bar[i].nodeType == 1)
		{
			//var menu = eval(bar[i].menu);
			var menu = eval(bar[i].getAttribute('menu'));
			
			menu.style.visibility = "hidden";
			bar[i].onclick = new Function("ShowMenu("+bar[i].id+")");
			
			var Items = menu.childNodes;
			
			for(var j = 0; j < Items.length; j++)
			{
				if (Items[j].id)
				{
					var menuItem = eval(Items[j].id);
		
					if(menuItem.getAttribute('menu'))
					{
						menuItem.innerHTML += '<span id="'+menuItem.id+'"_Arrow class="Arrow">4</span>';
						//var tmp = eval(menuItem.id+"_Arrow")
						// tmp.style.pixelLeft = menu.getBoundingClientRect().Right //- tmp.offsetWidth - 15
						FindSubMenu(menuItem.menu)
					}
		
					if(menuItem.getAttribute('cmd')) 
					{
						menuItem.onclick = new Function("Do("+menuItem.id+")");
					} 
		
					menuItem.onmouseover = new Function("highlight("+Items[j].id+")");
				}
			}   
		}  
	
		if (menuItem) menuItem.onmouseout = new Function("HideMenu(menuBar)");
	}  
}

function FindSubMenu(subMenu)
{
	var menu=eval(subMenu);
	var Items = menu.childNodes;
	
	for(var j = 0; j < Items.length; j++)
	{
		menu.style.visibility = "hidden";
		var menuItem = eval(Items[j].id);
		
		if(menuItem.menu!= null)
		{
			menuItem.innerHTML += '<span id="'+menuItem.id+'_Arrow" class="Arrow">4</span>';
			// var tmp = eval(menuItem.id+"_Arrow")
			//tmp.style.pixelLeft = 35 //menuItem.getBoundingClientRect().right - tmp.offsetWidth - 15
			FindSubMenu(menuItem.menu);
		}
		
		if(menuItem.getAttribute('cmd')) 
		{
			menuItem.onclick = new Function("Do("+menuItem.id+")");
		}
	
		menuItem.onmouseover = new Function("highlight("+Items[j].id+")");
	}  
} 
   
function ShowMenu(obj)
{
	//var menu = eval(obj.menu);
	var menu = eval(obj.getAttribute('menu'));
	var bar = eval(obj.id);
	
	var menuvisible = eval(menu.style.visibility == "visible");
	
	HideMenu(menuBar);
	
	if (!menuvisible)
	{
		if (bar.className=="bar") {
			bar.className="barOver";
		}
		if (bar.className=="bar2") {
			bar.className="barOver2";
		}
		
		menu.style.visibility = "visible";
		menu.style.top =  getPageCoords(obj).y + obj.offsetHeight + Bdy.scrollTop;
		menu.style.left = getPageCoords(obj).x + Bdy.scrollLeft;
	}
	else
	{
		if (bar.className=="barOver") {
			bar.className="bar";
		}
		if (bar.className=="barOver2") {
			bar.className="bar2";
		}
	}
}
   
function highlight(obj)
{
	var PElement = eval(obj.parentNode.id);
	
	if(PElement.hasChildNodes() == true)
	{
		var Elements = PElement.childNodes;
		
		for(var i = 0; i < Elements.length; i++)
		{
			if (Elements[i].id)
			{
				TE = eval(Elements[i].id);
				TE.className = "menuItem";
			}
		}
	}
	obj.className="ItemMouseOver";
	window.defaultStatus = obj.title;
	ShowSubMenu(obj);
}

function Do(obj)
{
	var cmd = eval(obj).getAttribute('cmd');
	//window.navigate(cmd);
	window.location.href = cmd;
}
   
function HideMenu(obj)
{
	if(obj.hasChildNodes())
	{  
		var child = obj.childNodes;
	
		for(var j = 0; j < child.length; j++)
		{
			if (child[j].className == "barOver")
			{
				var bar = eval(child[j].id);
				bar.className = "Bar";
			}
	
			if (child[j].id && child[j].getAttribute('menu'))
			{
				var childMenu = eval(child[j].getAttribute('menu'));
			
				if(childMenu.hasChildNodes()==true) 
					HideMenu(childMenu);
				
				childMenu.style.visibility = "hidden";
			}
		}
	}
}

function ShowSubMenu(obj)
{
	PMenu = eval(obj.parentNode.id);
	HideMenu(PMenu);
	
	if(obj.menu != null)
	{
		var menu = eval(obj.menu);
		
		menu.style.visibility = "visible";
		menu.style.top =  getPageCoords(obj).y + Bdy.scrollTop;
		menu.style.left = getPageCoords(obj).x + Bdy.scrollLeft;
		
		if(menu.getBoundingClientRect().right > window.screen.availWidth)
			menu.style.left = getPageCoords(obj).x - menu.offsetWidth;
	}
} 


function getPageCoords(element) {
	var coords = {x: 0, y: 0};
	while (element) {
		coords.x += element.offsetLeft;
		coords.y += element.offsetTop;
		element = element.offsetParent;
	}
	return coords;
} 

