
function initOverList(){
   if(!document.getElementsByTagName) return;
   var LIs, listItem;
   var topMenu = document.getElementById("menu_Header");
   LIs = topMenu.getElementsByTagName('li');
   for(var i=0; i<LIs.length; i++){
      listItem = LIs[i];	  
      listItem.onmouseover=function(){
         this.className+=' hover';
      };
      listItem.onmouseout=function(){
         classNameTemp = this.className;
		 if(classNameTemp.match(" hover")) {
			 this.className=this.className.replace(' hover','');
		 }
		 else {
			 this.className=this.className.replace('hover','');
		 }
      };
   }

   var leftMenu = document.getElementById("colLeft_HElevations");
   if(leftMenu != null) {
	   LIs = leftMenu.getElementsByTagName('li');
	   for(var i=0; i<LIs.length; i++){
		  listItem = LIs[i];	  
		  listItem.onmouseover=function(){
			 this.className+=' hover';
		  };
		  listItem.onmouseout=function(){
			 classNameTemp = this.className;
			 if(classNameTemp.match(" hover")) {
				 this.className=this.className.replace(' hover','');
			 }
			 else {
				 this.className=this.className.replace('hover','');
			 }
		  };
	   }
   }
   
   
}

function initOverLabels(){
	if(!document.getElementById) return;
	var labels, id, field;
	labels = document.getElementsByTagName('label');
	for (var i = 0; i < labels.length; i++) {
		if (labels[i].className.indexOf('overlabel') != -1) {
			id = labels[i].htmlFor || labels[i].getAttribute('for');
			if (!id || !(field = document.getElementById(id))) {
				continue;
			} 
			if (field.value !== '') {
				hideLabel(field.getAttribute('id'), true);
			}
			field.onfocus = function () {
				hideLabel(this.getAttribute('id'), true);
			};
			field.onblur = function () {
				if (this.value === '') {
					hideLabel(this.getAttribute('id'), false);
				}
			};
			labels[i].onclick = function () {
				var id, field;
				id = this.getAttribute('for');
				if (id && (field = document.getElementById(id))) {
					field.focus();
				}
			};
		}
	}
}


function addEvent(_target,_event,_function){
	if (_target.addEventListener)
		_target.addEventListener(_event, _function, false );
	else{
		_target.attachEvent('on'+_event, _function);
		ieModel = true;	
	}	
}


function fixMenu() {
	//var leftCol = (document.getElementById("colLeft")) ?  document.getElementById("colLeft") : document.getElementById("colLeft_Health");
	var selected = getElementsByClassName(document, "li", "selected")[0];
	if(!selected) {
		var branch = document.getElementById("menuId");
		
		if(!branch) return;
		var openId = branch.innerHTML;

		//console.debug("the branch id: %s", openId);

		var aTag = (openId) ? document.getElementById(openId): null;
		if(aTag) {
			// menu item not top level menu
			aTag.className += " selected";
		}
		else {
			var leaf = document.getElementById("menuItem");
			openATag = leaf.innerHTML;
		
			leafNode = (openId) ? document.getElementById(openId): null;
			if(leafNode) {
				// menu item not leaf level xml not right
				leafNode.className += " selected";
			}
			else {
				// find by id in url
				var urlSearch = new String(location.search);	
				urlSearchtemp = urlSearch.substring(1);
				urlSearchArr = urlSearchtemp.split("&");
				//console.debug("url items", urlSearchArr);
				if(urlSearchArr[0].indexOf("id=") > -1) {
						pageId = urlSearchArr[0].substring(3);
						var openBranch = getElementsByClassName(document, "li", "openBranch");
						if(openBranch[0]) {
							var menuATags = openBranch[0].getElementsByTagName("a");
							for(var i=0, len = menuATags.length; i < len; i++) {
								//console.debug("%d %s %b", i, menuATags[i].href, menuATags[i].href.search(pageId));
								if(	menuATags[i].href.search(pageId) > -1) {
									menuATags[i].className += " selected";
									break;
								}
							}
						}
						else {
							var bc = getBreadCrumb("last");
							//console.log("it got here");
							
							var aTagText = null
							
							var container = branch.parentNode;
							var menuATags = container.getElementsByTagName("a");
							
							for(var j=1, lenOuter = bc.len; j < lenOuter; j++) { 
								for(var i=0, len = menuATags.length; i < len; i++) {
									aTagText = (menuATags[i].textContent)? menuATags[i].textContent: menuATags[i].innerText
									
									//alert(aTagText + "length "+aTagText.length + "bread Crumb :"+bc.arr[j]+": len " + bc.arr[j].length);
									if(	aTagText.search(bc.arr[j]) > -1) {
										menuATags[i].className += " selected";
										var uls = menuATags[i].parentNode.getElementsByTagName("UL");
										//console.debug("ul", uls.length);
										
										if(uls.length >= 1) {
											var node = menuATags[i]
											do {
												node = node.parentNode;
											}while(node.parentNode.className.search("menu") != 0) 
	
											//console.debug("%s %s %o",node.parentNode.class, node.parentNode.tagName, node);
											node.className += " openBranch";
										}
										break;
									}
								}
							
							}
							/*
							var selectedFinal = getElementsByClassName(document, "a", "selected");
							if(selectedFinal.length == 0)
								menuATags[0].className += " selected";
							*/
					}
				}
			}

		}

	}

}




addEvent(window,'load',initOverLabels);
addEvent(window,'load',initOverList);
addEvent(window,'load',initFormsSubmit);
addEvent(window,'load',fixTopMenu);
addEvent(window,'load',fixMenu);
