var XNAV_OPEN_ICON = '/ws/XNav/open.gif';
var XNAV_CLOSED_ICON = '/ws/XNav/closed.gif';
var XNAV_CURRENT_ICON = '/ws/XNav/current.gif';


function displaySwitch(mySpan) {
	var ref = mySpan.parentNode.nextSibling;

	if ((mySpan.src).indexOf('closed.gif') != -1) {
		ref.style.display='block'; 
		mySpan.src = XNAV_OPEN_ICON;
		}
	else {
		ref.style.display='none'; 
			mySpan.src = XNAV_CLOSED_ICON;
		}  
}


/* Recursive Function to check if the current URL appears anywhere 
in our tree control's list of URLs. We iterate the DOM nodes,  
beginning with 'XNav' descendants */		
function openTree(domNode, targetURL) {

	// Catch non-W3C compatibles (Nav4)
	if (!document.getElementById) return false;
	
	//first call will have no arguments
	if	(arguments.length != 2){
	   domNode = document.getElementById('XNav');
	   targetURL = (location.href).toLowerCase();
	   }


	if(!domNode.tagName) return false; //Ignore text nodes
	
	//Check if Node  is an AHREF
	if(domNode.tagName == 'A' && (domNode.href).toLowerCase() == targetURL) {
	      setOpenNode(domNode);
	      return true;
		  }
	else 
		if(domNode.hasChildNodes)
			// Recurse through ChildNodeset
			for (var i=0;i<domNode.childNodes.length;i++)
				if(openTree(domNode.childNodes[i], targetURL)) {
					return true; //break out and go back up stack
					}

	return false;
}




function setOpenNode (myLink) {
	var parentSpan = myLink.parentNode.parentNode;
				
					
	while(parentSpan.id != "XNav") {
		parentSpan.style.display = 'block';
		
		
		
		//set arrows.  Sub nodes have a padding image then an arrow image
		// TopNode has only the arrow image
		if(parentSpan.previousSibling.childNodes.length == 2)   
			parentSpan.previousSibling.childNodes[0].src = XNAV_OPEN_ICON;
		else
			parentSpan.previousSibling.childNodes[1].src = XNAV_OPEN_ICON;

		parentSpan = parentSpan.parentNode;
		}
		
	myLink.previousSibling.src = XNAV_CURRENT_ICON;	
}



