/***********************************************
* 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=' [X] CLOSE [X] ' //HTML for contract symbol. For image, use: <img src="whatever.gif">
var expandsymbol='&raquo; Click here to open refinement menu &laquo;' //HTML for expand symbol.

// var contractsymbol='<img src="_assets/_images/gui_button_orangeSS_ON.gif" alt="">' //HTML for contract symbol. For image, use: <img src="whatever.gif">
// var expandsymbol='<img src="_assets/_images/gui_button_orangeSS_OFF.gif" alt="">' //HTML for expand symbol.



// FOR HIDING AND SHOWING AREAS OUTSIDE OF THE NORMAL HIDE AND SHOW SYSTEMS
function toggleLayer( whichLayer ){
	var elem, vis;
	if( document.getElementById ) // this is the way the standards work
		elem = document.getElementById( whichLayer );
	else if( document.all ) // this is the way old msie versions works
		elem = document.all[whichLayer];
	else if( document.layers ) // this is the way nn4 works
		elem = document.layers[whichLayer];
		vis = elem.style;
	// if the style.display value is blank we try to figure it out here
	if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
		vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
		vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}
// FOR HIDING AND SHOWING AREAS OUTSIDE OF THE NORMAL HIDE AND SHOW SYSTEMS


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++;
	}
}


/*

var z = 10;
function ShowHide(id) {
document.getElementById(id).style.display = "block";
document.getElementById(id).style.zIndex = z++;
}

function ShowHide(id) {
var k = document.getElementById(id).style;
k.display = "block";
k.zIndex = parseInt(k.zIndex) + 1;
}

*/


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();
	}
displayFavListError();
}


function displayFavListError() {
	var dirtyflag = false;
  	for (i=1; i<=5;i++) {
		var errmsg = document.getElementById("ServerSideValidation_"+i);
		if (errmsg != null && errmsg.style.display != "none") {
			dirtyflag = true;
		}
  	}
	var fav = document.getElementById("addItems");
	if (fav != null) {
		if (dirtyflag == false) {
			fav.style.display="none";
		} else {
			fav.style.display="block";
		}
	}
}


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;
}
