  Event.observe(window, 'load', initMenu, false);
  var isIE = document.uniqueID ? 1 : 0;
  function initMenu() {
    centerMenu();
    var menuLis = $("mainNav").getElementsByTagName("li");
    var menus = $A(menuLis) 
    
    menus.each(function(menus) {
      Event.observe( menus, 'mouseover', function() {menuActivate(menus)}, false);
      Event.observe( menus, 'mouseout', function() {menuDeactivate(menus)}, false);
    });
  }  

 function menuActivate (item) {
   if(!item) return;
   if (!Element.hasClassName(item, "aktiv")) Element.addClassName(item, "aktiv") 
   if (item.getElementsByTagName("ul").length > 0 ) {
     Element.addClassName(item.getElementsByTagName("ul")[0], 'visibleMenu')
   }   
 }
 
 function menuDeactivate (item) {
   if(!item) return;
   Element.removeClassName(item, "aktiv") 
   if (item.getElementsByTagName("ul").length > 0 ) {
     Element.removeClassName(item.getElementsByTagName("ul")[0], 'visibleMenu')
   }   
  }
 
 /*
 Die Kombination aus Block-Elementen und Floats 
 läßt sich leider nicht vernünftig zentrieren.
 Deshalb: Näherungswert in % im CSS, genaue Positionierung hier via Script.  
 ----------------------------------------*/
 function centerMenu() {
  if($("mainNav")) {
    var mainNav = $("mainNav");
    var menuAs = $A(mainNav.getElementsByTagName("a") );
    var menuWidth = 0; 
    // Die UL wird wg. der Floats nicht auf volle Breite gerendert
    // deshalb A-Elemente der 1. Ebene ausmessen:   
    menuAs.each( function(menuAs) {
      if ( menuAs.parentNode.parentNode == mainNav ) {
        menuWidth += menuAs.offsetWidth;
      }
    });
    // Fallback-Styles überschreiben
    mainNav.style.marginLeft =  "auto";
    mainNav.style.width =  parseInt(menuWidth * 0.0854 ) + "em";
  }
} 
   