var mousex = 0;
var mousey = 0;
var grabx = 0;
var graby = 0;
var orix = 0;
var oriy = 0;
var elex = 0;
var eley = 0;
var algor = 0;

function init()
{
  document.onmousemove = update; // update(event) implied on NS, update(null) implied on IE
  update();
}

function getMouseXY(e) // works on IE6,FF,Moz,Opera7
{ 
  if (!e) e = window.event; // works on IE, but not NS (we rely on NS passing us the event)

  if (e)
  { 
    if (e.pageX || e.pageY)
    { // this doesn't work on IE6!! (works on FF,Moz,Opera7)
      mousex = e.pageX;
      mousey = e.pageY;
      algor = '[e.pageX]';
      if (e.clientX || e.clientY) algor += ' [e.clientX] '
    }
    else if (e.clientX || e.clientY)
    { // works on IE6,FF,Moz,Opera7
      mousex = e.clientX + document.body.scrollLeft;
      mousey = e.clientY + document.body.scrollTop;
      algor = '[e.clientX]';
      if (e.pageX || e.pageY) algor += ' [e.pageX] '
    }  
  }
}

function update(e)
{
  getMouseXY(e); // NS is passing (event), while IE is passing (null)
}


function balloon_Open(text)
{
	update();
	if(document.getElementById)
	{
		oHeight = document.getElementById('balloon').offsetHeight;
	}
	else if (document.layers)
	{
		oHeight = document.layers['balloon'].clip.height;
	}

	document.getElementById('balloon').style.left=mousex+5;
	document.getElementById('balloon').style.top=mousey-oHeight-5;
	document.getElementById('balloontext').innerHTML=text;
	document.getElementById('balloon').style.display='block';
	document.getElementById('balloon').style.visibility='visible';
}

function balloon_Move()
{
	update();
	if(document.getElementById)
	{
		oHeight = document.getElementById('balloon').offsetHeight;
	}
	else if (document.layers)
	{
		oHeight = document.layers['balloon'].clip.height;
	}
	document.getElementById("balloon").style.left=mousex+5;
	document.getElementById("balloon").style.top=mousey-oHeight-5;
}

function balloon_Close()
{
	document.getElementById("balloon").style.display="none";
	document.getElementById("balloon").style.visibility="hidden";
}