var showhide;
var open_bild=false;
var open_produkt=false;
var last_infobox;

window.onload = function() {
 showhide_bild = new fx.Height('bild', {height: true, duration: 300, onComplete: function() {  }});
 showhide_produkt = new fx.Height('produkt', {height: true, duration: 300, onComplete: function() {   }});
	showhide_infobox = new fx.Height('infobox', {height: true, duration: 300, onComplete: function() {   }});
//Load some data when the page load
//but give general Javascript some time load
//setTimeout("loadit('data.php');", 300);
}
//This is the function that you call with the php var (in this case)
//or any var or url (change the script called in ajax var
function loadit(fragment_url, box, infobox) {
	var infobox2=infobox || last_infobox;
	showhide_produkt.close();
	var clear_produkt = document.getElementById('produkt');
	clear_produkt.innerHTML = '';
	//Toggle off the layer 

	if(box=='bild') { showhide_bild.close(); }
	else if(box=='produkt') { showhide_produkt.close(); }
	if(infobox2 != last_infobox){ showhide_infobox.close(); }
	
	// alert(open_produkt);
/*	if(open_produkt==true) { 
	showhide_produkt.toggle();	 
	open_produkt=false;
	 } */
	//Let some time for the effect to take place 
	//and then call the ajax/httprequest function
	//NOTE HERE that the setTimeout(string, int) need to be 100ms more than in your fx.Combo
	var element = document.getElementById('loading'); 
	 element.innerHTML = '<img src="/bilder/loader.gif" alt="loading ..." />';
	 //ONLINE:
	setTimeout("getajax(\"/"+fragment_url+"\", \""+box+"\");", 400);
	// OFFLINE:
	//setTimeout("getajax(\"/sihl/httpdocs/"+fragment_url+"\", \""+box+"\");", 400);
	if(infobox2 != last_infobox){
		// ONLINE
		setTimeout("ajax_normal(\"/"+fragment_url+"&infobox="+infobox+"\", \"infobox\");", 400);
		// OFFLINE
		//setTimeout("ajax_normal(\"/sihl/httpdocs/"+fragment_url+"&infobox="+infobox+"\", \"infobox\");", 400);
		last_infobox=infobox2;
	//	showhide_infobox.custom(1000, 1000);
	}
	
	//alert(infobox2);
}

//Let some time for the effect to take place again!!! Short time 100 or so
function trythis(box) {

	if(box=='bild')	{
	setTimeout("showhide_bild.toggle();", 100);
	}
	else if(box=='produkt')	{	
	setTimeout("showhide_produkt.toggle();", 100);
	}
	var element = document.getElementById('loading');
	element.innerHTML = '';
	
}
function getajax(fragment_url, box){
	new ajax(fragment_url, { method: 'get', update: $(box),
		onComplete: function() {
			//Oncomplete toggle back the layer and voila
			trythis(box);
		}
	});
}

function ajax_normal(fragment_url, box){
	new ajax(fragment_url, { method: 'get', update: $(box),
		onComplete: function() {
			//Oncomplete toggle back the layer and voila
			setTimeout("showhide_infobox.custom(126,533);", 100);
		}
	});
}


function ajax_produkt(fragment_url){
	new ajax(fragment_url, { method: 'get', update: $('produkt'),
		onComplete: function() {
			//Oncomplete toggle back the layer and voila
			trythis();
		}
	});
}










var levels=4;
	
	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(sav){
		//var sav=readCookie("menu_state");
		//var sav=":meni-1:meni-1-0:meni-1-0-0::";
		//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;
	}