	var k = 0;
	var iMouseTimer = 500;
	var arrMenusToClose = new Array();
	var arrUlLefts = new Array();
	secondLevelTopAdd=0;
	secondLevelLeftAdd=0;	
	function openMenu(aMenuItem)
	{
		aMenuItem.className +=" sfhover";
	}
	
	
	function closeMenu(menuItemToCloseId)
	{
		menuItemToClose = document.getElementById(menuItemToCloseId);
		menuItemToClose.className = "";		
	}
	
	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;
			sfEls[i].onmouseover=  function() 
				{
					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(this);


					myframe=document.getElementById('ifrTest')
					myframe2=document.getElementById('ifrTest2')
					a=document.getElementById(this.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 && this.children.length>1){

					
						if ((a.parentNode.parentNode.id != null) && (a.parentNode.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 (this.children.length>1){
								secondLevelTopAdd=this.children[1].offsetTop;
								secondLevelLeftAdd=this.children[1].offsetLeft;
							
							}
						}
						
						inSecondLevel=0;
						if ((a.parentNode.parentNode.parentNode.parentNode.id != null) && (a.parentNode.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 (document.getElementById("nq_toolbar") != null)
						{
							//secondLevelTopAdd=148;
						}
						a=this.children[1];
						k++;
						//document.getElementById("il_title").innerHTML = k + ", id = " +a.id + ",TagName=" +a.tagName + ",left: " + arrUlLefts[a.id] + " <br>" + document.getElementById("il_title").innerHTML ;
						//var myframe1 = createIFrame(this.id);
						
						//myframe1.style.width=a.offsetWidth;
						//myframe1.style.width=200;
						//myframe1.style.left=getObjPosLeft(a); 
						//myframe1.style.height=a.offsetHeight-5;	
						//alert(this.innerHTML);     
						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;
							
						}
						

					}
					else {
						//alert(this.children.length);
					}				
	
				}
	
			sfEls[i].onmouseout=
				function() 
				{
					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';					
					k++;
					//document.getElementById("il_title").innerHTML = k + "closeframe<br>" + document.getElementById("il_title").innerHTML ;
					

				}
		}
	}
	
	
	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";
		//iframe.setAttribute("style", "z-index:1;position:absolute;top:250px;left:100px;display:block;");

		document.body.appendChild(iframe);
		return iframe;
	}
	
	
	//---------------------------
	function getObjPosLeft(obj)
	{
		return obj.getBoundingClientRect().left;
	}
	
	//---------------------------
	function getObjPosTop(obj)
	{
		return obj.getBoundingClientRect().top;
/*	    var curtop = 0;
	    while (obj.offsetParent)
	    {
	        curtop += obj.offsetTop;
	        obj = obj.offsetParent;
	    }
	    return curtop;*/
	}
