var isDHTML = 0;
var isID = 0;
var isAll = 0;
var isLayers = 0;

//magic number to get menu position just right :-)
var menuadjust = -5;


if (document.getElementById) {isID = 1; isDHTML = 1;}
else {
if (document.all) {isAll = 1; isDHTML = 1;}
else {
browserVersion = parseInt(navigator.appVersion);
if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {isLayers = 1; isDHTML = 1;}
}}

function findDOM(objectID,withStyle) {
	if (withStyle == 1) {
		if (isID) { return (document.getElementById(objectID).style) ; }
		else { 
			if (isAll) { return (document.all[objectID].style); }
		else {
			if (isLayers) { return (document.layers[objectID]); }
		};}
	}
	else {
		if (isID) { return (document.getElementById(objectID)) ; }
		else { 
			if (isAll) { return (document.all[objectID]); }
		else {
			if (isLayers) { return (document.layers[objectID]); }
		};}
	}
}

var menuTop = 45;
var menuLeft = 400;

var domSMenu = null;
var oldDomSMenu = null;
var t = 0;
var lDelay = 3;
var lCount = 0;
var pause = 100;

function popMenu(menuNum){
	if (isDHTML) {
///// Sets the previous menu's visibility to hidden
		t = 2;
		if (oldDomSMenu) {
			oldDomSMenu.visibility = 'hidden'; 
			oldDomSMenu.zIndex = '0'; 
			t = 2; 
			lCount = 0;
		}

///// Defines the DOMs	of the menu objects
		var idMenu = 'menuHead';
		var domMenu = findDOM(idMenu,0);

		var idMenuOpt = 'menuHead' + menuNum;
		var domMenuOpt = findDOM(idMenuOpt,0);		

		var idSMenu = 'menu' + menuNum;
		var domSMenu = findDOM(idSMenu,1);
		
		var menuLeft, menuTop;
		
		if (isID || isAll) { 
				menuLeft = GetRealLeft(document.getElementById(idMenuOpt));
				menuTop  = GetRealTop(document.getElementById(idMenuOpt));	
				menuTop += domMenu.offsetHeight;
				menuTop += menuadjust;
			}
		if (isLayers) {
				menuLeft = document.layers[idMenu].layers[idMenuOpt].pageX - 1;
				menuTop = domMenu.pageY + domMenu.clip.height - 1;
		}

///// Positions and shows the menu
		if (oldDomSMenu != domSMenu) {	
			domSMenu.left = menuLeft; 
			domSMenu.top = menuTop;
			domSMenu.visibility = 'visible';
			domSMenu.zIndex = '100';
			oldDomSMenu = domSMenu;
		}

///// Resets oldDom if it is the same as the current DOM
		else { oldDomSMenu = null; }
	}

////// Returns a 'null' value for non-DHTML Browsers 
	else { return null; }
}

function delayHide() {
///// Checks to see if there is a menu showing and whether 
///// the global variable 't' has been set to 0
    if ((oldDomSMenu) && (t == 0)) {

///// Hides the old menu, resets menu conditions, 
///// and stops the function running
        oldDomSMenu.visibility = 'hidden'; 
        oldDomSMenu.zIndex = '0';
        oldDomSMenu = null;
        lCount = 0; 
        return false;
    }

///// Interupts the function if another menu is opened
    if (t == 2) { lCount = 0; return false; }

///// Repeats the function adding 1 to lCount each time until 
///// lCount is equal to lDelay and then sets 't' to 0 so that 
///// the menu will hide when it runs again
    if (t == 1) { 
        lCount = lCount + 1;
        if (lDelay <= lCount) { t = 0; }
        if (lDelay >= lCount) { setTimeout('delayHide(' + t + ')',pause); }
    }
}

/////////added
function GetRealLeft(el) 
{
	var xPos = el.offsetLeft;
	var tempEl = el.offsetParent;
	while (tempEl != null) 
		{
		xPos += tempEl.offsetLeft;
		tempEl = tempEl.offsetParent;
		}
	return xPos;
}

function GetRealTop(el) 
{
	var yPos = el.offsetTop;
	var tempEl = el.offsetParent;
	while (tempEl != null) 
		{
		yPos += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
		}
	return yPos;
}

function highlight(obj)
{
	obj = obj.tagName == "DIV" ? obj : obj.parentNode; 
	obj.className = obj.className == "dropdown" ? "dropdownhi" : "dropdown"; 
}

function highlighttop(spantag, bOn)
{
	if(spantag.id.substr(4) == currentSection) return; 
	spantag.className = bOn == 1 ? "topMenuOn" : "topMenuOff"; 
}