function SetTopLeft(menuContainer, listener) {
  var down = menuContainer.hasClassName('down');
  var listenerPos = listener.cumulativeOffset();
  var movePxUpstairs = 0;

  if (down) {
    //alert(style.top + ":" + listener.getHeight());
    listenerPos.top += listener.getHeight();
  } else {
    // right

    var listenerParent = listener.up('div');
    var listenerParentPos = listenerParent.cumulativeOffset()

    //auf 10"-Monitoren unten abgeschnittene Menüpunkte etwas nach oben setzen
    //Es muss jeder einzeln behandelt werden weil Ansicht-DE <> Ansicht-Fr <> GB <> NL
    url = menuContainer.down();
    url = url.toString();
    if(     url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/a-bis-e/angeln/')
      movePxUpstairs = -2;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/a-bis-e/angeln/')
      movePxUpstairs = -2;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/a-bis-e/angeln/')
      movePxUpstairs = -2;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/a-bis-e/angeln/')
      movePxUpstairs = -2;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/f-bis-i/fahrradverleih/')
      movePxUpstairs = 22;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/f-bis-i/fahrradverleih/')
      movePxUpstairs = 22;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/f-bis-i/fahrradverleih/')
      movePxUpstairs = 22;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/f-bis-i/fahrradverleih/')
      movePxUpstairs = 22;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/k-bis-r/kegeln/')
      movePxUpstairs = 46;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/k-bis-r/kegeln/')
      movePxUpstairs = 46;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/k-bis-r/kegeln/')
      movePxUpstairs = 46;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/k-bis-r/kegeln/')
      movePxUpstairs = 46;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/s-bis-z/schieszen/')
      movePxUpstairs = 70;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/s-bis-z/schieszen/')
      movePxUpstairs = 70;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/s-bis-z/schieszen/')
      movePxUpstairs = 70;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/s-bis-z/schieszen/')
      movePxUpstairs = 70;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sportlich/angeln/')
      movePxUpstairs = 94;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sportlich/angeln/')
      movePxUpstairs = -3;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sportlich/angeln/')
      movePxUpstairs = -3;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sportlich/angeln/')
      movePxUpstairs = -3;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/kultur/bibliotheken/')
      movePxUpstairs = 8;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/mobil-im-lahntal/autovermietung/')
      movePxUpstairs = 21;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/mobil-im-lahntal/autovermietung/')
      movePxUpstairs = 3;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/mobil-im-lahntal/autovermietung/')
      movePxUpstairs = 2;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/mobil-im-lahntal/autovermietung/')
      movePxUpstairs = 20;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/natur/aussichtspunkte/')
      movePxUpstairs = 39;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/natur/aussichtspunkte/')
      movePxUpstairs = 39;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/natur/aussichtspunkte/')
      movePxUpstairs = 38;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/natur/aussichtspunkte/')
      movePxUpstairs = 20;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/rund-ums-wasser/badeseen/')
      movePxUpstairs = 117;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/rund-ums-wasser/badeseen/')
      movePxUpstairs = 117;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/rund-ums-wasser/badeseen/')
      movePxUpstairs = 170;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/rund-ums-wasser/badeseen/')
      movePxUpstairs = 152;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sehenswertes/besucherbergwerke-und-hoehlen/')
      movePxUpstairs = 105;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sehenswertes/besucherbergwerke-und-hoehlen/')
      movePxUpstairs = 69;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sehenswertes/besucherbergwerke-und-hoehlen/')
      movePxUpstairs = 86;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/sehenswertes/besucherbergwerke-und-hoehlen/')
      movePxUpstairs = 104;
    else if(url == 'http://de-de.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/veranstaltungsstaetten/grillhuetten-und-plaetze/')
      movePxUpstairs = 39;
    else if(url == 'http://en-gb.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/veranstaltungsstaetten/grillhuetten-und-plaetze/')
      movePxUpstairs = 21;
    else if(url == 'http://fr-fr.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/veranstaltungsstaetten/grillhuetten-und-plaetze/')
      movePxUpstairs = 56;
    else if(url == 'http://nl-nl.daslahntal.de/public/aktiv-im-lahntal/freizeitdatenbank/veranstaltungsstaetten/grillhuetten-und-plaetze/')
      movePxUpstairs = 56;


    function checkBrowserName(name)
    {
      var agent = navigator.userAgent.toLowerCase();
      if (agent.indexOf(name.toLowerCase())>-1) {
        return true;
      }
      return false;
    }
    //manche werden richtig dargestellt, manche nicht
    if(checkBrowserName('MSIE'))
    {
      //sofern nötig dann benutzen
    }
    else //'opera', 'safari', 'firefox'
    {
      
    }

    listenerPos.top = listenerPos.top - listenerParentPos.top - 4;

    listenerPos.left = listener.getWidth() + 3;
  }
  
  listenerPos.top -= movePxUpstairs;
  listenerPos.top += "px";
  listenerPos.left += "px";

  menuContainer.setStyle({top: listenerPos.top, left: listenerPos.left});
}

Event.observe(window, 'load', function () {
  $$('div').each(function (e) {
    if (e.hasClassName('drop-down-menu')) {
      var menuContainer = e;
      var listener = menuContainer.up();

      var down = menuContainer.hasClassName('down');
      var imgSrc = down ? '/images/open.png' : '/images/open2.png';

      Event.observe(listener, 'mouseover', function () {        
        SetTopLeft(menuContainer, listener);
        
        if (menuContainer && !menuContainer.hasClassName('show-menu')) {
          menuContainer.addClassName('show-menu');
          //menuContainer.appear();
          menuContainer.show();
          if (down) {
            listener.down('img').src = imgSrc;
            listener.addClassName('hover');
          } else {
            listener.down('a').addClassName('open');
          }
        }
      });
      Event.observe(listener, 'mouseout', function (event) {

        var target = event.relatedTarget || event.toElement;

        var descendant = false;

        if (listener == target) {
          descendant = true;
        } else {
          listener.descendants().each(function (x) {
            if (x == target) {
              descendant = true;
            }
          });
        }

        if (!descendant && menuContainer) {
          menuContainer.removeClassName('show-menu');
          menuContainer.hide();
          if (down) {
            listener.down('img').src = '/images/more.png';
            listener.removeClassName('hover');
          } else {
            listener.down('a').removeClassName('open');
          }
          //menuContainer.fade();
        }
      });
    }

    /*
    // Beim Click auf das Div die verlinkte Seite aufrufen
    if (e.hasClassName('menu-click')) {

      Event.observe(e, 'click', function(event) {
        Event.stop(event);
        window.location.href = e.down('a').href;
      });

    }
    */
  });
});
