var MenuShowHideMode = false  //** set to true for a simple show/hide menu

var topTabHeight = 0
var bottomTabHeight = 0
var MenuOpenIncrement = 10
var MenuTimerDelay = 5
var MenuTimer = null
var curMenuID = null
var openMenuIDs = new Array ()

if (window.addEventListener)
	window.addEventListener ("load", InitMenus, false)
else
	window.attachEvent ("onload", InitMenus)


function InitMenus ()
{
	try
	{
		var el = getElement ("TopMenu")
	}
	catch (e) { return }
	if (el == null) { return }
	
	if (doMenuHeightAdjustment())
		topTabHeight = el.offsetHeight - 1
	
	for (var i=0;i<20;i++)
	{
		var objID = "m_" + i
		try
		{
			var el = getElement (objID)
			el.myHeight = el.offsetHeight
			if (MenuShowHideMode)
				el.myTop = topTabHeight
			else			
				el.myTop = (bottomTabHeight-el.offsetHeight)
			el.style.top = el.myTop + "px"
		}
		catch (e) {}
	}
}


function ShowMenu (objID)
{
	var el = getElement (objID)
	if (el != null)
		if (MenuShowHideMode)
			el.className = "MenuDivOpen"
		else
			startMenuAnimationOpen (objID)
}

function HideMenu (objID)
{
	var el = getElement (objID)
	if (el != null)
		if (MenuShowHideMode)
			el.className = "MenuDivClosed"
		else
			startMenuAnimationClose (objID)
}

function getElement(id)
{
	return document.getElementById ? document.getElementById(id) : document.all ? document.all(id) : null;
}





function startMenuAnimationOpen (objID)
{
	var el = getElement ("TopMenu")
	if (doMenuHeightAdjustment())
		topTabHeight = el.offsetHeight - 1

	var el = getElement (objID)
	el.className = "MenuOpen"
	curMenuID = objID
	for (var i=0;i<openMenuIDs.length;i++)
		if (openMenuIDs[i] == objID)
			break
	if (i>=openMenuIDs.length)
		openMenuIDs.push (objID)
	if (MenuTimer	== null)
		MenuTimer = window.setTimeout ("SlideMenus()",1)
}

function startMenuAnimationClose (objID)
{
	if (curMenuID == objID)
		curMenuID = null
}

function SlideMenus ()
{
	for (var i=openMenuIDs.length-1;i>=0;i--)
	{
		var el = getElement (openMenuIDs[i])
		if (openMenuIDs[i] == curMenuID)
		{
			//*** open menu
			var newTop = el.offsetTop + MenuOpenIncrement
			if (newTop > topTabHeight)
				newTop = topTabHeight
			el.style.top = newTop + "px"
		}
		else
		{	
			//*** close menu
			var newTop = el.offsetTop - MenuOpenIncrement
			if (newTop < el.myTop)
				newTop = el.myTop
			el.style.top = newTop + "px"
			if (newTop == el.myTop)
				openMenuIDs.splice (i,1)
		}
	}
	if (openMenuIDs.length > 0)
		MenuTimer = window.setTimeout ("SlideMenus()",MenuTimerDelay)
	else
		MenuTimer = null
	
}

function doMenuHeightAdjustment ()
{
	//** if Safari, return false
	if (navigator.userAgent.indexOf ("Safari") != -1)
		return false

	return true
}
