/***********************************************
* Switch Content script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated Oct 21st, 2003.
* 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="yes" //Collapse previously open content when opening present? (yes/no)
var cookieName = "MenuCookie";
if (document.getElementById){
	document.write('<style type="text/css">')
	document.write('.switchcontent{display:none;}')
	document.write('</style>')
}

function getElementbyClass(classname){
	ccollect=new Array()
	var inc=0
	var alltags=document.all? document.all : document.getElementsByTagName("*")
	for (i=0; i<alltags.length; i++){
		if (alltags[i].className==classname)
			ccollect[inc++]=alltags[i]
	}
}

function contractcontent(omit){
	var inc=0
	while (ccollect[inc]){
		if (ccollect[inc].id!=omit){
			ccollect[inc].style.height = "0px";			
			ccollect[inc].style.display="none";
		}
		inc++
	}
}
var oElem;
var i=0;
var iTimer;
function expandcontent(cid){
	try{
		clearInterval(iTimer);
	}catch(e){};	
	oElem = document.getElementById(cid);
	if (typeof ccollect!="undefined"){
		if (collapseprevious=="yes")
			contractcontent(cid)
		oElem.style.display=(oElem.style.display!="block")? "block" : "none"
		if (oElem.style.height == "" || oElem.style.height == "0px"){
			orgHeight = oElem.offsetHeight;
			oElem.style.overflow = "hidden";
			oElem.style.position = "relative";
			oElem.style.height = "1px";
			i=0;
			iTimer = setInterval(slide, 10);
		}
		else{
			oElem.style.height = "0px";
		}
	}
	saveswitchstate()
}

function slide(){
	if (oElem.offsetHeight > orgHeight*3/4){
		step = 20 * (orgHeight*(3/4) / oElem.offsetHeight)
		i = i + step
	}
	else
		i = i + 20;
	oElem.style.height = i + "px";
	if (oElem.offsetHeight >= orgHeight){
		clearInterval(iTimer);
		oElem.style.overflow = "visible";
		oElem.style.zIndex = 1000;
	}		
	return;
}

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 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(cookieName) != ""){
		selectedItem = get_cookie(cookieName);
		return selectedItem;
	}
	else
		return ""
}

function saveswitchstate(){
	var inc=0, selectedItem = "";
	if (typeof ccollect != "undefined"){
		while (ccollect[inc]){
			if (ccollect[inc].style.display=="block")
			selectedItem+=ccollect[inc].id+"|"
			inc++
		}
	}
	
	document.cookie = cookieName+"="+selectedItem
}

function do_onload(){
	getElementbyClass("switchcontent")
	if (enablepersist=="on" && typeof ccollect!="undefined")
		revivecontent()
}


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

