var enablepersist="off" // Enable saving state of content structure using session cookies? (on/off)
var memoryduration="7" // Persistence in # of days
var contractsymbol='http://www.catalyze.co.uk/images/icon-minus.gif' // Path to image to represent contract state.
var expandsymbol='http://www.catalyze.co.uk/images/icon-plus.gif' // Path to image to represent expand state.

// we need to preload images as IE6 is having problems with display
imgPlus = new Image(19,11);
imgMinus = new Image(19, 11);
imgPlus.src = "http://www.catalyze.co.uk/images/icon-plus.gif";
imgMinus.src = "http://www.catalyze.co.uk/images/icon-minus.gif";

function getQueryVar(varname) 
{
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) 
  {
    var pair = vars[i].split("=");
    if (pair[0] == varname) 
    {
      return pair[1];
    }
  } 
  return "";
}


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 sweeptoggle(ec,bUpdateDisplay)
{
	var inc=0
	while (ccollect[inc])
	{
		//if(bUpdateDisplay) 
		//ccollect[inc].style.display=(ec=="contract")? "none" : "block"
		ccollect[inc].className=(ec=="contract")? "switchContentClosed" : "switchContentOpen"
		statecollect[inc].src=(ec=="contract")? expandsymbol : contractsymbol 
		inc++
	}
	//revivestatus()
}


function expandcontent(curobj, cid)
{
	//alert(document.getElementById(cid).className);
	//if(document.getElementById(cid).style.display!="none")
	if(document.getElementById(cid).className!="switchContentClosed")
	{
		sweeptoggle('contract',true);
	}
	else
	{
		sweeptoggle('contract',true);
		if (ccollect.length>0)	
		{
			//document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="none")? "none" : "block"
			//alert(document.getElementById(cid).className);
			document.getElementById(cid).className=(document.getElementById(cid).className!="switchContentClosed")? "switchContentClosed" : "switchContentOpen"	
			curobj.src=(document.getElementById(cid).style.display=="none")? expandsymbol : contractsymbol
		}
	}
}

function revivecontent()
{
	selectedItem=getselectedItem()
	selectedComponents=selectedItem.split("|")
	for (i=0; i<selectedComponents.length-1; i++)
		document.getElementById(selectedComponents[i]).className="switchContentClosed"
		//document.getElementById(selectedComponents[i]).style.display="none"
}

function revivestatus()
{
	var inc=0
	while (statecollect[inc])
	{
		if (ccollect[inc].className="switchContentClosed")
			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].className=="switchContentClosed")
			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()*/	
	sweeptoggle('contract',false);	
	
	var expandsc = getQueryVar('sc');	
	if( expandsc!="" )
	{
		var myObj = top.document.getElementById('expcon'+expandsc);	  
		expandcontent(myObj,'sc'+expandsc);
	}
}

function dn(){}
/* ONLOAD */
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