var lastOpened="";
var currentPageColor="#e3dfad";
var currentPageColor2="#0045FF";
function traverse(iddy){
	/* some variable that need set for it all to WORK
	def is the home page..needs to be set to adjust for jsp,asp,aspx...ex "/default.aspx"
	idd is highest UL id of menu ...ex <ul id="someID">
	hh is homehighlight...highlights "Home" link when file is in same folder as main index
	*/
	var idd="someID";
	var def="/default.aspx";
	var hh=false;
	/* done with variables*/
	if (!document.getElementsByTagName || !document.childNodes || !document.createElement) {
		return;
	}
	var baseElement = document.getElementById(idd);
	if (!baseElement) {
		return;
	}
	var opened=0
	var path=(window.location.pathname==def)? "/" : window.location.pathname;
	if (path.indexOf("#")!=-1)path=path.substr(0,path.length-1)
	var pth1,nm,path2,pth2
	for (var i = 0; i<baseElement.childNodes.length; i++) {
		if (baseElement.childNodes[i].nodeType==1){
			pth=baseElement.childNodes[i].getElementsByTagName("A")[0].getAttribute("href")
			if (pth.substr(0,4)=="http"){
				nm=pth.indexOf("/",7)
				pth=pth.substr(nm,pth.length)
			}
			path2=path.substr(0,path.lastIndexOf("/")+1)
			pth2=pth.substr(0,pth.lastIndexOf("/")+1)
			pthTest=(pth2==path2 && path!="/")
			if (pth==path || pthTest || iddy==baseElement.childNodes[i].getElementsByTagName("A")[0].getAttribute("id")){
				//pth is link path: path is current URL path in browser: pth2 and path2 are highest folder level: iddy was last click id and is checking id of nav htm
				if ((path!=path2 && hh==true) ||path==path2 )baseElement.childNodes[i].getElementsByTagName("A")[0].style.color = currentPageColor;
				if (pth==path){
					opened=1;
				}else if (lastOpened!=iddy){
					lastOpened=iddy;
					opened=1;
				}else{
					lastOpened="";
					opened=0;
				}
				
			}else{
				opened=0
			}
			
			if (baseElement.childNodes[i].childNodes.length>0) {
				var rett = findUL(baseElement.childNodes[i],opened);
				if (rett != "" && rett != null) {
					opened=(checkForLink(path,rett)==1)? 1 : opened;
					var theT = baseElement.childNodes[i].innerHTML.toUpperCase().indexOf('<UL');
					var theA = baseElement.childNodes[i].innerHTML.toUpperCase().indexOf('<A');
					var savedText = baseElement.childNodes[i].innerHTML.substr(0, (theA+1 && theA<theT) ? theA : theT);
					if (savedText == "") {
						var start = baseElement.childNodes[i].innerHTML.toUpperCase().indexOf('>');
						var end = baseElement.childNodes[i].innerHTML.toUpperCase().indexOf('</A>');
						savedText = baseElement.childNodes[i].innerHTML.substring(start+1, end);
					}
				
					var savedChildren = rett.parentNode.childNodes;
					var newLI = document.createElement('li');
					var newLink = document.createElement('A');
					
					var link = (theA<theT) ? rett.parentNode.getElementsByTagName("A")[0].getAttribute("href") : "#";
					newLink.setAttribute('href', link);
					newLink.setAttribute('id', baseElement.childNodes[i].getElementsByTagName("A")[0].getAttribute("id"));
					if (link.indexOf("#")!=-1) {
						var tempId=baseElement.childNodes[i].getElementsByTagName("A")[0].getAttribute("id")
						newLink.onclick = new Function('traverse(\''+tempId+'\');');
						var newLinkText = document.createTextNode(savedText);
						newLink.appendChild(newLinkText);
						newLI.appendChild(newLink);
						var oldChild = baseElement.replaceChild(newLI, rett.parentNode);
						for (var k = 1; k<oldChild.childNodes.length; k++) {
							var appended = newLI.appendChild(oldChild.childNodes[k]);
						}
					}
					//Hide					
					if (opened==0) {
						for (var j = 0; j<rett.childNodes.length; j++) {
							if (rett.childNodes[j].style && rett.childNodes[j] != null) {
								rett.childNodes[j].style.display = 'none';
							}
						}
					} else {
							rett.style.display = 'block';
							for (var j = 0; j<rett.childNodes.length; j++) {
								if (rett.childNodes[j].style) {
									rett.childNodes[j].style.display = 'block';
								}
							}
					}
				}
			}
		}
	}
}
function checkForLink(pth,parent){	
	var path,nm
	for (var j = 0; j<parent.childNodes.length; j++) {
		if (parent.childNodes[j].nodeType==1){
			path=parent.childNodes[j].getElementsByTagName("A")[0].getAttribute("href")
			if (path.substr(0,4)=="http"){
				nm=path.indexOf("/",7)
				path=path.substr(nm,path.length)
			}
			if (path==pth){
				parent.childNodes[j].getElementsByTagName("A")[0].style.color = currentPageColor2;
				return 1
				break
			}
		}
	}
	return 0
}
function findUL(parent,test) {	
	if (parent != null) {
	} else {		
		return;
	}
	if (parent != null && parent.tagName != null && parent.tagName.toUpperCase() == "UL") {
		return parent;
	}
	if (parent.childNodes.length>0) {
		for (var j = 0; j<parent.childNodes.length; j++) {
			var ret = findUL(parent.childNodes[j]);
			if (ret != "" && ret != null) {
				break;
			}
		}
	}
	
	if (ret != "" && ret != null) {
		return ret;
	}
}

traverse()
