// Detect version of browser
var ns4 = (document.layers)? true:false
var ie4 = (document.all)? true:false

// Delay for menus to disappear (enter in secconds)
var menuDelay =".5";

// Declare your Variable
if (typeof offsetx == 'undefined') { var offsetx = 2; }
if (typeof offsety == 'undefined') { var offsety = 0; }
var menuWidthD = 130;
var x = 0, y = 0;
var activeMenu = "";
var timerID = "";
var onImg = "";
var onName = "";
if (document.images) 
	{
	// onmouseover placement image - change if you want it different or set same if you don't want one
	clear_on = new Image;
	clear_on.src = "images/nav_clear.gif";
	// onmouseout placement image -  change if you want it different or set same if you don't want one
	clear_off = new Image;
	clear_off.src = "images/nav_clear.gif";
	// Preload Main Menu Rollover Images
	Image1= new Image(114,25)
	Image1.src = "images/left_nav_bar_highlight_01.gif"
	Image2 = new Image(114,25)
	Image2.src = "images/left_nav_bar_highlight_03.gif"
	Image3 = new Image(114,25)
	Image3.src = "images/left_nav_bar_highlight_05.gif"
	Image4 = new Image(114,25)
	Image4.src = "images/left_nav_bar_highlight_07.gif"
	Image5 = new Image(114,25)
	Image5.src = "images/left_nav_bar_highlight_09.gif"
	Image6 = new Image(114,25)
	Image6.src = "images/left_nav_bar_highlight_11.gif"
	Image7 = new Image(114,25)
	Image7.src = "images/left_nav_bar_highlight_13.gif"
	Image8 = new Image(114,32)
	Image8.src = "images/b-search.gif"
	}

// Swaps images in
function imgOn(varName, imgId) 
	{
	if (document.images) 
		{
		document[imgId].src = eval(varName + "_on.src");
		onImg = imgId;
		onName = varName;
		}
	} 
	
// Swaps images out
function imgOff(varName) 
	{
	if (document.images) 
		{
		document[onImg].src = eval(varName + "_off.src");
		}
	}

function startTimer(objName) 
	{
	delay = menuDelay * 1000;
	var command = "hideObject('"+objName+"'); imgOff('clear');";
	timerID = setTimeout(command,delay);
	}

function clearTimer() 
	{
	clearTimeout(timerID);
	}

function checkActive(objName,img,dir) 
	{
	// No active menu
	if (activeMenu == "") 
		{
		activeMenu = objName;
		}
	// Same active menu
	else if (activeMenu == objName) 
		{
		clearTimeout(timerID);
		activeMenu = objName;
		}
	// Different active menu
	else 
		{
		clearTimeout(timerID);
		imgOff('clear', onImg);
		hideObject(activeMenu);
		activeMenu = objName;
		}
	// Decide placement
	if (dir == "down") 
		{
		align(objName,img,'D');
		}
	else if (dir == "upright") 
		{
		align(objName,img,'UR');
		}
	else 
		{
		align(objName,img,'DR');
		}
	imgOn('clear', img);
	showObject(activeMenu);
	}
	
// Shows an object
function showObject(objName) 
	{
	if (ns4) 
		{
		var lyr = eval("document."+objName);
		lyr.visibility = "show";
		on = 1;
		}
	else if (ie4) 
		{
		var hold = eval("document.all."+objName);
		hold.style.visibility = "visible";
		on = 1;
		}
	}

// Hides an object
function hideObject(objName) 
	{
	if (ns4) 
		{
		var lyr = eval("document."+objName);
		lyr.visibility = "hide";
		on = 0;
		}
	else if (ie4) 
		{
		var hold = eval("document.all."+objName);
		hold.style.visibility = "hidden";
		on = 0;
		}
	}

// Displays a layer
function align(objName,img,placement) 
	{
	if ( (ns4) || (ie4) ) 
		{
		// Find Image Width & Height
		var imgWidth = eval("document."+img+".width");
		var imgHeight = eval("document."+img+".height");
		
		// Convert String to a number
		imgWidth = imgWidth - 0; imgHeight = imgHeight - 0;
		
		// Find Location in Document
		var locString = findLoc(img);
		var xLoc = locString.substring(0,locString.indexOf(','));
		var yLoc = locString.substring(locString.indexOf(',')+1,locString.length);
		
		// Convert String to a number
		xLoc = xLoc - 0; yLoc = yLoc - 0;
	
		if (placement == "DR") 
			{
			// Calc Co-ords to place image
			var finX = x+imgWidth+xLoc+offsetx-1;
			var finY = y+yLoc+offsety-1;
			}
	
		else if (placement == "UR") 
			{
			// Calc width & height of layer
			if (ns4)
				{
				var lyr = eval("document."+objName);
				var upOffset = lyr.document.height;
				}
			else if (ie4)
				{
				var lyr = eval("document.all."+objName);
				var upOffset = lyr.children[0].height;
				}

			// Calc Co-ords to place image
			var finX = x+imgWidth+xLoc+offsetx-0;
			var finY = y+imgHeight+yLoc+offsety+0-upOffset;
			}
	
		else if (placement == "D") 
			{
			// Calc Co-ords to place image
			var finX = x+imgWidth+xLoc-menuWidthD-0;
			var finY = y+imgHeight+yLoc+offsety+0;
			}
		// Call to place a layer
		moveIt(objName,finX,finY);
		}
	}


// Place a layer
function moveIt(objName,finX,finY) 
	{
	if (ns4) 
		{
		var lyr = eval("document."+objName);
		lyr.left = finX;
		lyr.top = finY;
		}
	if (ie4) 
		{
		var hold = eval("document.all."+objName);
		hold.style.pixelLeft = finX;
		hold.style.pixelTop = finY;
		}
	}

// Determines position of object
function findLoc(objName) 
	{
	if (ns4) 
		{
		var imgX = eval("document."+objName+".x");
		var imgY = eval("document."+objName+".y");
		return(imgX + "," + imgY);
		}
	if (ie4) 
		{
		var isMac = navigator.userAgent.indexOf("Mac") >0;
		if (isMac) 
			{
			var top = 0, left = 0;
			var	parString = "parentElement.";
			var	tmpString = "parentElement.";
			while ((eval("document.all."+objName+"."+parString+"id")) != "MAINBODY") 
				{
				top += eval("document.all."+objName+".parentElement."+parString+"offsetTop");
				left += eval("document.all."+objName+".parentElement."+parString+"offsetLeft");
				parString += tmpString;
				}
			top += (eval("document.all."+objName+".offsetTop")) - 0;
			left += (eval("document.all."+objName+".offsetLeft")) - 0;
			return(left + "," + top);
			}
		else 
			{
			var top = 0, left = 0;
			var	parString = "offsetParent.";
			while ((eval("document.all."+objName+"."+parString+"id")) != "MAINBODY") 
				{
				top += eval("document.all."+objName+"."+parString+"offsetTop");
				left += eval("document.all."+objName+"."+parString+"offsetLeft");
				tmpString = "offsetParent.";
				parString += tmpString;
				}
			top += eval("document.all."+objName+".offsetTop");
			left += eval("document.all."+objName+".offsetLeft");
			return(left + "," + top);
			}
		}
	}
