var _arrSubmenu = new Array();
var _arrParentMenus = new Array();
var _objFlash = null;		
var _objActive = null;
var _objActiveDiv = null;
var _nMenuYOffset = 2;

function Element_GetXPos(obj)
{
	var curleft = 0;
	if (document.getElementById || document.all)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curleft += obj.x;
	return curleft;
}
//
function Element_GetYPos(obj)
{
	var curtop = 0;
	if (document.getElementById || document.all)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curtop += obj.y;
	return curtop;
}

function _NavMenu_ItemMouseOut(e, classname, level)
{
	var f = 0;
	var found = false;
	
	for(f = 0; f < _arrParentMenus.length; f++)
	{
		if(_arrParentMenus[f] == e)
		{
			found = true;
		}
	}
	
	if(found == false)
	{
		var tempclassname = e.className;
	
		if(tempclassname.indexOf("_") > -1)
			tempclassname = tempclassname.substring(0,tempclassname.indexOf("_"));
			
		e.className = tempclassname;
	}
		
	_objActive = null;
}	

function _NavMenu_Out()
{
	if(_objActive == null && _objActiveDiv == null)
	{
		_NavMenu_HideSubMenus();
	}
}

function _NavMenu_ItemMouseOver(e, classname, level, subItemID)
{
	e.className = classname + "_Over";
	
	_objActive = e;

	if(_arrSubmenu.length > level)
	{
		var f = _arrSubmenu.length;
		
		while(f > level)
		{
			f --;
			var temp = _arrSubmenu[f];
			if(temp.id != "_NavMenu_" + subItemID)
			{
				temp.style.display = "none";
				var tempclassname = _arrParentMenus[f].className;
				
				if(tempclassname.indexOf("_") > -1)
					tempclassname = tempclassname.substring(0,tempclassname.indexOf("_"));
				
				_arrParentMenus[f].className = tempclassname;

				_arrSubmenu.pop(f);	
				_arrParentMenus.pop(f);				
			}
		}
	}
	
	if(subItemID)
	{
		var objMenu = document.getElementById("_NavMenu_" + subItemID);
		if( objMenu.style.display == "none" )
		{
			
			var x = Element_GetXPos(e) + e.offsetWidth;
			var y = Element_GetYPos(e) - 2;
			
			_PositionSubMenu(objMenu, x, y);
			
			//objMenu.style.top = y;
			//objMenu.style.left = x;
			
			_arrSubmenu.push(objMenu);
			_arrParentMenus.push(e);
			
			var arrTemp = objMenu.getElementsByTagName("td");
			f = 0;
			
			for(f = 0; f < arrTemp.length; f++)
			{
				if(arrTemp[f].className != "")
				{
					var tempclassname = arrTemp[f].className;
	
					if(tempclassname.indexOf("_") > -1)
						tempclassname = tempclassname.substring(0,tempclassname.indexOf("_"));
					
					arrTemp[f].className = tempclassname;
				}
			}
		}
	}
}
function _PositionSubMenu(obj, x, y)
{
	if(document.all){
		nWindowWidth = top.document.body.offsetWidth;
		nWindowHeight = top.document.body.offsetHeight;
	}
	else{
		nWindowWidth = top.innerWidth;
		nWindowHeight = top.innerHeight;
	}
	obj.style.top = 0;
	obj.style.left = 0;
	obj.style.visibility = "hidden";
	
	obj.style.display = "inline";
	var objH = obj.offsetHeight;
	
	if(y + objH > nWindowHeight)
	{
		y = y - ( (y + objH ) - nWindowHeight );
	} 
	
	obj.style.top = y + _nMenuYOffset;
	obj.style.left = x;
	
	obj.style.visibility = "visible";
	
}
function _NavMenu_ClickHandler(obj, classname, executeMethod)
{
	_NavMenu_Flash(obj, classname, 0, 1, executeMethod);
}
function _NavMenu_Flash(obj, classname, number, mode, executeMethod)
{
	var returnMode = 0;
	if(obj)
		_objFlash = obj;

	if(number == 3)	{
	var s = new String();
	s = executeMethod;
	s = s.replace(/##39##/g, "\\'");
	//alert(executeMethod);
		//alert(executeMethod.replace(/\#\#39\#\#/g, "\\'");
		setTimeout(s, 10);
		_NavMenu_HideSubMenus(classname);
		_objFlash = null;
		return;
	}
	
	if( mode == 1 )	{
		_objFlash.className =  classname;
		returnMode = 0;
	}
	else{	
		_objFlash.className = classname + "_Over";
		returnMode = 1;
		number ++;
	}
	executeMethod = executeMethod.replace(/'/g, "\\'");

	method = "_NavMenu_Flash(null, \"" + classname + "\", " + number + ", " + returnMode + ", \"" + executeMethod + "\");";
	
	setTimeout(method, 50);
	
}
function _NavMenu_HideSubMenus(classname)
{

	var f = _arrSubmenu.length;
	
	while(f > 0)
	{
		f--;
		var temp = _arrSubmenu[f];

		temp.style.display = "none";
		var tempclassname = _arrParentMenus[f].className;
	
		if(tempclassname.indexOf("_") > -1)
			tempclassname = tempclassname.substring(0,tempclassname.indexOf("_"));
		
		_arrParentMenus[f].className = tempclassname;

		_arrSubmenu.pop(f);	
		_arrParentMenus.pop(f);	
		
	}
	if(_objFlash != null)
		_objFlash.className = classname;
	
}

