// collapser.js
// for showing/hiding elements identified by id


// the tree loads as fully visible in case js is not enabled so
// first define the hideall function to collapse the tree entirely
function hideall(maxlmnt) {

	for ( var i = 1; i <= maxlmnt; i++ ) {
	
		var wantid = "clpsr"+i;
		
		if ( document.getElementById(wantid) ) {
		
			var lmnt = document.getElementById(wantid);
			
			lmnt.style.display = "none";
		
		}
		
	}
	
}

var depth = 0;

function hidekids( rootelement ) {

	depth ++;

	for ( var i =0 ; i < rootelement.childNodes.length; i++ ) {
	
		kidnode = rootelement.childNodes[i];
		
		
		if ( kidnode.nodeName == "UL" ) {
		
//			alert( "Child "+i+" display is "+kidnode.style.display);
		
			kidnode.style.display = "none";
			hidekids( kidnode );

		
		}
		
		if ( kidnode.nodeName == "LI" ) {
		
//			alert( "recursing" );
			hidekids( kidnode );
	
		}
	
	}
	
	depth--;

}

function start_hiding_kids( elementid ) {

	if ( document.getElementById( elementid ) ) {
	
		var rootelement = document.getElementById( elementid );
//		alert("hiding");
		hidekids( rootelement );
	
	}

}

// then attach an onload event handler to the document body


// preload the rollover images
expanded = new(Image);
collapsed = new(Image);
expanded.src = "/cls/gfx/minus.gif";
collapsed.src = "/cls/gfx/plus.gif";

// finally define the function to toggle collapse/expand of elements
function showhider(id, clpslink) {

	var lmnt = document.getElementById("clpsr"+id);
	var gif = document.getElementById("gif"+id);
	
	if ( lmnt.style.display == "none" ) {
	
		gif.src = expanded.src;
		lmnt.style.display = "block";
	
	} else {
	
		gif.src = collapsed.src;
		lmnt.style.display = "none";
	
	}

}

// simpler show/hide function
function showtoggle(id) {

	var lmnt = document.getElementById(id);
	lmnt.style.display = ( lmnt.style.display == "none" )?"block":"none";	

}


