var k = 0;
var iMouseTimer = 500;
var ilastTimeout = -1;
var arrMenusToClose = new Array();
var arrUlLefts = new Array();
var lastThis = null;
var iOpenMenuNo = 0;

secondLevelTopAdd=0;
secondLevelLeftAdd=0;

function openMenu(aMenuItem)
{
	aMenuItem.className +=" sfhover";
	if ((aMenuItem.className == null) || (aMenuItem.className == "") || (aMenuItem.className == " sfhover"))
	{
		iOpenMenuNo ++;
	}
}

function closeMenu(menuItemToCloseId)
{
	menuItemToClose = document.getElementById(menuItemToCloseId);
	menuItemToClose.className = "";		

	var a=document.getElementById(menuItemToClose.id);
	if ((a.parentNode.parentNode.id != null) && (a.parentNode.parentNode.id == "nav"))			
	{
		iOpenMenuNo = 0;
	}
}

function setParentMenuItemIcons()
{
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	var sfUls = document.getElementById("nav").getElementsByTagName("UL");

	for (var i=0; i<sfUls.length; i++) 
	{
		sfUls[i].id = "UL_" + i;
		arrUlLefts["UL_" + i] = getObjPosLeft(sfUls[i]); 
	}
	
	for (var i=0; i<sfEls.length; i++) 
	{
		if ((sfEls[i].parentNode.id != null) && (sfEls[i].parentNode.id == "nav"))
		{
			//set big arrow
			var sChildrenUl = sfEls[i].getElementsByTagName("UL");
			
			if (sChildrenUl.length > 0)
			{
				var sChildrenAhref = sfEls[i].getElementsByTagName("A");
				if (sChildrenAhref.length > 0)
					sChildrenAhref[0].className = "bigdaddy";
			}						
		}
		else
		{
			var sChildrenUl = sfEls[i].getElementsByTagName("UL");
			if (sChildrenUl.length > 0)
			{
				var sChildrenAhref = sfEls[i].getElementsByTagName("A");
				if (sChildrenAhref.length > 0)
				{
					sChildrenAhref[0].className = "daddy";
				}
			}		
		}
	}
}

sfHover = function() 
{
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) 
	{	
		sfEls[i].id=i;
		var a=document.getElementById(sfEls[i].id);
		if ((a.parentNode.parentNode.id != null) && (a.parentNode.parentNode.id == "nav"))
		{
			//alert("first level:" + a.innerHTML);
			// First Level
			sfEls[i].onmouseover=  function() 
			{
				if (iOpenMenuNo == 0)
				{
					lastThis = this;
					ilastTimeout = setTimeout("onMenuItemMouseOver(lastThis);",iMouseTimer);
				} else
				{
					onMenuItemMouseOver(this);
				}
			}
		} else
		{
			sfEls[i].onmouseover=  function() 
			{
				onMenuItemMouseOver(this);
			}
		}

		sfEls[i].onmouseout=
			function() 
			{
				clearTimeout(ilastTimeout);
				var iNewItemRow = arrMenusToClose.length;
			    	var iTimerId =  setTimeout("closeMenu('" + this.id + "')", iMouseTimer);
				arrMenusToClose[iNewItemRow]= new Array();
				arrMenusToClose[iNewItemRow]["ID"] = this.id;
				arrMenusToClose[iNewItemRow]["TIMER_ID"] = iTimerId;
				myframe=document.getElementById('ifrTest');
				myframe.style.display='none';
				myframe2=document.getElementById('ifrTest2');
				myframe2.style.display='none';
				myframe3=document.getElementById('ifrTest3');
				myframe3.style.display='none';					
				k++;
			}
	}
}

function createIFrame()
{	
	var iframe = document.createElement("iframe"); 
	iframe.setAttribute("id", 1);
	iframe.setAttribute("scrolling", "no");
	iframe.setAttribute("frameBorder", "1");
	iframe.setAttribute("height", "0");
	iframe.setAttribute("title", "*");
	iframe.style.zIndex = "1";
	iframe.style.position = "absolute";
	iframe.style.display = "none";
	document.body.appendChild(iframe);
	return iframe;
}

//---------------------------
function getObjPosLeft(obj)
{
	return obj.getBoundingClientRect().left;
}

//---------------------------
function getObjPosTop(obj)
{
	return obj.getBoundingClientRect().top;
}


function onMenuItemMouseOver (aCurrentObject)
{
	var iLevel = arrMenusToClose.length;
	for (var j= 0; j< arrMenusToClose.length; j++)
	{
		clearTimeout(arrMenusToClose[j]["TIMER_ID"]);
		closeMenu(arrMenusToClose[j]["ID"]);
	}
	arrMenusToClose = new Array();
	openMenu(aCurrentObject);

	myframe=document.getElementById('ifrTest');
	myframe2=document.getElementById('ifrTest2');
	myframe3=document.getElementById('ifrTest3');	
	a=document.getElementById(aCurrentObject.id);


	browserName=navigator.appName; 
	browserVer=parseInt(navigator.appVersion); 
	version=0;
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		temp=navigator.appVersion.split("MSIE");
		version=parseFloat(temp[1]);
	}
	
	var secondframeleft = "0";
	var thirdframeleft = "0";	
	if (browserName=="Microsoft Internet Explorer" && version>=5.5 && navigator.userAgent.indexOf("Opera") < 0 && aCurrentObject.children.length>1){

		if ((a.parentNode.id != null) && (a.parentNode.id == "nav")){
			//trigger runs on first level item.
			//we take the opportunity to store the first level top and left in two vars
			//b=a.parentNode.parentNode;
			if (aCurrentObject.children.length>1){
				secondLevelTopAdd=aCurrentObject.children[1].offsetTop;
				secondLevelLeftAdd=aCurrentObject.children[1].offsetLeft;
			}
		}
		
		inSecondLevel=0;
		if ((a.parentNode.parentNode.parentNode.id != null) && (a.parentNode.parentNode.parentNode.id == "nav")){
			//we are now running on a second level item
			//use it later to position the second iframe correctly
			inSecondLevel=1;
			if (aCurrentObject.children.length>1){
				thirdLevelTopAdd=secondLevelTopAdd+aCurrentObject.children[1].offsetTop;
				thirdLevelLeftAdd=secondLevelLeftAdd+aCurrentObject.children[1].offsetLeft;
			}			
		}
		
		inThirdLevel=0;
		if ((a.parentNode.parentNode.parentNode.parentNode.parentNode.id != null) && (a.parentNode.parentNode.parentNode.parentNode.parentNode.id == "nav")){
			//we are now running on a third level item
			//use it later to position the second iframe correctly		
			inThirdLevel=1;
		}		

		a=aCurrentObject.children[1];
		k++;    
		myframe.style.left = a.offsetLeft;
		myframe.style.top=a.offsetTop;	
		myframe.style.width=a.offsetWidth;
		myframe.style.height=a.offsetHeight;
		myframe.style.display='block';	

		if (inSecondLevel==1){		
			//we are at the second level, move the second iframe
			myframe2.style.top=a.offsetTop+secondLevelTopAdd+1;	
			myframe2.style.width=a.offsetWidth+1;
			myframe2.style.height=a.offsetHeight;		
			myframe2.style.display='block';
			myframe2.style.left = a.offsetLeft+secondLevelLeftAdd;
		}
		
		if (inThirdLevel==1){
			//we are at the third level, move the second iframe
			myframe3.style.top=a.offsetTop+thirdLevelTopAdd+2;	
			myframe3.style.width=a.offsetWidth+2;
			myframe3.style.height=a.offsetHeight;		
			myframe3.style.display='block';
			myframe3.style.left = a.offsetLeft+thirdLevelLeftAdd;
		}		
	}	
}
