var enablepersist=true; //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious=false; //Collapse previously open content when opening present? (yes/no)
var ccollect = [];
//var contractsymbol='-&nbsp; ' //HTML for contract symbol. For image, use: <img src="whatever.gif">
//var expandsymbol='+ ' //HTML for expand symbol.
//HTML for expand and contract symbols. For image, use: <img src="whatever.gif">
var contractsymbol='<img src="/images/help_close-calculator.gif" /> ';
var expandsymbol='<img src="/images/help-calculator.gif" /> '; 

function sweeptoggle(ec) {
	var thestate=(ec=='expand')? 'block' : 'none';
	for(var i=0; ccollect[i]; ++i)
		ccollect[i].style.display=thestate;

	revivestatus();
}


function contractcontent(omit) {
	for(var i=0; ccollect[i]; ++i) {
		if (ccollect[i].id!=omit);
			ccollect[i].style.display='none';
	}
}

function expandcontent(curobj, cid) {
	var spantags=curobj.getElementsByTagName('SPAN');
	var showstateobj=getElementsByClass(spantags, 'showstate');
	if (ccollect.length>0) {
		if (collapseprevious)
			contractcontent(cid);
		document.getElementById(cid).style.display=(document.getElementById(cid).style.display!='block')? 'block' : 'none';
		if (showstateobj.length>0) { //if "showstate" span exists in header
			if (collapseprevious==false)
				showstateobj[0].innerHTML=(document.getElementById(cid).style.display=='block')? contractsymbol : expandsymbol;
			else
				revivestatus();
		}
	}
}

function revivecontent() {
	contractcontent('omitnothing');
	var selectedItem=GACookies.getCookie('selectedItem');
	//alert(selectedItem);
	selectedComponents=selectedItem.split('|');
	for (var i=0; i<selectedComponents.length-1; i++)
		document.getElementById(selectedComponents[i]).style.display='block';
}

function revivestatus() {
	for(var i=0; statecollect[i]; ++i) {
		if (ccollect[i].style.display=='block')
			statecollect[i].innerHTML=contractsymbol;
		else
			statecollect[i].innerHTML=expandsymbol;
	}
}

function saveswitchstate() {
	var selectedItem='';
	for(var i=0; ccollect[i]; ++i) {
		if (ccollect[i].style.display=='block')
			selectedItem += ccollect[i].id + '|';
	}
	
	var str = GACookies.setCookie('selectedItem', selectedItem);
	//alert('str:\n' + str + '\n\ndocument.cookie:\n' + document.cookie);
	return str;
}

function switchcontent_onload() {
	//uniqueidn=window.location.pathname+'firsttimeload'
	var alltags=document.all? document.all : document.getElementsByTagName('*');
	ccollect=getElementsByClass(alltags, 'switchcontent');
	statecollect=getElementsByClass(alltags, 'showstate');
	if (ccollect.length>0) {
		if (enablepersist) {
			var cookieFirstTime = GACookies.getCookie('firsttimeload');
			GACookies.setCookie('firsttimeload', !hasData(cookieFirstTime) ? '1' : '0');
			firsttimeload=(GACookies.getCookie('firsttimeload')==1)? 1 : 0; //check if this is 1st page load
			//alert("cookieFirstTime: " + cookieFirstTime + "\nfirsttimeload: " + firsttimeload);
			if (!firsttimeload)
				revivecontent();
		}

		if (statecollect.length>0)
			revivestatus();
	}
}

if (document.getElementById) {
	document.write('<style type="text/css">');
	document.write('.switchcontent{display:none;}');
	document.write('</style>');
}

addLoadEvent(switchcontent_onload);
if (enablepersist && document.getElementById)
	addUnloadEvent(saveswitchstate);

