// set vars for links

var hideTextLink = "Hide all";
var showTextLink = "Show all";

var enablepersist="off" //Enable saving state of content structure using session cookies? (on/off)
var memoryduration="7" //persistence in # of days

var contractsymbol='[-]' //Path to image to represent contract state.
var expandsymbol='[+]' //Path to image to represent expand state.


function getElementbyClass(rootobj, classname){
var temparray=new Array()
var inc=0
var rootlength=rootobj.length
for (i=0; i<rootlength; i++){
if (rootobj[i].className==classname)
temparray[inc++]=rootobj[i]
}
return temparray
}



function showAll(numOfItems) {
 if (pageType=="singleItemSwitch"){
 	for (id=1;id<=numOfItems;id=id+1){
		document.getElementById('completetext' + id).style.display="";
 		document.getElementById('hideShowLink').innerHTML = "<a href=\"javascript:hideAll(expandingDivsNum);matchDivHeights();\">[-] Hide All</a>";
 		matchHeight();
 	}
 } 
 
// else {
//	for (id=1;id<=numOfItems;id=id+1) 
//		{
 //  			document.getElementById('summary' + id).style.display="none";
//			document.getElementById('completetext' + id).style.display="";
//			document.getElementById('readmore' + id).style.display="none";
//			document.getElementById('close' + id).style.display="";
//			document.getElementById('hideShowLink').innerHTML = "<a href=\"javascript:hideAll(expandingDivsNum);matchDivHeights();\">[-] Hide All</a>"
//		}
//	}
}


function hideAll(numOfItems) {
	if (pageType=="singleItemSwitch"){
		for (id=1;id<=numOfItems;id=id+1){
			document.getElementById('completetext' + id).style.display="none";
			document.getElementById('hideShowLink').innerHTML = "<a href=\"javascript:showAll(expandingDivsNum);matchDivHeights();\">[+] Show All</a>"
			}
		}

//	else {
//		for (id=1;id<=numOfItems;id=id+1) 
//			{
//   			document.getElementById('summary' + id).style.display="";
//				document.getElementById('completetext' + id).style.display="none";
//				document.getElementById('readmore' + id).style.display="";
//				document.getElementById('close' + id).style.display="none";
//				document.getElementById('hideShowLink').innerHTML = "<a href=\"javascript:showAll(expandingDivsNum);matchDivHeights();\">[+] Show All</a>"
//			}
//		}
	}




function sweeptoggle(ec){
var inc=0

while (ccollect[inc]){
	ccollect[inc].style.display=(ec=="contract")? "none" : ""
	inc++
	}
if (ec=="contract"){
	document.getElementById('toggleall').innerHTML = '';
	document.getElementById('toggleall').innerHTML="[+] <a href=\"javascript:sweeptoggle('expand');\">Show all</a>";
	matchHeight();
	}
if (ec=="expand"){
	document.getElementById('toggleall').innerHTML = '';
	document.getElementById('toggleall').innerHTML="[-] <a href=\"javascript:sweeptoggle('contract');\">Hide all</a>";
	matchHeight();
}
revivestatus();
}





function expandcontent(curobj, cid){
	if (ccollect.length>0){
		document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="none")? "none" : ""
		//curobj.src=(document.getElementById(cid).style.display=="none")? expandsymbol : contractsymbol
		matchHeight();
		
	}
}





function revivestatus(){
var inc=0
while (statecollect[inc]){
if (ccollect[inc].style.display=="none")
statecollect[inc].src=expandsymbol
else
statecollect[inc].src=contractsymbol
inc++
}
}

function get_cookie(Name) { 

var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}

return returnvalue;

}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="none")
selectedItem+=ccollect[inc].id+"|"
inc++
}
if (get_cookie(window.location.pathname)!=selectedItem){ //only update cookie if current states differ from cookie's
var expireDate = new Date()
expireDate.setDate(expireDate.getDate()+parseInt(memoryduration))
document.cookie = window.location.pathname+"="+selectedItem+";path=/;expires=" + expireDate.toGMTString()
}
}

function do_onload(){
uniqueidn=window.location.pathname+"firsttimeload"
var alltags=document.all? document.all : document.getElementsByTagName("*")
ccollect=getElementbyClass(alltags, "switchcontent")

statecollect=getElementbyClass(alltags, "showstate")
if (enablepersist=="on" && get_cookie(window.location.pathname)!="" && ccollect.length>0)
revivecontent()
if (ccollect.length>0 && statecollect.length>0)
revivestatus()
}

if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate
