function onloadFunctions(lvl_1, lvl_2, lvl_3){ 

var columnMainHeight=document.getElementById('columnMain').offsetHeight;
	if (columnMainHeight<540) {
    	document.getElementById('columnMain').style.height=30 + 'em';
 	}		

// Left Menu
    var columnSidebar = document.getElementById('columnSidebar'); 
	// asterisk pulls in all elements in this div - older versions of Safari do not support this so menu will stay expanded in those versions
	var eNode=columnSidebar.getElementsByTagName('*');
	// ids in this function are converted to lowercase so there are not case-sensitive issues if some creates an id with Caps in the wrong spot
	var lvl_1 = lvl_1.toLowerCase();
	var lvl_2 = lvl_2.toLowerCase();
	var lvl_3 = lvl_3.toLowerCase();	
	


		for (i1=0; i1<eNode.length; i1++) { 
				//hide submenus by default
			if (eNode[i1].nodeName=="UL" && eNode[i1].className!='show') {
					eNode[i1].className='hide'
			}
			// designate active link through match with DW parameter
			urlString=eNode[i1].getAttribute("href");
		
			if (urlString!=null && urlString.indexOf('?')!=-1) {
				var question=urlString.indexOf('?');
				var linkName=urlString.substring((question+1)).toLowerCase();

					var parent=eNode[i1].parentNode
					var grandparent = eNode[i1].parentNode.parentNode;
					var greatgrandparent = eNode[i1].parentNode.parentNode.parentNode;
					var greatgreatgrandparent = eNode[i1].parentNode.parentNode.parentNode.parentNode;
				//First Level
				if (linkName==lvl_1 && lvl_2=='none' && lvl_3=='none') {
					eNode[i1].className="active"
					
					//look for child list
					//First if statement: determine if eNode is the last node in the array. If it is do not execute this function. IE will error because it cannot find a nextSibling 
					//Other if statmenets: set class first for others browser, then IE                
				if (eNode[i1]!=eNode[eNode.length-1])
				{           
					 if (parent.nextSibling.nextSibling!=null && parent.nextSibling.nextSibling.nodeName=='UL' && parent.nextSibling.nodeName!='H2') {
						 parent.nextSibling.nextSibling.className='show';
						 }
					else if (parent.nextSibling!=null && parent.nextSibling.nodeName=='UL') {
						parent.nextSibling.className='show'; }
						}
				}
				
				//Second Level
				if (linkName==lvl_1+'_'+lvl_2 && lvl_3=='none') {
					eNode[i1].className="active"
						grandparent.className='show';	
					
					//look for child list						
					for (i5=0; i5<parent.childNodes.length; i5++) {	
						if(parent.childNodes[i5].nodeName=="UL"){
								parent.childNodes[i5].className="show"								
							}
					}
		
					if (grandparent.previousSibling.nodeName=='H2') {
						grandparent.previousSibling.firstChild.className='open';	
					}else if (grandparent.previousSibling.previousSibling.nodeName=='H2') {
						grandparent.previousSibling.previousSibling.firstChild.className='open';
					}	

				}				
				
				//Third Level
				if (linkName==lvl_1+'_'+lvl_2+'_'+lvl_3) {
					eNode[i1].className="active"
						grandparent.className='show';	
						greatgreatgrandparent.className='show';
						greatgrandparent.firstChild.className='open';
				
					if (greatgreatgrandparent.previousSibling.nodeName=='H2') {
						greatgreatgrandparent.previousSibling.firstChild.className='open';	
					}else if (greatgreatgrandparent.previousSibling.previousSibling.nodeName=='H2') {
						greatgreatgrandparent.previousSibling.previousSibling.firstChild.className='open';
					}	

				}					

				
			}
		}
				
	

		
/* ****************************************
	Below: Adapted from http://www.brucelawson.co.uk/index.php/2005/opening-links-in-new-windows-in-xhtml-strict/#comment-376
**************************************** */
if (!document.getElementsByTagName) return; 
	var anchors = document.getElementsByTagName("A");
	/* hide PDF note by default */
	
	if (document.getElementById('pdfNote')) {
	document.getElementById('pdfNote').className="hide"; 
		for (var i=0; i<anchors.length; i++) {
			var docLink = anchors[i];
			if (docLink.className=='externalDocument') {
				docLink.target = "_blank";
				docLink.innerHTML = docLink.innerHTML + "&nbsp;(opens in new window)";
				document.getElementById('pdfNote').className="show"; 
				}
			if (docLink.className=='externalDocumentNoNote') {
				docLink.target = "_blank";
			}				
		}	
	}
		
/* ****************************************
 Above: Adapted from http://www.brucelawson.co.uk/index.php/2005/opening-links-in-new-windows-in-xhtml-strict/#comment-376
**************************************** */		

/* END function */
}

/* Adddomloadevent.js is triggered in the template underneath the body tag. */

/* ****************************************
This script is from Roger Johansson at 456 Berea Street:  http://www.456bereastreet.com/archive/200505/transparent_custom_corners_and_borders/
**************************************** */
/*
addEvent function found at http://www.scottandrew.com/weblog/articles/cbs-events
*/


function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

/* ****************************************
This script is from Roger Johansson at 456 Berea Street:  http://www.456bereastreet.com/archive/200505/transparent_custom_corners_and_borders/
**************************************** */
/*
addEvent function found at http://www.scottandrew.com/weblog/articles/cbs-events
*/


function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

/*
createElement function found at http://simon.incutio.com/archive/2003/06/15/javascriptWithXML
*/
function createElement(element) {
	if (typeof document.createElementNS != 'undefined') {
		return document.createElementNS('http://www.w3.org/1999/xhtml', element);
	}
	if (typeof document.createElement != 'undefined') {
		return document.createElement(element);
	}
	return false;
}

function insertTop(obj) {
	// Create the two div elements needed for the top of the box
	d=createElement("div");
	d.className="box-top"; // The outer div needs a class name
    d2=createElement("div");
    d.appendChild(d2);
	obj.insertBefore(d,obj.firstChild);
}

function insertBottom(obj) {
	// Create the two div elements needed for the bottom of the box
	d=createElement("div");
	d.className="box-bottom"; // The outer div needs a class name
    d2=createElement("div");
    d.appendChild(d2);
	obj.appendChild(d);
}

function initCB() {
	// Find all div elements
	var divs = document.getElementsByTagName('div');
	var cbDivs = [];
	for (var i = 0; i < divs.length; i++) {
	// Find all div elements with cbb in their class attribute while allowing for multiple class names
		if (/\bcbb\b/.test(divs[i].className))
			cbDivs[cbDivs.length] = divs[i];
	}
	// Loop through the found div elements
	var thediv, outer, i1, i2;
	for (var i = 0; i < cbDivs.length; i++) {
	// Save the original outer div for later
		thediv = cbDivs[i];
	// 	Create a new div, give it the original div's class attribute, and replace 'cbb' with 'box'
		outer = createElement('div');
		outer.className = thediv.className;
		outer.className = thediv.className.replace('cbb', 'box');
	// Change the original div's class name and replace it with the new div
		thediv.className = 'i3';
		thediv.parentNode.replaceChild(outer, thediv);
	// Create two new div elements and insert them into the outermost div
		i1 = createElement('div');
		i1.className = 'i1';
		outer.appendChild(i1);
		i2 = createElement('div');
		i2.className = 'i2';
		i1.appendChild(i2);
	// Insert the original div
		i2.appendChild(thediv);
	// Insert the top and bottom divs
		insertTop(outer);
		insertBottom(outer);
	}
}

if(document.getElementById && document.createTextNode)
{
	addEvent(window, 'load', initCB);
}

/* ****************************************
This script above is from Roger Johansson at 456 Berea Street:  http://www.456bereastreet.com/archive/200505/transparent_custom_corners_and_borders/
**************************************** */

//empty function for firefox, IE uses pngfix.js
function pngFix(){
	}

