
function MenuItem(id, menu, key){
		 if(id!=null||id==""){
		 	this.htmlObject = document.getElementById(id);
			this.htmlObject.menu = menu;
		 	this.htmlObject.key = key;
   		 	this.htmlObject.item = this;
			this.htmlObject.documentBody = document.getElementById("hmenubody");
			this.htmlObject.menuout = this.htmlObject.getAttribute("menuout");
			if(this.htmlObject.menuout == null){
				this.htmlObject.menuout = this.htmlObject.className;
			}
			this.htmlObject.menuover = this.htmlObject.getAttribute("menuover");
			this.htmlObject.subMenu = document.getElementById(this.htmlObject.getAttribute("subMenu"));		
			this.htmlObject.subMenu.parent = this.htmlObject;
			this.isTopLevel = true;
		 }else{
		 	this.isTopLevel = false;
		 }
		 this.items = null;
		 this.htmlObject.menu.timeOut = 0;
}

function Menu(keyword,menuDivId){
		 var container = document.getElementById(keyword);
		 this.items = new Array();
		 var index = 0;
		 if (container != null && container.childNodes.length > 0)
		 {
		 for(var i=0; i < container.childNodes.length;i++)
			{
				 if(container.childNodes[i].id != null && container.childNodes[i].id != ""	&& container.childNodes[i].id.indexOf("menu_")==0)
				 {
				 	this.items[index] = new MenuItem(container.childNodes[i].id,this,index);
					index++;
				 }
			}
		 }
		 this.active = null;		 		 
}

function showMenu(){
		 window.clearTimeout(this.menu.timeout);
		 if(this.menu.active != this && this.menu.active!=null){
		 		this.menu.active.className = this.menu.active.menuout;
				this.menu.active.subMenu.style.visibility="hidden";
		 }
		 if(this.menu.active == this){
		 		return;
		 }
 		 this.menu.active = this;
		 this.className = this.menuover;
		 var list = this.subMenu;
		 list.style.visibility="visible";
		 list.style.top = this.offsetTop + this.offsetHeight;
		 if(this.documentBody.dir=="rtl"){
		 	list.style.left = this.offsetLeft -(list.offsetWidth - this.offsetWidth);
		 }else{
		 	list.style.left = this.offsetLeft;
		 }
}

function showSubMenu(){
		 window.clearTimeout(this.parent.menu.timeout);
}

function hideSubMenu(){
		 this.parent.menu.timeout = window.setTimeout("rHideMenu('"+this.parent.id+"')","500");
}

function hideMenu(){
		 this.menu.timeout = window.setTimeout("rHideMenu('"+this.id+"')","500");
}

function rHideMenu(objId){
		 var obj = document.getElementById(objId);
		 obj.className = obj.menuout;
		 obj.subMenu.style.visibility="hidden";
		 obj.menu.active=null;
}

function reallyHideMenu(){
}

function initMenu(menu){
	for(var i=0; i<menu.items.length;i++){
			menu.items[i].htmlObject.className=menu.items[i].htmlObject.menuout;	
			menu.items[i].htmlObject.onmouseover = showMenu;
			menu.items[i].htmlObject.onmouseout = hideMenu;
			if(menu.items[i].htmlObject.subMenu!=null){
					menu.items[i].htmlObject.subMenu.onmouseover=showSubMenu;
					menu.items[i].htmlObject.subMenu.onmouseout=hideSubMenu;
					menu.items[i].htmlObject.subMenu.ssm=showSubMenu;
					menu.items[i].htmlObject.subMenu.hsm=hideSubMenu;
			}
	}
}

var childTimeout=0;
var parentTimeout=0;

function showChild(obj){
		 waitABit()
		 child = document.getElementById("sub2");
		 child.style.visibility="visible";
		 pobj = obj.parentNode.parentNode.parentNode.parentNode;
		 child.style.top = pobj.offsetTop + 16;
		 if(document.getElementById("hmenubody").dir=="rtl"){
		 	child.style.left = pobj.offsetLeft -(child.offsetWidth);
		 }else{
		 	child.style.left = pobj.offsetLeft + pobj.offsetWidth;
		 }
}

function waitABit(){
		 window.clearTimeout(childTimeout);
		 myParent = document.getElementById("outsourcing");
		 window.clearTimeout(myParent.parent.menu.timeout);
}
													
function hideChild(){
		 childTimeout = window.setTimeout("rHideChild()","100");
}

function hideMyChild(){
		 childTimeout = window.setTimeout("rHideChild()","200");
		 myParent = document.getElementById("outsourcing");
		 myParent.onmouseout(); 
}

function rHideChild(){
		 child = document.getElementById("sub2");
		 child.style.visibility="hidden";		 
}											

var HMenu = new Menu("HMenu","HMenuDiv");
initMenu(HMenu);

