
var MENU_TYPE_LEFT = 1;
var MENU_TYPE_RIGHT = 2;
var MENU_TYPE_TOP = 3;

window.onresize = hidePageMenus;

function isDefined(w)
{
  return (typeof w != 'undefined');
}

function getElementKoords(el)
{
  var aKoords = {top:0, left:0, width:0, height:0};

  if (!el)
  {
    return aKoords;
  }

  if (typeof el == 'string')
  {
    el = document.getElementById(id);
  }

  if (typeof el != 'object')
  {
    return aKoords;
  }

  if (!el)
  {
    return aKoords;
  }

  if (isDefined(el.offsetTop))
  {
    aKoords.left = aKoords.top = 0;
    aKoords.height = el.offsetHeight;
    aKoords.width = el.offsetWidth;

    while (el && el.tagName != 'BODY')
    {
      aKoords.top += parseInt(el.offsetTop);
      aKoords.left += parseInt(el.offsetLeft);

      el = el.offsetParent;
    }
  }
  else if (el && defined(el.pageX))
  {
    aKoords.left = el.pageX;
    aKoords.top = el.pageY;
    aKoords.height = el.height || el.clip.height;
    aKoords.width = el.width || el.clip.width;
  }

  return aKoords;
}

function hidePageMenus()
{
  for (var i = 0; i < 10; i++)
  {
  	if (document.getElementById('pagemenu' + i))
  	{
      document.getElementById('pagemenu' + i).style.visibility = 'hidden';
    }
  }
}

function showPageMenu(sMenuId, elBase, iMenuType)
{
  var elMenu;
  var iLeft;
  var iTop;

  if (!sMenuId)
  {
    return;
  }

  hidePageMenus();

  elMenu = document.getElementById(sMenuId);

  if (elMenu)
  {
    aKoords = getElementKoords(elBase);

    switch (iMenuType)
    {
      case MENU_TYPE_LEFT:
        iLeft = aKoords.left + aKoords.width;
        iTop = aKoords.top;
        break;
      case MENU_TYPE_RIGHT:
        iLeft = -parseInt(elMenu.style.width) + aKoords.left;
        iTop = aKoords.top;
        break;
      case MENU_TYPE_TOP:
        iLeft = aKoords.left;
        iTop = aKoords.top + aKoords.height;
        break;
      default:
        return;
    }

    elMenu.style.visibility = 'visible';
    elMenu.style.left = iLeft + 'px';
    elMenu.style.top = iTop + 'px';
  }
}

function cliShowPopup(url)
{
  options = 'location=no, menubar=no, toolbar=no, resizable=yes, scrollbars=yes, status=no, hotkeys=no, top=20, left=20, height=' + (screen.height - 100) + ', width=' + (screen.width - 40);

  window.open(url, '_blank', options);
}

