	var levels=9;
	
	var state=Array();
	for (var i=0;i < levels;i++){
		state[i+1]="";
	}	

	var allexpanders=Array();
	var alltogglers=Array();
	var allaccordions=Array();
	function menu_init(level){
		var togglersTmp=document.getElementsByClassName('toggler' + level);
		var togglers=Array();
		var expanders=Array();
		var counter=0;
		for (var i=0;i < togglersTmp.length;i++){
			var pid=togglersTmp[i].parentNode.id;
			var expTmp=document.getElementById(pid + '-exp');
			if (expTmp != null){
				togglers[counter]=togglersTmp[i];
				expanders[counter]=expTmp;
				counter++;
			}
		}
		allexpanders[level]=expanders;
		alltogglers[level]=togglers;
		var myAccordion = new fx.Accordion(togglers, expanders, {opacity: false});
		allaccordions[level]=myAccordion;
	}
	
	function acc_save(kateri,stanje){
		var taNivo=countOf(kateri,"-")
		if (stanje == "opening") state[taNivo]=kateri;
		else state[taNivo]="";
		var sav="";
		for (var i=0;i < levels;i++){
			sav+=":" + state[i+1];
		}	
		sav+=":";
		createCookie("menu_state",sav,1);
	}

	function acc_restore(){
		var sav=readCookie("menu_state");
		//var sav=readCookie("menu_lastlink");
		//alert(sav);
		if (sav == null){
			//state[1]="meni-" + ((allexpanders[1].length)-1); //odpremo zadnjega na prvem nivoju
		} else {
			for (var i=0;i < levels;i++){
				state[i+1]=sav.substring(posOf(sav,":",i+1)+1,posOf(sav,":",i+2));
			}
		}
		
		for (var i=0;i < levels;i++){
			if (state[i+1] != ""){
				var expanders=allexpanders[i+1];
				for (var j=0; j < expanders.length;j++){
					//alert(expanders[j].id + " =? " + state[i+1]);
					if (expanders[j].id == state[i+1] + "-exp"){
						allaccordions[i+1].showThisHideOpen(expanders[j]);
						Element.addClassName(alltogglers[i+1][j],"expanded");
					}
				}
			}
		}
	}
	
	function countOf(haystack,needle){
		var count=0;
		var from=0;
		while(true){
			if (haystack.indexOf(needle,from) != -1){
				from=haystack.indexOf(needle,from)+1;
				count++;
			} else {
				break;
			}
		}
		return count;
	}
	
	function posOf(haystack,needle,num){
		var count=0;
		var from=0;
		for (;num > 0;num--){
			if (haystack.indexOf(needle,from) != -1){
				from=haystack.indexOf(needle,from)+1;
				count++;
			} else {
				return -1;
			}
		}
		return from-1;
	}
	
	function createCookie(name,value,hours)
{
	if (hours)
	{
		var date = new Date();
		date.setTime(date.getTime()+(hours*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

	function readCookie(name)
	{
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++)
		{
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}