//--==toggleDisplay v3.4==--

//find current file name
var sUrl = document.URL;
var iLastSlash = sUrl.lastIndexOf("/");
var sHash = document.location.hash;
var sDoc = sUrl.substr(iLastSlash-5);	
sDoc = sDoc.replace(sHash,"");

var aID = new Array();
var aGrp = new Array();
var i = new Number();

function setDisplayState(tdGrp,action,except,toggle) {
	var iNull = new Number();
	var iCounter = new Number();
	var iCounterTest = new Number();
	var iCounterFails = new Number();
	var ig = new Number();
	var iGrpSub = new Number();
	var sGrp = new String();
	if (document.getElementById) {
		/*--Initialize--*/
				
		//find number of toggleDisplay groups and build array of group names
		iCounter = 0;
		iCounterTest = 0;
		iCounterFails = 0;
		for (ig=1;ig<=999;ig++) {
			aGrp[ig-1] = tdGrp+ig+"_";
			//find number of toggleDisplay elements and build array of id names
			iGrpSub = 1;
			for (i=aID.length;i<=999;i++) {
				if (document.getElementById(aGrp[ig-1]+iGrpSub)) {
					iCounter = i;
					aID[i]=aGrp[ig-1]+iGrpSub;
					iGrpSub++;
				}	else {
					iNull++;
					if (iNull==12) {
						iNull = 0; //No more elements found under this group; reset null counter and continue to next group
						break;
					}
				}
			}			
			//Test results
			if (iCounter!=iCounterTest) {
				iCounterTest = iCounter; //Elements found under this group; reset test Counter and continue
			} else {
				iCounterFails = iCounterFails + 1; //No elements found under this group; 
			}
			
			if (iCounterFails>=12)
				break; //12 group names searched with no contents; discontinue search			
		}
		
		//set default display state for expanding/collapsing content in body		
		switch (action) {
			case "expandAll" :
				for (i in aID) {
					if (document.getElementById(aID[i])) {
						if (except.indexOf(tdGrp+i)==-1)
							document.getElementById(aID[i]).style.display="block";
					}
				}				
				document.getElementById("displayStateSet").value="true";			
				setCookie("sCatSel_"+sDoc,"ShowAll");
				
				//Set toggle button text
				if (document.getElementById("btnDisplay") && toggle!=1)
					document.getElementById("btnDisplay").innerHTML="Hide All";
				
				if (toggle==1) {
					if (document.getElementById("btnDisplay")) {
						if (document.getElementById("btnDisplay").innerHTML=="Show All") {
							document.getElementById("btnDisplay").innerHTML="Hide All";		
							window.location.hash = "#ShowAll";
						} else {
							document.getElementById("btnDisplay").innerHTML="Show All";		
							window.location.hash = "#HideAll";
							setDisplayState("td","collapseAll","");
						}
					}
				}
				break;
			case "collapseAll" :
				for (i in aID) {
					if (except=="ShowAll") {
						if (document.getElementById(aID[i])) {
							document.getElementById(aID[i]).style.display="none";
						}
					} else {
						if (document.getElementById(aID[i]) && except!=aID[i]) {
							document.getElementById(aID[i]).style.display="none";
						}
					}
				}	
				document.getElementById("displayStateSet").value="true";
				//alert("except:"+except);
				if (except=="" || except==null)
					setCookie("sCatSel_"+sDoc,"HideAll");
				else
					setCookie("sCatSel_"+sDoc,except);
			  break;
		}
	}
}

function toggleDisplay(x,mode) {
	//modes:
	//0 - expand/collapse; ignore others
	//1 - expand/collapse; collapse all others
	//2 - expand only; ignore others
	var oDispState=document.getElementById("displayStateSet");
	var y = document.getElementById(x).style;
	
	if (y.display=="block" && oDispState.value=="false")
		y.display="none";
	else {
		y.display="block";
		setCookie("sCatSel_"+sDoc,x);
	}
							
	for (i in aID) {
		if (document.getElementById(aID[i])) {
			y = document.getElementById(aID[i]).style;
			switch(mode) {
				case 0 :
				  //collapse all other toggleDisplayItems
					if (aID[i]!=x) {
						//if (y.display=="block")
						//if (document.getElementById("displayStateSet").value=="true")
							y.display="none";
					}      
					break;
				case 1 :
				  //do not collapse anything
					break;
				case 2 :
				  //expand individual if collapsed
					if (y.display=="none")
						y.display="block";
					break;
			}
		}
	}
  document.getElementById("displayStateSet").value="false"
}



function highlightText(x,y) {
	var oElement=document.getElementById(x)
	switch (y) {
		case "on":
			oElement.style.color="#0066CC";
			oElement.style.textDecoration="underline";
			break;
		case "off":
			oElement.style.color="#0000FF";
			oElement.style.textDecoration="none";					
			break
	}	
}