var MSIE6 = (Browser.Engine.trident&&!Browser.Engine.trident5);
var reqAdd = new Request({
  onFailure: function(){alert('An error occured while adding this item to your profile.');},
  method: 'get'
});
function quickMenu(evt, that)
{
  var acm;
  viewport.getAll();
  if ((acm = $('quickMenu')) != null)
  {
    acm.setStyle('visibility', 'visible');
    if (MSIE6) acm.setStyle('display', 'block');
    var x = evt.clientX;
    var y = evt.clientY;
    var divW = acm.getSize().x;
    var divH = acm.getSize().y;
    if (MSIE6)
    {
      if (divW < 100) acm.setStyle('width', (divW=100)+'px');
      if (divH > 100) acm.setStyle('height', (divH=100)+'px');
      acm.setStyle('left', x-5-$(document.body).getStyle('margin-left').toInt()-acm.parentNode.getCoordinates().left+document.documentElement.scrollLeft-((evt.clientX>(viewport.width-divW))?divW:0)+'px');
      acm.setStyle('top', y-5-$(document.body).getStyle('margin-top').toInt()-acm.parentNode.getCoordinates().top+document.documentElement.scrollTop-((evt.clientY>(viewport.height-divH))?divH:0)+'px');
    }
    else
    {
      acm.setStyle('left', x + 5 - divW+'px');
      acm.setStyle('top', y - 5 - ((evt.clientY>(viewport.height-divH))?divH:0)+'px');
    }
  }
}
function showMenu(that)
{
  if (MSIE6) that.setStyle('display', 'block');
  that.setStyle('visibility', 'visible');
}
function hideMenu(that)
{
  if (MSIE6) that.setStyle('display', 'none');
  that.setStyle('visibility', 'hidden');
}

viewport =
{
   getIECanvas: function ()
   {
      var canv = null;
      if (!window.opera && document.all && typeof document.body.clientWidth != "undefined")
      {
         var cm = document.compatMode && document.compatMode == "CSS1Compat";
         canv = cm ? document.documentElement : document.body;
      }
      return canv;
   },

   getWinWidth: function ()
   {
      var canv;
      if ( canv = this.getIECanvas() )
         this.width = canv.clientWidth;
      else
         this.width = window.innerWidth - 18;
   },

   getWinHeight: function ()
   {
      var canv;
      if (canv = this.getIECanvas())
         this.height = canv.clientHeight;
      else
         this.height = window.innerHeight - 18;
   },

   getScrollX: function ()
   {
      var canv;
      if (canv = this.getIECanvas())
         this.scrollX = canv.scrollLeft;
      else if (window.pageXOffset)
         this.scrollX = window.pageXOffset;
      else if (window.scrollX)
         this.scrollX = window.scrollX;
      else
         this.scrollX = 0;
   },

   getScrollY: function ()
   {
      var canv;
      if (canv = this.getIECanvas())
         this.scrollY = canv.scrollTop;
      else if (window.pageYOffset)
         this.scrollY = window.pageYOffset;
      else if (window.scrollY)
         this.scrollY = window.scrollY;
      else
         this.scrollY = 0;
   },

   getAll: function ()
   {
      this.getWinWidth();
      this.getWinHeight();
      this.getScrollX();
      this.getScrollY();
   }
};
