/***********************************************
* Switch Content script- ? Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated April 2nd, 2005.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
// Enable saving state of content structure using session cookies? (on/off)
var enablepersist="off"
// Collapse previously open content when opening present? (yes/no)
var collapseprevious="no"
// HTML for contract symbol. For image, use: <img src="whatever.gif">
//var contractsymbol='<img src="/_pascapa_images/contract.gif" style="vertical-align:middle;margin-right: 5px;">'
// HTML for expand symbol.
//var expandsymbol='<img src="/_pascapa_images/expand.gif" style="vertical-align:middle;margin-right: 5px;">'
var contractsymbol=''
var expandsymbol=''

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) {
  if (curobj) {
    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()
  }

  // expand synonyme automatically
  expandcontent(document.getElementById('expandSynonyme'), 'synonymeblock');
}

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
