var elem = "";
var elemTip = "";
var offsetX = -75;
var offsetY = 150;
var x;
var y;
var safari = false;
var msie = false;
var mac = false;

var detect = navigator.userAgent.toLowerCase();
if( detect.indexOf('safari') >= 0 )
  safari = true;
if( detect.indexOf('msie') >= 0 )
  msie = true;
if( detect.indexOf('mac') >= 0 )
  mac = true;

function ShowPopup(toolTip)
{
  elem = document.getElementById('map_' + toolTip);
  elemTip = document.getElementById('div_' + toolTip);
  elemTip.style.visibility = 'visible';

  if( ! (msie && mac) ){
    elem.onmousemove = movehandler;
    if( elem.captureEvents ) elem.captureEvents( Event.MOUSEMOVE );
  }
}

function HidePopup()
{
  if( ! (msie && mac) ){
    elemTip.style.visibility = 'hidden';
    //elem.onmousemove = null;
  }
}

function movehandler(e)
{  
	if (!e) var e = window.event;

	// if browser recognizes pageX/pageY use this - value takes into account scroll bar position.
	// Compatible browsers: Mozilla, Safari, Opera.
	if (e.pageX || e.pageY) 
	{
		x = e.pageX;
		y = e.pageY;		
	}
	// otherwise, use clientX/clientY - value does not take into account scroll bar position.
	// Compatible browsers: IE
	else if (e.clientX || e.clientY)
	{
		if ( document.body.scrollLeft || document.body.scrollTop ) // IE 5.5
		{
			x = e.clientX + document.body.scrollLeft;
			y = e.clientY + document.body.scrollTop;
		}
		else
		{
			x = e.clientX + document.documentElement.scrollLeft;
			y = e.clientY + document.documentElement.scrollTop;
		}
	}
	
	// move tooltip up if mouse is too close to bottom of screen
	if( self.innerHeight && !safari )
	{
		if( document.documentElement.scrollTop >= 0 )
		{
			if( y > self.innerHeight + document.documentElement.scrollTop - 100 )
				offsetY = -120;
			else
   			offsetY = 20;
		}
		else if( document.body.scrollTop >= 0 )
		{
			if( y > self.innerHeight + document.body.scrollTop - 100 )
				offsetY = -120;
			else
   			offsetY = 20;
		}
	}
	else if( document.documentElement.offsetHeight && !safari )
	{
		if( y > document.documentElement.offsetHeight + document.documentElement.scrollTop - 100 )
			offsetY = -120;
		else
   		offsetY = 20;
	}
	
	elemTip.style.left = x + offsetX + 'px'; // Netscape wants 'px', others don't care if it's there or not
	elemTip.style.top = y + offsetY + 'px';

	return true;
}
