function vepositions_getPosition( tag ) 
  {
  var point = new Object();

  if( browser.gebi || browser.isIE4 )
    {
    var e = tag;
    point.x = e.offsetLeft;
    point.y = e.offsetTop;

    while( ( e = e.offsetParent ) != null )
      {
      point.x += e.offsetLeft;
      point.y += e.offsetTop;
      }
    }
  else if( browser.isNS4 )
    {
    point.x = tag.x;
    point.y = tag.y;
    }
  else
    point.x = point.y = 0;

  return point;
  }

function vepositions_getSize( tag, point )
  {
  if( point == null )
    point = new Object();

  if( browser.gebi || browser.isIE4 )
    {
    point.w = tag.scrollWidth;
    point.h = tag.scrollHeight;
    }
  else if( browser.isNS4 )
    {
    // need more work--ij
    }

  return point;
  }

function vepositions_getBounds( tag )
  {
  var point = vepositions_getPosition( tag );
  vepositions_getSize( tag, point );
  return point;
  }

function vepositions_getPageSize()
  {
  var point = new Object();

  if( browser.gebi || browser.isIE4 )
    {
    point.w = document.body.scrollWidth;
    point.h = document.body.scrollHeight;
    }
  else if( browser.isNS4 )
    {
    point.x = window.innerWidth;
    point.y = window.innerHeight;
    }

  return point;
  }

