/**
 * mininavi.js V 1.0b
 * developed by goodRanking 2008
 * autor: M.Hoffmann
 * requires mootools.js V1.2
**/

/******************** Konfiguration ***************************/
// Template-URL und DIV-IDs
var templateURL = "fileadmin/templates/jrk/mininavi.html";
var naviId  = "miniNavi";
var toolTipId = "toolTip";

// Button-Style fuer Activ und normal
var btn_style_activ = "border-color:#F29400;";
var btn_style_normal = "";

// Buttons (btn[] = new Array(id, ToolTip))
var btn = new Array();
btn["klein"]  = new Array('btnKlein', 'Text normal');
btn["mittel"] = new Array('btnMittel', 'Text mittel');
btn["gross"]  = new Array('btnGross', 'Text gro&szlig;');
btn["kontrast"] = new Array('btnKontrast', 'Kontrast');
/***************** ENDE Konfiguration **************************/

/*********** ONLOAD-Action (miniNavi init. und load) ***********/
window.addEvent('domready', function(){
	var load_miniNavi = new Request({
			url:templateURL,
			onSuccess: function(txt){
				$(naviId).set('html', txt);
				var miniNavi = new MiniNavi(naviId);
			},
			onFailure: function(){
				$(naviId).set('text', 'MiniNavi konnte nicht geladen werden!');
			}
	});
	load_miniNavi.send();
});
/*********************** ENDE ONLOAD-Action *********************/

/************************ Class MiniNavi ************************/
var kontrast_activ = false; // true || false
var btn_activ = ""; // nur klein, mittel, gross um bei kontrast entsprechende groesse zu setzen
function MiniNavi(naviId){
	this.id = naviId;
	this.parentDiv = $(this.id); // miniNavi-DIV
	var btn_klein 	= $(btn["klein"][0]);
	var btn_mittel = $(btn["mittel"][0]);
	var btn_gross 	= $(btn["gross"][0]);
	var btn_kontrast = $(btn["kontrast"][0]);
	var toolTip = $(toolTipId);
	if($chk(this.parentDiv)){
		// Button Klein - Events
		if($chk(btn_klein)){
			btn_klein.addEvent('click', function(){ 
				$$("body").setProperty("class", "klein"+((kontrast_activ)? " kontrast" : ""));
				this.set("style", btn_style_activ);
				if($chk(btn_mittel)){ btn_mittel.set("style", btn_style_normal); }
				if($chk(btn_gross)){ btn_gross.set("style", btn_style_normal); }
				btn_activ = "klein ";
				setCookie(btn_activ, kontrast_activ);
				return true; 
			});
			btn_klein.addEvent('mouseover', function(){ 
				if($chk(toolTip)){ toolTip.set('html', ((btn["klein"][1]!="")? btn["klein"][1] : "&nbsp;")); }
				return true; 
			});
			btn_klein.addEvent('mouseout', function(){ 
				if($chk(toolTip)){ toolTip.set('html', "&nbsp;"); }
				return true; 
			});
		}
		// Button Mittel - Events
		if($chk(btn_mittel)){
			btn_mittel.addEvent('click', function(){ 
				$$("body").setProperty("class", "mittel"+((kontrast_activ)? " kontrast" : ""));
				this.set("style", btn_style_activ);
				if($chk(btn_klein)){ btn_klein.set("style", btn_style_normal); }
				if($chk(btn_gross)){ btn_gross.set("style", btn_style_normal); }
				btn_activ = "mittel ";
				setCookie(btn_activ, kontrast_activ);
				return true; 
			});
			btn_mittel.addEvent('mouseover', function(){ 
				if($chk(toolTip)){ toolTip.set('html', ((btn["mittel"][1]!="")? btn["mittel"][1] : "&nbsp;")); }
				return true; 
			});
			btn_mittel.addEvent('mouseout', function(){ 
				if($chk(toolTip)){ toolTip.set('html', "&nbsp;"); }
				return true; 
			});
		}
		// Button Gross - Events
		if($chk(btn_gross)){
			btn_gross.addEvent('click', function(){ 
				$$("body").setProperty("class", "gross"+((kontrast_activ)? " kontrast" : ""));
				this.set("style", btn_style_activ);
				if($chk(btn_klein)){ btn_klein.set("style", btn_style_normal); }
				if($chk(btn_mittel)){ btn_mittel.set("style", btn_style_normal); }
				btn_activ = "gross ";
				setCookie(btn_activ, kontrast_activ);
				return true; 
			});
			btn_gross.addEvent('mouseover', function(){ 
				if($chk(toolTip)){ toolTip.set('html', ((btn["gross"][1]!="")? btn["gross"][1] : "&nbsp;")); }
				return true; 
			});
			btn_gross.addEvent('mouseout', function(){ 
				if($chk(toolTip)){ toolTip.set('html', "&nbsp;"); }
				return true; 
			});
		}
		// Button Kontrast - Events
		if($chk(btn_kontrast)){
			btn_kontrast.addEvent('click', function(){ 
				if(!kontrast_activ){
					$$("body").setProperty("class", btn_activ+"kontrast");
					this.set("style", btn_style_activ);	
					kontrast_activ = true;
					setCookie(btn_activ, kontrast_activ);
				}else{
					$$("body").setProperty("class", btn_activ);
					this.set("style", btn_style_normal);
					kontrast_activ = false;
					setCookie(btn_activ, kontrast_activ);
				}
				return true; 
			});
			btn_kontrast.addEvent('mouseover', function(){ 
				if($chk(toolTip)){ toolTip.set('html', ((btn["kontrast"][1]!="")? btn["kontrast"][1] : "&nbsp;")); }
				return true; 
			});
			btn_kontrast.addEvent('mouseout', function(){ 
				if($chk(toolTip)){ toolTip.set('html', "&nbsp;"); }
				return true; 
			});
		}
	}
	else alert("Es muss ein Div mit id='"+this.id+"' vergeben werden,\ndamit die Mininavigation dargestellt werden kann.");
	iniCookieValues();
}
/******************** ENDE Class MiniNavi ************************/

/********************* Cookie Funktionen *************************/
function iniCookieValues(){
	// bodyClass setzen
	if($chk(Cookie.read("bodyClass"))){
		$$("body").setProperty("class", Cookie.read("bodyClass"));		
		var bodyClass = Cookie.read("bodyClass");
	}
	//button Schriftgroesse ggf. markieren
	var btnActiv = "";
	if($chk(Cookie.read("btn_activ"))){
		btnActiv = Cookie.read("btn_activ").replace(" ", "");
		if($chk($(btn[btnActiv][0]))){
			$(btn[btnActiv][0]).set("style", btn_style_activ); 
			btn_activ = btnActiv+" ";
		}
	}
	//button Kontrast ggf. markieren
	if($chk(Cookie.read("kontrast_activ")) && $chk($(btn["kontrast"][0])) ){
		if(Cookie.read("kontrast_activ")=="true") {
			$(btn["kontrast"][0]).set("style", btn_style_activ); 
			kontrast_activ = "kontrast";
		}else kontrast_activ = "";
	}
}
function setCookie(btn_activ, kontrast_activ){
	Cookie.write("btn_activ", btn_activ);
	Cookie.write("kontrast_activ", kontrast_activ);
	Cookie.write("bodyClass", $$("body").getProperty("class"));
}
/******************** ENDE Cookie Funktionen *********************/

