    $(document).ready(function() {    
    	function megaHoverOver(){
    		$(this).find(".sub").stop().fadeTo('fast', 1).show();
    			
    		//Breite aller ul berechnen
    		(function($) { 
    			jQuery.fn.calcSubWidth = function() {
    				rowWidth = 0;
    				//Zeile berechnen
    				$(this).find("ul").each(function() {					
    					rowWidth += $(this).width(); 
    				});	
    			};
    		})(jQuery); 
    		
    		if ( $(this).find(".row").length > 0 ) { //Wenn eine Zeile existiert ...
    			var biggestRow = 0;	
    			//Alle Zeilen berechnen
    			$(this).find(".row").each(function() {							   
    				$(this).calcSubWidth();
    				//Größte Zeile finden
    				if(rowWidth > biggestRow) {
    					biggestRow = rowWidth;
    				}
    			});
    			//Breite setzen
    			$(this).find(".sub").css({'width' :biggestRow});
    			$(this).find(".row:last").css({'margin':'0'});
    			
    		} else { //Wenn keine Zeile existiert ...
    			
    			$(this).calcSubWidth();
    			//Breite setzen
    			$(this).find(".sub").css({'width' : rowWidth});
    			
    		}
    	}
    	
    	function megaHoverOut(){ 
    	  $(this).find(".sub").stop().fadeTo('fast', 0, function() {
    		  $(this).hide(); 
    	  });
    	}
    
    
    	var config = {    
    		 sensitivity: 2, // number = Zahl  der Pixel, die der Mauszeiger zwischen zwei Polls maximal zurücklegen darf, damit noch ein onMouseOver ausgelöst wird (muss 1 oder höher sein)    
    		 interval: 100, // number = Millisekunden für onMouseOver-Polling    
    		 over: megaHoverOver, // function = Funktion die bei onMouseOver aufgerufen wird    
    		 timeout: 50, // number = Millisekunden nach denen das Menü bei onMouseOut verschwindet
    		 out: megaHoverOut // function = Funktion die bei onMouseOut aufgerufen wird (REQUIRED)    
    	};
    

    	$("ul#topnav li .sub").css({'opacity':'0'});
    	$("ul#topnav li").hoverIntent(config);

    });

