var EventManager = {
	addListener:function() {
		if ( window.addEventListener ) {
			return function(el, type, fn) {
				el.addEventListener(type, fn, false);
			};
		} else if ( window.attachEvent ) {

			return function(el, type, fn) {
				var f = function() {
					caller = window.event;
					caller.target = window.event.srcElement;
					caller.pageX = window.event.clientX + document.body.scrollLeft ;
					caller.pageY = window.event.clientY + document.body.scrollTop ;
					fn.call(el, caller);
				};
				if(!el.FunctionsList) el.FunctionsList = [];
				el.FunctionsList.push([fn, f]);
				el.attachEvent('on'+type, f);
			};
		} else {
			// old Browser only 1 Event!!
			return function(el, type, fn) {
				element['on'+type] = fn;
			}
		}
	}(),
	
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

	removeListener:function() {
		if ( window.removeEventListener ) {
			return function(el, type, fn) {
				el.removeEventListener(type, fn, false);
			};
		} else if ( window.detachEvent ) {
			return function(el, type, fn) {
				for(i in el.FunctionsList){
					if(el.FunctionsList[i][0] == fn){
						el.detachEvent('on'+type, el.FunctionsList[i][1]);
						el.FunctionsList.splice(i,1);
						break;
					}
				}

			};
		} else {
			// old Browser only 1 Event!!
			return function(el, type, fn) {
				el['on'+type] = null;
			}
		}
	}()
};


/* berechnet die Breiteste Li und passt sie danach an  ~~~~~~~~~~~~~~~~~~~~~~~*/

function getListID(){

	var liste = document.getElementById('navi');
	
	
	ulElements = liste.getElementsByTagName("ul");
	
	liElements = liste.getElementsByTagName("li");
	

	var agt=navigator.userAgent.toLowerCase();
	var is_major = parseInt(navigator.appVersion);
	var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));   
	var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );

	for(var i = 0; i < ulElements.length; i++){
	
		
	
		var retAry = new Array();
		listCollection = ulElements[i].getElementsByTagName("li");
		retAry.push(ulElements[i].parentNode.getElementsByTagName('a')[0].clientWidth);
		
		
		
		
		for(var j= 0; j < listCollection.length; j++){
			listCollection[j].className = null;
			
			if (is_ie6){
			listCollection[j].style.width = "0px";
			var element = listCollection[j].getElementsByTagName('a')[0];
			//element.onmouseover = function(){hiliteList(this, true)};
//			element.onmouseout = function(){hiliteList(this, false)};
			}
			
			//EventManager.addListener(listCollection[j], "mouseout", hiliteNavHead)
			//listCollection[j].onmouseover = function(){hiliteNavHead(this)};
			retAry.push(listCollection[j].clientWidth);	
			
			
			
			
		}
			
			
		listenWert = retAry.sort(function(a,b){return a - b})
		hoechsterWert = listenWert[listenWert.length-1];
		
		for(var k = 0; k < listCollection.length; k++){
				listCollection[k].style.width = hoechsterWert + "px";
		}
	
		ulElements[i].className = "";
		ulElements[i].style.width = hoechsterWert + "px";
		
		/*EventManager.addListener(ulElements[i], "mouseover", hiliteNavHead)
		EventManager.addListener(ulElements[i], "mouseout", hiliteNavHead)*/
		
			
			ulElements[i].onmouseover = function(){hiliteNavHead(this)};
			//ulElements[i].onmouseleave = function(){hiliteOffNavHead(this)};
			ulElements[i].onmouseout = function(){hiliteOffNavHead(this)};
	
	}
}




function hiliteNavHead(e){
	
	
	
	var currentNode = e.parentNode;

			while(currentNode.parentNode.nodeName !=  "UL"){
				currentNode= currentNode.parentNode;
				}
			
			var myNode = currentNode.getElementsByTagName('a')[0];			
			myNode.style.opacity = .6;
			myNode.style.filter = 'alpha(opacity=60)'
			
	
}


function hiliteOffNavHead(e){
	
	
	var currentNode = e.parentNode;
			while(currentNode.parentNode.nodeName !=  "UL"){
				currentNode= currentNode.parentNode;
				}
			var myNode = currentNode.getElementsByTagName('a')[0];		
			myNode.style.opacity = '';
			myNode.style.filter =  ''; //'alpha(opacity=100)'
			
			
			
	
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/



function init(){

	getListID()

	}


EventManager.addListener(window, "load", init);

sfHover = function() {
        var divArray = ['nav'];
        for (var i = 0; i < divArray.length; i++){
        

			var sfEls = document.getElementById(divArray[i]).getElementsByTagName("LI");
			for (var i=0; i<sfEls.length; i++) {
				sfEls[i].onmouseover=function() {
					this.className+=" sfhover";
				}
				sfEls[i].onmouseout=function() {
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}

        }
//if (window.attachEvent) window.attachEvent("onload", sfHover);

if (window.attachEvent) EventManager.addListener(window, "load", sfHover);
