
var isDHTML = 0;
var isLayers = 0;
var isAll = 0;
var isID = 0;

//*************************************
// Pre-determine browser settings
//*************************************
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;
		}
	}
}

//*************************************
// findDOM
//*************************************
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]); 
				}
			};
		}
	}
}

//*************************************
// Drop-down menu functions
//*************************************
var menuTop = 45;
var menuLeft = 400;

var domSMenu = null;
var oldDomSMenu = null;
var t = 0;
var lDelay = 5;
var lCount = 0;
var pause = 100;

//*************************************
// getGrossOffsetLeft
//*************************************
function getGrossOffsetLeft(elem) 
{
	var offset = elem.offsetLeft;
	while (elem.offsetParent) 
	{
		// correct for IE/Mac discrepancy between offset and style coordinates,
		// but not if the parent is HTML element (NN6)
		if ( (elem.offsetParent.tagName != "HTML") && (elem.style.left) )
			offset += (parseInt(elem.style.left) - parseInt(elem.offsetLeft));
		elem = elem.offsetParent;
		offset += elem.offsetLeft;
	}
	return offset;
}

//*************************************
// getGrossOffsetTop
//*************************************
function getGrossOffsetTop(elem) 
{
	var offset = elem.offsetTop;
	while (elem.offsetParent) 
	{
		// correct for IE/Mac discrepancy between offset and style coordinates,
		// but not if the parent is HTML element (NN6)
		if ( (elem.offsetParent.tagName != "HTML") && (elem.style.top) )
			offset += (parseInt(elem.style.top) - parseInt(elem.offsetTop));
		elem = elem.offsetParent;
		offset += elem.offsetTop;
	}
	return offset;
}

var sDebug = "";

//*************************************
// popMenu
//*************************************
function popMenu(menuNum)
{
	//sDebug += 'popMenu('+menuNum+')\n';
	if ( isLayers )
	{
		//-- no menu for NN4
		return null;
	}
	if (isDHTML) 
	{
		t = 2;
		if (oldDomSMenu) 
		{
			//sDebug += 'popMenu: Killing old menu\n';
			oldDomSMenu.visibility = 'hidden'; 
			oldDomSMenu.zIndex = '0';
			oldDomSMenu = null; 
			t = 2; 
			lCount = 0;
		}

		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 = 0;
		var menuTop = 0;

		if (isID || isAll) 
		{ 	
			//menuLeft = (domMenu.offsetLeft) + (domMenuOpt.offsetLeft) + 5;
			//menuTop = (domMenu.offsetTop) + (domMenu.offsetHeight) + 3;
			menuLeft = getGrossOffsetLeft(domMenuOpt) + 5;
			menuTop = getGrossOffsetTop(domMenu) + (domMenu.offsetHeight);
		}

		if (oldDomSMenu != domSMenu) 
		{	
			//sDebug += 'Showing new menu '+menuNum+'\n';
			domSMenu.left = menuLeft; 
			domSMenu.top = menuTop;
			domSMenu.visibility = 'visible';
			domSMenu.zIndex = '100';
			oldDomSMenu = domSMenu;
		}
		else 
		{ 
			oldDomSMenu = null; 
		}
	}
	else 
	{ 
		return null; 
	}
}

//*************************************
// delayHide
//*************************************
function delayHide() 
{
	if ((oldDomSMenu) && (t == 0)) 
	{
		//sDebug += 'delayHide: killing old menu\n';
		oldDomSMenu.visibility = 'hidden'; 
		oldDomSMenu.zIndex = '0';
		oldDomSMenu = null;
		lCount = 0; 
		return false;
	}
	if (t == 2) 
	{ 
		lCount = 0; 
		return false; 
	}
	if (t == 1) 
	{ 
		lCount = lCount + 1;
		if (lDelay <= lCount) { t = 0; }
		if (lDelay >= lCount) 
		{ 
			setTimeout('delayHide()',pause); 
		}
	}
}

function DebugMe()
{
	alert(sDebug);
	sDebug = '';
}

//*************************************
// newWindow
//*************************************
function newWindow(url, height, width) 
{
	nameW='feature'
	if (navigator.appVersion.indexOf('4') != -1) 
	{
		// Vars for centering the new window on Version 4 Browsers
		xTop = screen.width/2 - (width/2);
		yTop = screen.height/2 - (height/2);
		window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=1,resizable=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=' + xTop + ',top=' + yTop + '');
	} 
	else 
	{
		window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=1,resizable=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=150,top=200');
	}
}
