/***********************************************
* Switch Content script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated Mar 23rd, 2004.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var enablepersist="on"		//Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="no" 	//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
   for (i=0; i<rootobj.length; i++)
     {
      if (rootobj[i].className==classname)
        temparray[inc++]=rootobj[i]
     }
   return temparray
  }

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
