// JavaScript Document
/***********************************************
* 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
***********************************************/

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="<div id='minus'></div>" //HTML for contract symbol. For image, use: <img src="whatever.gif">
var expandsymbol="<div id='plus'></div>" //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 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() {
//alert('dropDown.js::do_onload:enter');
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();
}

addLoadEvent(do_onload);
if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}