
function fixMenus() {
	var myEffects = new Array();
	var effectI = 0;
	var selectedE, selectedEHeight;
	$$("#globalNav ul").each(function(e,i) {
	
		// göm alla sub-UL'ar
		e.setStyle("display","none");
		var parNode = $(e.parentNode);
		parNode.setStyle("position", "relative");
	
		// ny div
		var newDiv = new Element("div");		
		newDiv.innerHTML = "<ul style='visibility: hidden'>" + e.innerHTML + "</ul>";
		newDiv.setStyles({ width: "0", height: "0" });
		newDiv.injectBefore(e);
		$(newDiv.firstChild).setStyles({ top: "auto", height: "auto", margin: 0, padding: 0 });
	
		myEffects.push( new Fx.Styles(newDiv.firstChild, {duration: 500,transition: Fx.Transitions.Sine.easeInOut }) );
	
		var localEffectI = effectI;
	
		// bestäm höjd på animationen beroende på hur många LI det finns
		var lis = e.getElementsByTagName("li");
		switch (lis.length) {
			case 1:
				var height = 35;
				break;
			case 2:
				var height = 40;
				break;
			case 3:
				var height = 75;
				break;
			case 4:
				var height = 94;
				break;
			case 5:
				var height = 70;
				break;
		}

		// är detta den som är vald?
		if(parNode.hasClass("active")) {
			selectedE = newDiv.firstChild;
			selectedEHeight = height;
		}

		// lägg på LI istället
		a = $(newDiv.previousSibling.parentNode);
		a.addEvent("mouseenter", function(event) {	
			myEffects[localEffectI].stop();
			myEffects[localEffectI].start({
				'height': [40, height],
				'opacity': [0,1]
			});	
		} );
		
		a.addEvent("mouseleave", function(event) { 	
			myEffects[localEffectI].stop();
			myEffects[localEffectI].start({
				'height': [height, 40],
				'opacity': [1,0]
			});
		} );
		
		effectI++;
	
	} );

	// har vi en kategori vald ska den slida's in
	// console.debug(selectedLI);
	if (selectedE) {
		var liFX = new Fx.Styles(selectedE, {duration: 500,transition: Fx.Transitions.Sine.easeInOut });
		liFX.start({		 
			'height': [40, selectedEHeight],
			'opacity': [0,1]			  
		});
	}

}

window.addEvent('domready', function(){
  fixMenus();
});
