//// *********************************** ////
//// State of California master template ////
////             Version 1.20            ////
////       Last Updated 07/22/2009       ////
//// *********************************** ////


initNavigation = function() {

	var navDelayMS = 1000; // mouseout delay, in milliseconds
	var lastNavNode; // node of the most recent hovered item
	var navTimerID;

	if (document.getElementById) { // Does the browser support the getElementById method?
		navRoot = document.getElementById("nav_list"); // Get main list ul

		if (navRoot != null) { // JRF: In case there are no navigation links loaded
		  if (typeof defaultMainList != "undefined")
        var reMainNav = new RegExp("^" + defaultMainList + "<", "i"); // Regex for finding the index of the default main list item

		  for (i = 0; i < navRoot.childNodes.length; i++) { // Loop over main list items
		    node = navRoot.childNodes[i];
		    if (node.nodeName == "LI") {
		      if ((typeof defaultMainList != "undefined") && node.firstChild.innerHTML.match(reMainNav)) { // Found default main nav item
		        defaultMainListIndex = i;
		        node.onmouseover = function () {
		          if (navTimerID)
		            clearTimeout(navTimerID);
		          if (lastNavNode)
		            clearSublist();
		        }
		      } else {
        
					////// Apply onmouseover and onmouseout event handlers to each main list item //////
					node.onmouseover = function() {
						if (navTimerID)
							clearTimeout (navTimerID);
						if (lastNavNode)
							clearSublist();
						if (defaultMainListIndex != -1) // Is there a default main list item?
							navRoot.childNodes[defaultMainListIndex].className = "nav_default_off"; // De-activate it
						this.className = "mouse_over"; // Activate the hovered item
					}
					node.onmouseout = function() {
						lastNavNode = this;
						navTimerID = setTimeout(clearSublist,navDelayMS); // wait, then reset the nav
				  }
		    }
      }
    }
  }

		////// Activate the default main list item //////
		if (defaultMainListIndex != -1)
			navRoot.childNodes[defaultMainListIndex].className = "nav_default_on";

		////// If the search form has radio buttons, make them visible //////
		radioContainer = document.getElementById("radio_container");
		if (radioContainer) {
			//Comment the following line to always hide the radio buttons
			//radioContainer.style.display = "inline";
		}
	}

	clearSublist = function() {
		lastNavNode.className = ""; // De-activate the last hovered item
		if (defaultMainListIndex != -1) // Is there a default main list item?
			navRoot.childNodes[defaultMainListIndex].className = "nav_default_on"; // Activate it
	}

}


// addLoadEvent by Simon Willison
// Adds a handler to an event without over-riding other handlers

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

var defaultMainListIndex = -1; // Initialize the index of the default main list item

addLoadEvent(initNavigation); // Add initNavigation to the page onload event handler

