var k = 0;
var iSideMouseTimer = 500;
var ilastSideTimeout = -1;
var arrSideMenusToClose = new Array();
var arrUlLefts = new Array();
var sidelastThis = null;
var iSideOpenMenuNo = 0;

sideSecondLevelTopAdd=0;
sideSecondLevelLeftAdd=0;
sideThirdLevelTopAdd=0;
sideThirdLevelLeftAdd=0;

function openSideMenu(aMenuItem)
{
	aMenuItem.className +=" sfSidehover";
	if ((aMenuItem.className == null) || (aMenuItem.className == "") || (aMenuItem.className == " sfSidehover"))
	{
		iSideOpenMenuNo ++;
	}
}

function closeSideMenu(sideMenuItemToCloseId)
{
	sideMenuItemToClose = document.getElementById(sideMenuItemToCloseId);
	sideMenuItemToClose.className = "";		

	var a=document.getElementById(sideMenuItemToClose.id);
	if ((a.parentNode.parentNode.id != null) && (a.parentNode.parentNode.id == "sideNav"))			
	{
		iSideOpenMenuNo = 0;
	}
	if (a.children.length>1){a.children[1].style.left ="";}	
}

sfSideHover = function() 
{
	var sfSideEls = document.getElementById("sideNav").getElementsByTagName("LI");
	for (var i=0; i<sfSideEls.length; i++) 
	{	
		sfSideEls[i].id='side_'+i;
		var a=document.getElementById(sfSideEls[i].id);
		if ((a.parentNode.parentNode.id != null) && (a.parentNode.parentNode.id == "sideNav"))
		{
			// First Level
			sfSideEls[i].onmouseover=  function() 
			{
				if (iSideOpenMenuNo == 0)
				{
					sidelastThis = this;
					ilastSideTimeout = setTimeout("onSideMenuItemMouseOver(sidelastThis);",iSideMouseTimer);
				} else
				{
					onSideMenuItemMouseOver(this);
				}
			}
		} else
		{
			sfSideEls[i].onmouseover=  function() 
			{
				onSideMenuItemMouseOver(this);
			
			}
		}

		sfSideEls[i].onmouseout=
			function() 
			{		
				clearTimeout(ilastSideTimeout);
				var iNewItemRow = arrSideMenusToClose.length;				
			  var iTimerId =  setTimeout("closeSideMenu('" + this.id + "')", iSideMouseTimer);				
				arrSideMenusToClose[iNewItemRow]= new Array();
				arrSideMenusToClose[iNewItemRow]["ID"] = this.id;
				arrSideMenusToClose[iNewItemRow]["TIMER_ID"] = iTimerId;			
				sideframe=document.getElementById('ifrSide');
				sideframe.style.display='none';
				sideframe2=document.getElementById('ifrSide2');
				sideframe2.style.display='none';	
				sideframe3=document.getElementById('ifrSide3');
				sideframe3.style.display='none';						
				k++;
			}
	}
}

//---------------------------
function getObjPosLeft(obj)
{
	return obj.getBoundingClientRect().left;
}

//---------------------------
function getObjPosTop(obj)
{
	return obj.getBoundingClientRect().top;
}

function onSideMenuItemMouseOver (aSideCurrentObject)
{
	var iLevel = arrSideMenusToClose.length;
	for (var j= 0; j< arrSideMenusToClose.length; j++)
	{
		clearTimeout(arrSideMenusToClose[j]["TIMER_ID"]);
		closeSideMenu(arrSideMenusToClose[j]["ID"]);
	}
	arrSideMenusToClose = new Array();
	openSideMenu(aSideCurrentObject);

	sideframe=document.getElementById('ifrSide');
	sideframe2=document.getElementById('ifrSide2');
	sideframe3=document.getElementById('ifrSide3');
	/*
	sideframe.style.border='1px solid black';
	sideframe2.style.border='1px solid black';
	sideframe3.style.border='1px solid black';	
	*/
	a=document.getElementById(aSideCurrentObject.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";
	if (browserName=="Microsoft Internet Explorer" && version>=5.5 && navigator.userAgent.indexOf("Opera") < 0 && aSideCurrentObject.children.length>1){

		if ((a.parentNode.id != null) && (a.parentNode.id == "sideNav")){
			//trigger runs on first level item.
			//we take the opportunity to store the first level top and left in two vars
			if (aSideCurrentObject.children.length>1){
				sideSecondLevelTopAdd=aSideCurrentObject.children[1].offsetTop;
				sideSecondLevelLeftAdd=aSideCurrentObject.children[1].offsetLeft;
			}
		}
		inSecondLevel=0;
		if ((a.parentNode.parentNode.parentNode.id != null) && (a.parentNode.parentNode.parentNode.id == "sideNav")){
			//we are now running on a second level item
			//use it later to position the second iframe correctly
			inSecondLevel=1;
		}
		inThirdLevel=0;
		if ((a.parentNode.parentNode.parentNode.parentNode.parentNode.id != null) && (a.parentNode.parentNode.parentNode.parentNode.parentNode.id == "sideNav")){
			//we are now running on a third level item
			//use it later to position the third iframe correctly
			inThirdLevel=1;
		}		
	
		a=aSideCurrentObject.children[1];
		k++;    
		sideframe.style.left = a.offsetLeft;
		sideframe.style.top=a.offsetTop;
		sideframe.style.width=a.offsetWidth;
		sideframe.style.height=a.offsetHeight;
		sideframe.style.display='block';

		if (inSecondLevel==1){	
			//we are at the second level, move the second iframe
			sideframe2.style.top=a.offsetTop+sideSecondLevelTopAdd+1;
			sideframe2.style.width=a.offsetWidth+1;
			sideframe2.style.height=a.offsetHeight;
			sideframe2.style.display='block';
			sideframe2.style.left = a.offsetLeft+sideSecondLevelLeftAdd;
			sideThirdLevelTopAdd=sideframe2.offsetTop;
			sideThirdLevelLeftAdd=sideframe2.offsetLeft;			
		}
		
		if (inThirdLevel==1){
			//we are at the third level, move the third iframe
			sideframe3.style.top=a.offsetTop+sideThirdLevelTopAdd+1;
			sideframe3.style.width=a.offsetWidth+1;
			sideframe3.style.height=a.offsetHeight;
			sideframe3.style.display='block';
			sideframe3.style.left = a.offsetLeft+sideThirdLevelLeftAdd;
		}		
	}	
}

