﻿
		var inter,inMenuFlag,isGecko;				
		var global_floatingIDStr;		
		var closeHandle = false;				
		inMenuFlag = false;		
		isGecko = navigator.userAgent.indexOf('Gecko') != -1;						
		
		//////////////////////////////////////////////////////////////////////////////
		//Find absolute position on the screen of some element
		function findPos(obj) {		
		  var curleft = curtop = 0;
			if (obj.offsetParent) {
				curleft = obj.offsetLeft
				curtop = obj.offsetTop
				while (obj = obj.offsetParent) {
					curleft += obj.offsetLeft
					curtop += obj.offsetTop
				}
			}
			return[curleft,curtop];
		}
		
		
		////////////////////////////////////////////////////////////////
		//close all floating menu
		function closeAllFloatingMenu(nonClosingListStr){
			if(closeHandle == false) return(false);
			
			var floatingIDArr,floatingMenuID,floatingMenu,nonClosingListArr,i,j,foundFlag;
			floatingIDArr = global_floatingIDStr.split(",");
			
			if(nonClosingListStr) nonClosingListArr = nonClosingListStr.split(",");				
			
			// if the menu not included in non closing list - close the menu.
			for(i=0;i<floatingIDArr.length;i++){
				foundFlag = false;
				if(nonClosingListArr && nonClosingListArr.length){
					for(j=0;j<nonClosingListArr.length;j++)
						if(floatingIDArr[i] == nonClosingListArr[j]){
							foundFlag = true;
							break;
						}
				}	
				if(foundFlag == false){
					floatingMenuID = "floating_" + floatingIDArr[i];
					floatingMenu = document.getElementById(floatingMenuID);
					floatingMenu.style.display = "none";
				}	
			}
			window.clearInterval(closeHandle);
			closeHandle = false;
		}
	
		////////////////////////////////////////////////////////////////
		//make the tree branch string list saporated by comma
		function getFloatingBranchStr(ID){
			var str,menu,floatingMenuID,cellID,menuCell,floatingMenu;
			floatingMenuID = "floating_" + ID;
			menu = document.getElementById(floatingMenuID);
			str = "";								
			if(!menu) return(false);
			str = ID;
							
			//find all parent items of that menu
			do{
				cellID = "floatingCell_" + ID;
				menuCell = document.getElementById(cellID);
				if(menuCell){
					ID = menuCell.cells[0].innerHTML; //parent ID
					floatingMenuID = "floating_" + ID;
					str = str + "," + ID;
				}
			}while(menuCell)
			return(str);
		}
		
		////////////////////////////////////////////////////////////////
		//event on main menu mouse over.			
		function floatingMenuMouseOver(cellID){
			inMenuFlag = true;
			openFloatingmenu(cellID);
			//Change color:
			floatingCell = document.getElementById("floatingCell_" + cellID);
			floatingCell.className = "floatingMenuRowOver";				
			parentID = floatingCell.cells[0].inerHTML;
			parentFloatingMenu = document.getElementById("floating_" + parentID);
			window.clearInterval(closeHandle);
			closeHandle = false;				
		}
		
		////////////////////////////////////////////////////////////////
		//event when user moves mouse out of floating menu cell
		function floatingMenuMouseOut(cellID){
			if(closeHandle == false) closeHandle = setInterval("closeAllFloatingMenu(\"\")",closeDelay);
			inMenuFlag = false;				
			var floatingCell;
			//Change color:
			floatingCell = document.getElementById("floatingCell_" + cellID);
			floatingCell.className = "floatingMenuRow";				
		}
		
		////////////////////////////////////////////////////////////////
		//event on main menu mouse down
		function floatingMenuMouseDown(cellID,link){
			if(link.length) location.href=link;
			openFloatingmenu(cellID);
		}
	
