﻿var sGlobalMenuOpened = "";

function OnOver()
{
   if (sGlobalMenuOpened.length != 0)
   {
      var oMenu = Tygrik.System.ByID("My_Menu_" + sGlobalMenuOpened);
      if (oMenu != null)
      {
         oMenu.style.visibility = "hidden";
         oMenu.style.zIndex = -1100;
         oMenu.style.left = "0px";
         oMenu.style.top = "0px";

         sGlobalMenuOpened = "";
      }
   }
}

function MenuOver(oEv)
{
   oEv.cancelBubble = true;
}

function MenuOpen(sName, oEv, parleft, partop)
{
   OnOver();

   var oMenu = Tygrik.System.ByID("My_Menu_" + sName);
   if (oMenu != null)
   {
      if(Tygrik.Style.GetStyleValue(oMenu, "visibility") == "hidden")
      {
          var eve = oEv.target;
          if (eve == null)
          {
             eve = oEv.srcElement;
          }

          var oPos = new Tygrik.Style.Pos();
          Tygrik.Style.GetPosition(eve, oPos);
    
          oPos.x = oPos.x + parleft;
          oPos.y = oPos.y + partop;

          // posunuti pod prvek
          oPos.y = oPos.y + Tygrik.Style.SizeHeight(eve);

          Tygrik.Style.SetPosition(oMenu, oPos);

          oMenu.style.zIndex = 1100;
          oMenu.style.visibility = "visible";

          sGlobalMenuOpened = sName;
      }
   }

   oEv.cancelBubble = true;
}

function MenuOpenFixed(sName, oEv, parleft, partop)
{
   OnOver();

   var oMenu = Tygrik.System.ByID("My_Menu_" + sName);
   if (oMenu != null)
   {
      var eve = oEv.target;
      if (eve == null)
      {
         eve = oEv.srcElement;
      }

      var oPos = new Tygrik.Style.Pos();
      Tygrik.Style.GetPosition(eve, oPos);

      oPos.x = oPos.x + parleft;
      oPos.y = oPos.y + partop;

      // posunuti pod prvek
      oPos.y = oPos.y + Tygrik.Style.SizeHeight(eve);

      Tygrik.Style.SetPosition(oMenu, oPos);

      var movleft = 0;
      var movtop = 0;
      var obj = eve;
      while (obj != null)
      {
         if (obj.scrollLeft != undefined && obj.scrollTop != undefined)
         {
            movleft += obj.scrollLeft;
            movtop += obj.scrollTop;
         }
         obj = obj.parentNode;
      }

      if (NavigatorIsIE60Old())
      {
         oMenu.style.top = (movtop + 15) + "px";
      }
      else
      {
         oMenu.style.top = (movtop + 22) + "px";
      }

      oMenu.style.zIndex = 1100;
      oMenu.style.visibility = "visible";

      sGlobalMenuOpened = sName;
   }

   oEv.cancelBubble = true;
}

