function add (link, popup)
{
	var l = document.getElementById(link);
	var p = document.getElementById(popup);
	
	hide(popup);
	
	l.target = popup;
	l.onmouseover = over;
	l.onmouseout = out;
}

function over ()
{
	this.onmousemove = move;
}

function out ()
{
	hide(this.target);
	this.onmousemove = null;
}

function hide (popup)
{
	document.getElementById(popup).style.display = 'none';
}

function show (popup)
{
	document.getElementById(popup).style.display = 'block';
}

function move (e)
{
	if (!e) var e = window.event;
	
	var mX; var mY;
	
	if (e.pageX || e.pageY)
	{
		mX = e.pageX;
		mY = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		mX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		mY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	
	document.getElementById(this.target).style.left = (mX + 10) + 'px';
	
	var y = mY - document.getElementById(this.target).offsetHeight / 2;
	
	if (y < 0)
	{
		document.getElementById(this.target).style.top = '0';
	}
	else
	{
		document.getElementById(this.target).style.top = y + 'px';
	}
	
	show(this.target);
}