﻿      var enablepersist="off" //Enable saving state of content structure using session cookies? (on/off)
      var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)

      var contractsymbol='- ' //HTML for contract symbol. For image, use: <img src="whatever.gif">
      var expandsymbol='+ ' //HTML for expand symbol.


      if (document.getElementById){
      document.write('<style type="text/css">')
      document.write('.switchcontent{display:none;}')
      document.write('</style>')
      }

      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){
      var thestate=(ec=="expand")? "block" : "none"
      var inc=0
      while (ccollect[inc]){
      ccollect[inc].style.display=thestate
      inc++
      }
      revivestatus()
      }


      function contractcontent(omit){
      var inc=0
      while (ccollect[inc]){
      if (ccollect[inc].id!=omit)
      ccollect[inc].style.display="none"
      inc++
      }
      }

      function expandcontent(curobj, cid){
      var spantags=curobj.getElementsByTagName("SPAN")
      var showstateobj=getElementbyClass(spantags, "showstate")
      if (ccollect.length>0){
      if (collapseprevious=="yes")
      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=="no")
      showstateobj[0].innerHTML=(document.getElementById(cid).style.display=="block")? contractsymbol : expandsymbol
      else
      revivestatus()
      }
      }
      }

      function revivecontent(){
      contractcontent("omitnothing")
      selectedItem=getselectedItem()
      selectedComponents=selectedItem.split("|")
      for (i=0; i<selectedComponents.length-1; i++)
      document.getElementById(selectedComponents[i]).style.display="block"
      }

      function revivestatus(){
      var inc=0
      while (statecollect[inc]){
      if (ccollect[inc].style.display=="block")
      statecollect[inc].innerHTML=contractsymbol
      else
      statecollect[inc].innerHTML=expandsymbol
      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=="block")
      selectedItem+=ccollect[inc].id+"|"
      inc++
      }

      document.cookie=window.location.pathname+"="+selectedItem
      }

      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" && ccollect.length>0){
      document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0" 
      firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
      if (!firsttimeload)
      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
