var collapseprevious = "no" // Collapse previously open content when opening present? (yes/no)
var contractsymbol = '- '   // Contract symbol. For image, use: <img src="whatever.gif">
var expandsymbol = '+ '     // 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 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 revivestatus(){
  var inc = 0
  while ( statecollect[inc] ) {
    if ( ccollect[inc].style.display == "block" )
      statecollect[inc].innerHTML = contractsymbol
    else
      statecollect[inc].innerHTML = expandsymbol
    inc++
  }
}

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 ( 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
