var g_aObjNavStore=new Array();			//Objectarray for MenueNavItem
var g_aObjNavSubLiStore=new Array();	//Objectarray for MenueNavItemSub

function init(){
	var oDivMenueNav=document.getElementById("menuNav");
	if(oDivMenueNav!=null){
		TransformMenueNavItems(oDivMenueNav);
		TransformMenueNavSubItems(oDivMenueNav);
	}
}

function AddObjNav(oMenue,oMenueLeft,oMenueRight,oSubMenu){
	g_aObjNavStore[g_aObjNavStore.length]=new ObjNav(oMenue,oMenueLeft,oMenueRight,oSubMenu);
}

function ObjNav(oMenue,oMenueLeft,oMenueRight,oMenueSub){
	var self=this;
	this.oMenue=oMenue;
	this.oMenueLeft=oMenueLeft;
	this.oMenueRight=oMenueRight;
	this.oMenueSub=oMenueSub;

	this.iTimeout=null;

	this.oMenue.onmouseover		=function(){self.Open();}
	this.oMenueLeft.onmouseover	=function(){self.Open();}
	this.oMenueRight.onmouseover=function(){self.Open();}
	this.oMenueSub.onmouseover	=function(){self.Open();}

	this.oMenue.onmouseout		=function(){self.DelayedClose();}
	this.oMenueLeft.onmouseout	=function(){self.DelayedClose();}
	this.oMenueRight.onmouseout	=function(){self.DelayedClose();}
	this.oMenueSub.onmouseout	=function(){self.DelayedClose();}
	

	this.Open=function(){
		self.CloseAllOthers();
		self.oMenueSub.style.left=(QueryAbsoluteLeft(this.oMenue)-6)+"px"; 
		self.oMenueSub.style.top=(QueryAbsoluteTop(this.oMenue)+22)+"px";
		self.oMenueSub.style.display="block";
		self.ResetTimeout();
	}

	this.DelayedClose=function(){
		self.ResetTimeout();
		self.iTimeout=window.setTimeout(function(){self.Close()},250);
	}

	this.Close=function(){
		self.oMenueSub.style.display="none";
	}

	this.ResetTimeout=function(){
		if(self.iTimeout!=null){
			window.clearTimeout(self.iTimeout);
			self.iTimeout=null;
		}
	}

	this.CloseAllOthers=function(){
		for(var i=0;i<g_aObjNavStore.length;i++){
			g_aObjNavStore[i].Close();
		}
	}
}

function TransformMenueNavItems(oDivParent){
	var oDivMenue;
	var oDivLeft;
	var oDivRight;

	if(oDivParent!=null){
		var oDivMenue	=null;
		var oDivLeft	=null;
		var oDivRight	=null;
		
		for(var i=0;i<oDivParent.childNodes.length;i++){
			var oDiv=oDivParent.childNodes[i];	
			if(oDiv.className!=undefined){
				if(oDiv.className=="menueNavItem" || oDiv.className=="menueNavItemActive"
				|| oDiv.className=="menueNavCornerLeft" || oDiv.className=="menueNavCornerLeftActive"
				|| oDiv.className=="menueNavCornerRight" || oDiv.className=="menueNavCornerRightActive"){
					
					switch(oDiv.className){
						case "menueNavItemActive":
						case "menueNavItem":
							oDivMenue=oDiv;
							break;
						case "menueNavCornerLeft":
						case "menueNavCornerLeftActive":
							oDivLeft=oDiv;
							break;
						case "menueNavCornerRight":
						case "menueNavCornerRightActive":
							oDivRight=oDiv;
							break;
					}
					
					
					//oDivMenue=oDiv;
					/*
					//place left round corner
					oDivLeft=document.createElement("DIV");
					oDivLeft.className=(oDiv.className=="menueNavItem")?"menueNavCornerLeft":"menueNavCornerLeftActive";
					oDivLeft.style.left=(QueryAbsoluteLeft(oDiv)-210-6)+"px";
					oDivLeft.style.top="0px";
					oDivParent.appendChild(oDivLeft);
					//place right round corner
					oDivRight=document.createElement("DIV");
					oDivRight.className=(oDiv.className=="menueNavItem")?"menueNavCornerRight":"menueNavCornerRightActive";
					oDivRight.style.left=oDiv.offsetWidth+(QueryAbsoluteLeft(oDiv)-210)+"px";
					oDivRight.style.top="0px";
					oDivParent.appendChild(oDivRight);
					*/
					
					oDiv.style.filter="alpha(opacity=85)";
					oDiv.style.opacity="0.85";
					/*
					oDivLeft.style.filter="alpha(opacity=85)";
					oDivLeft.style.opacity="0.85";
					oDivRight.style.filter="alpha(opacity=85)";
					oDivRight.style.opacity="0.85";
					*/
				}
				if(oDiv.className=="menueNavItemSub"){
					AddObjNav(oDivMenue,oDivLeft,oDivRight,oDiv);
					//AddObjNav(oDivMenue,null,null,oDiv);
				}
			}
		}
	}
}

function QueryAbsoluteLeft(oElement){
	var x=0;
	if(oElement.tagName!="BODY" && oElement.tagName!="HTML"){
		return x+oElement.offsetLeft+QueryAbsoluteLeft(oElement.offsetParent);//recursion with offsetParent!!!
	}
	return x;
}


function QueryAbsoluteTop(oElement){
	var y=0;
	if(oElement.tagName!="BODY" && oElement.tagName!="HTML"){
		return y+oElement.offsetTop+QueryAbsoluteTop(oElement.offsetParent);//recursion with offsetParent!!!
	}
	return y;
}


function TransformMenueNavSubItems(oNode){
	var bIsFirstLi=true;

	for(var i=0;i<oNode.childNodes.length;i++){
		if(oNode.childNodes[i].tagName=="LI"){
			
			var oLi=oNode.childNodes[i];
			
			if(bIsFirstLi){//remove borderTop from first LI-Element
				oLi.style.borderTopWidth="0";
				bIsFirstLi=false;
			};
			
			var oA=null;
			if(oLi.childNodes[0].tagName=="A"){
				oA=oLi.childNodes[0];
			}
			AddObjNavLi(oLi,oA);
		}
		TransformMenueNavSubItems(oNode.childNodes[i]);	//recursive call!
	}
}


function AddObjNavLi(oLi,oA){
	g_aObjNavSubLiStore[g_aObjNavSubLiStore.length]=new objNavLi(oLi,oA);
}


function objNavLi(oLi,oA){
	var self=this;
	this.oLi=oLi;
	this.oA=oA;
	
	this.backgroundColorOver	="#b00132";
	this.backgroundColorOut		=this.oLi.style.backgroundColor;
	this.colorOver				="#ffffff";
	this.colorOut				=this.oA.style.color;

	this.oLi.onmouseover	=function(){self.Over();};
	this.oLi.onmouseout		=function(){self.Out();};

	this.Over=function(){
		self.oLi.style.backgroundColor=	self.backgroundColorOver;
		if(self.oA!=null){
			self.oA.style.color=		self.colorOver;
		}
	}
	this.Out=function(){
		self.oLi.style.backgroundColor=	self.backgroundColorOut;
		if(self.oA!=null){
			self.oA.style.color=		self.colorOut;
		}
	}
}