
/*** Code to display drop-down menus
**** Version 1.5, LGN
****
**** To use: 
***/

// Must specify in page
var TopMenuMaxNumber = 1;	

// Can specify in page
var TopMenuIdPrefix = "topmenu";	// all menus need to have an id is this prefix + a number
var TopStartCloseOpacity = 1.0; 
var TopStartCloseWait = 50;
var TopCloseFadeWait = 20;
var TopOpenCode = "";		// if specified will run this code when Open is called
var TopCloseCode = "";		// if specified will run this code when Close is called
var TopButtonIdPrefix = "topbutton";	// optional: if you specify an id prefix for the button
var TopButtonOpenClass = "";		//	that is used to open/close the menu, the css class
var TopButtonCloseClass = "";		//	will be updated

var TopMenuTimer = [];

function TopMenu_Open (menuNumber) {

	var MyObj = document.getElementById(TopMenuIdPrefix + menuNumber);
	MyObj.style.display = "block";
	Opacity(MyObj, 1);
	
	clearTimeout(TopMenuTimer[menuNumber]);

	for (var i=1; i<=TopMenuMaxNumber; i++) {
		if(i==menuNumber) {
			MyObj.style.zIndex = 500;
		} else {
			var iId = TopMenuIdPrefix + i;
			document.getElementById(iId).style.zIndex = 1;
			TopMenu_FinalClose(i);
		}
	}
	
	if (TopButtonIdPrefix && TopButtonOpenClass)
		document.getElementById(TopButtonIdPrefix + menuNumber).className = TopButtonOpenClass;

	if (TopOpenCode) eval(TopOpenCode);
}



function TopMenu_Close (menuNumber) {

	var MyObj = document.getElementById(TopMenuIdPrefix + menuNumber);
	Opacity(MyObj, TopStartCloseOpacity);
	TopMenuTimer[menuNumber] = setTimeout("TopMenu_FadeClose('"+ menuNumber +"',"+ (TopStartCloseOpacity * 10) +")", TopStartCloseWait);
}

function TopMenu_FadeClose (menuNumber, CountDown) {

	var MyObj = document.getElementById(TopMenuIdPrefix + menuNumber);
	Opacity(MyObj, (CountDown / 10));
	
	CountDown--;
	
	if (CountDown<=0) {
		TopMenu_FinalClose(menuNumber);
	} else {
		var fn = "TopMenu_FadeClose('"+ menuNumber +"',"+ CountDown +")";
		TopMenuTimer[menuNumber] = setTimeout(fn, TopCloseFadeWait);
	}


}

function TopMenu_FinalClose (menuNumber) {

	var MyObj = document.getElementById(TopMenuIdPrefix + menuNumber);
	
	MyObj.style.display = "none";
	
	if (TopButtonIdPrefix && TopButtonCloseClass)
		document.getElementById(TopButtonIdPrefix + menuNumber).className = TopButtonCloseClass;
	if (TopCloseCode) eval(TopCloseCode);
}



function Opacity (TheObj, Op) {
	TheObj.style.opacity = Op;					//standard
	TheObj.style.filter = 'alpha(opacity=' + Op * 100 + ')';	//IE
}

