// Javascript document for main navigation links (left column of page)

// turn on navigation, and swap the main navigation image, during mouse over
function linkOn(menuName,linkname,imageName,newSource) {
	if (menuName != '') {
		MM_showMenu(menuName,90,0,null,linkname);
	}
	document.getElementById(linkname).style.color='#162065';
    MM_swapImage(imageName,'',newSource,1);
}
// change navigation to 'off' state on mouse out
function linkOff(menuItems,linkname) {
	if (menuItems) {
	    MM_startTimeout();
	}
	document.getElementById(linkname).style.color='#608119';
    MM_swapImgRestore();
}

// acquired (MM_) JS functions
// reverse swap image function
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
// preload image files
function MM_preloadImg() { //v3.0
  var d=document; if(d.img){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImg.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
// find each object
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
// swap image function
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// sub navigation functions (inside menu divs)
<!-- determine style of each menu link in both active and inactive state -->
function menuStyle(sublink, active) {
	var label = getLabel(sublink);
	if (label == null) return;
	label.style.color = active ? "#69820C" : "#332B17";
	var imgName = getImage(sublink);
	if ((imgName != null) && (document.images)) {
		if (active)
            MM_swapImage(imgName,'','images/nav/green_arrow.gif',1);
		else
			MM_swapImgRestore();
	}
}
<!-- determine (arrow) images to be swapped -->
function getImage(element) {
	var ip = element.id.lastIndexOf('_');
	var name = element.id.substr(0, ip);
	var testName = name + "Arrow1";
	if (document.images[testName])
		return testName;
	testName = name + "Arrow2";
	if (document.images[testName])
		return testName;		
	return null;
}
<!-- determine text elements (menuNav) to be swapped -->
function getLabel(element) {
	var ip = element.id.lastIndexOf('_');
	var name = element.id.substr(0, ip);
	name += "MenuNav";
	if (eval(label) == "")
		return null;
	var label = FindElement(name);
	return label;
}

<!-- use partial names to find the image pertaining to each name or ID
function FindImage(element) {
	with (document) 
		for (var i = 0; i < images.length; i++) { 
		        if (images[i].id != null)
				if (images[i].id.indexOf(element) != -1) 
						return images[i];
	    }
	return null;
}
<!-- use partial names to look for each element -->
function FindElement(elementName) {
	if (document.getElementById) {
		var elementID = document.getElementById(elementName);
		if (elementID != null) return elementID;
	}	
	var getForm = document.forms[0];
	var element = getForm.elementName;
	if (element != null) return element;
	for (var i = 0; i < getForm.elements.length; i++) {
		if (getForm.elements[i].name.indexOf(elementName) != -1) {
			return getForm.elements[i];
		}
	}
	return null;
}
<!-- determine styles that apply to each element -->
function GetStyle(name) {
	if (document.getElementById) {
		return document.getElementById(name).style;
	} else if (document.all) {
		return document.all[name].style;
	} else {
		var element =  document.layers[name];
		if (element != null) return el;
		for (var i = 0; i < document.layers.length; i++) {
			element =  document.layers[i].document.layers[name];
			if (element != null) return element;
		}
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
