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 contractsymbol='<img src="/ecmrl/common/immagini/espandi.gif" width=14 height=14>' //HTML for contract symbol. For image, use: <img src="whatever.gif">
var expandsymbol='<img src="/ecmrl/common/immagini/espandi.gif" width=14 height=14>' //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(){
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()
}

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

//parte relativa alla gestione della ricerca:

var remember = new Array();
			var remember2 = new Array();
			var checkIt;

			var DHTML = (document.getElementById || document.all || document.layers);

			function show(name,lvl,obj)
			{
				if (!DHTML) return;
				if (remember[lvl] && remember[lvl] == name) return;
				if (remember[lvl])
				{
					closeAll(lvl);
				}
				if (name)
				{
					var x = getObj(name);
					x.visibility = 'visible';
				}
				if (name != "base"){
					remember[lvl] = name;
				}
				if (obj.parentNode) y = obj.parentNode;
				else if (obj.parentElement) y = obj.parentElement;
				else return;
				if (y.className) return;
				y.className = 'over';
				if (remember2[lvl]) remember2[lvl].className = '';
				remember2[lvl] = y;
			}

			function closeAll(lvl)
			{
				for (i=remember.length - 1;i>=lvl;i--)
				{
					if (remember[i]) //IE4 Mac
					{
						var x = getObj(remember[i]);
						x.visibility = 'hidden';
					}
					remember[i] = null;
					if (remember2[i])
					{
						remember2[i].className = '';
						remember2[i] = null;
					}
				}
			
			}

			function getObj(name)
			{
			  if (document.getElementById){return document.getElementById(name).style;}
			  else if (document.all)
			  {
			  return document.all[name].style;
			  }
			  else if (document.layers)
			  {
			    return document.layers[name];
			  }
			  else return false;
			}
