/*///////////////////////////////////////////////////////////////////////
//es_button_menue.js
//Written by Electric Solutions GbR
//Copyright 2010 by Electric Solutions GbR
//Author: R. Grosseck
//support@electric-solutions.de
//www.electric-solutions.de
///////////////////////////////////////////////////////////////////////*/
(function ButtonMenue(){
	var lastactive;	//letztes aktiver Button
	var isactive;	//menu active?
	var lastdiv;	//letzter esbm div
}

(ButtonMenue = {
	Init : function() {
		this.lastactive=null;
		this.lastdiv=null;
		this.isactive=false;
		var obj = document.getElementsByTagName("DIV");
		for(x=0; x<obj.length; x++){
			if(obj[x].getAttributeNode("class")){
				if(obj[x].getAttributeNode("class").nodeValue == 'es_button'){
										
					//Wenn esbminit = false dann Parse on Events nicht auf Div
					if(obj[x].getAttributeNode("esbminit")){
						if(obj[x].getAttributeNode("esbminit").nodeValue == 'false')
						continue;
					}
					
					obj[x].style.cursor = "pointer";
					if(browser.isIE){
						//obj[x].firstChild.onclick = function(){ButtonMenue.Show(this)};
						obj[x].onclick = function(){ButtonMenue.Show(this)};
						obj[x].onmouseover = function(){ButtonMenue.MouseOver(this)};
						obj[x].onmouseout = function(){ButtonMenue.MouseOut(this)};	
					}
					else {
						//obj[x].firstChild.setAttribute("onclick","ButtonMenue.Show(this)");
						obj[x].setAttribute("onclick","ButtonMenue.Show(this)");
						obj[x].setAttribute("onmouseover","ButtonMenue.MouseOver(this)");
						obj[x].setAttribute("onmouseout","ButtonMenue.MouseOut(this)");
					}
				}
			}
		}
	},
	
	Show : function(esbmid){
		var oDiv = document.getElementById("esbm" + esbmid.getAttributeNode("esbmid").nodeValue);
		
		if(esbmid.getAttributeNode("esbmwidth")){
			var mwidth=esbmid.getAttributeNode("esbmwidth").nodeValue;
			if(mwidth == 'auto')
			oDiv.style.width= esbmid.offsetWidth + "px";
			else
			oDiv.style.width= mwidth + "px";
		}
		else
			oDiv.style.width= "130px";
		
		this.Hide(oDiv);
		if(esbmid != this.lastdiv){
			this.MouseOut(this.lastdiv);
			this.MouseOver(esbmid);
		}
		this.lastactive = oDiv;
		var mode = (oDiv.style.display == "none" || oDiv.style.display == "") ? "block" : "none";
		oDiv.style.display = mode;
		this.isactive = mode == "block" ? true : false;
	},
	
	Hide : function(oDiv){
		if(this.lastactive != null && oDiv != this.lastactive && this.lastactive.style.display == "block")
		this.lastactive.style.display = "none";
		this.isactive=false;
	},
	
	ClickScreen : function(event){
		var e = (event.target) ? event.target : event.srcElement;
		var ismenu = String(e.getAttribute('onclick'));
		var issubmenu = String(e.parentNode.getAttribute('onclick'));
		if(ismenu != 'undefined' && (ismenu == null || ismenu.indexOf('ButtonMenue') < 0) && issubmenu != 'undefined' && (issubmenu == null || issubmenu.indexOf('ButtonMenue') < 0)){
			this.Hide(null);
			if(this.lastdiv != null)
			this.MouseOut(this.lastdiv);
		}
	},
	
	MouseOver : function(obj){
		if(this.isactive == false && obj.getAttributeNode("esbmcss")){
			obj.className = obj.getAttributeNode("esbmcss").nodeValue;
			this.lastdiv = obj;
		}
	},
	
	MouseOut : function(obj){
		if(this.isactive == false && obj){
			obj.className = "es_button";
		}
	}

}));

addEvent(window, "load", function(){ButtonMenue.Init();});
addEvent(window.document, "click", function(event){ButtonMenue.ClickScreen(event);});

