
topMenu = {

  activePopUpMenu: null,
  topZIndex: 1,
  fixedPopUpMenus: {
    'pop-menu-matches': 0,
    'pop-menu-teams': 160,
    'pop-menu-teams-es': 176
  },

  bindPopUpMenu: function(menuItemId, popMenuId) {

    $(popMenuId).hide();
    $(menuItemId).onmouseover = this.showPopUpMenu.bind(this, popMenuId);
    $(popMenuId).onmouseover = this.clearPopUpMenuHideTimer.bind(this, popMenuId);
    $(popMenuId).onmouseout = this.setPopUpMenuHideTimer.bind(this, popMenuId);
    $(popMenuId + "-trans-area-1").onmouseover = this.hidePopUpMenu.bind(this, popMenuId);
    $(popMenuId + "-trans-area-2").onmouseover = this.hidePopUpMenu.bind(this, popMenuId);
    Event.observe(window, "resize", this.positionPopUpMenu.bind(this, menuItemId, popMenuId, false));
    this.positionPopUpMenu(menuItemId, popMenuId, true);
  },

  positionPopUpMenu: function(menuItemId, popMenuId, initialPosition) {

    var menuItemPosition = Helper.getElementPosition(menuItemId);
    var posLeft = 0;
    var browserOffset = !initialPosition || Helper.getBrowser() == "IE" ? 0 : -8;

    if (this.fixedPopUpMenus[popMenuId] === undefined) {
      posLeft = menuItemPosition.left - 7;
    } else {
      var menuContainerPos = Helper.getElementPosition('top-menu-items');
      var popMenuOffset = this.fixedPopUpMenus[popMenuId + "-" + Helper.getLang()];
      if (popMenuOffset === undefined) {
        popMenuOffset = this.fixedPopUpMenus[popMenuId];
      }
      posLeft = menuContainerPos.left + popMenuOffset;
    }
    posLeft += browserOffset;

    $(popMenuId).setStyle({
      top: menuItemPosition.top + 3 + "px",
      left: posLeft + "px"
    });
  },

  showPopUpMenu: function(popMenuId) {

    if (this.activePopUpMenu && this.activePopUpMenu != popMenuId) {
      this.hidePopUpMenu(this.activePopUpMenu);
    }

    this.topZIndex++;

    $(popMenuId).setStyle({zIndex: this.topZIndex});

    $(popMenuId).show();

    this.activePopUpMenu = popMenuId;
  },

  hidePopUpMenu: function(popMenuId) {

    $(popMenuId).hide();

    this.activePopUpMenu = null;
  },

  setPopUpMenuHideTimer: function(popMenuId) {

    if (!$(popMenuId).hideTimer) {
      $(popMenuId).hideTimer = setTimeout("topMenu.hidePopUpMenu('" + popMenuId + "')", 1000);
    }
  },

  clearPopUpMenuHideTimer: function(popMenuId) {

    if ($(popMenuId).hideTimer) {
      window.clearTimeout($(popMenuId).hideTimer);
      $(popMenuId).hideTimer = null;
    }
  }

}
