smartDefinitions = function()
{
	if (!document.getElementsByTagName) return; // retarded browser

	var terms;
	terms = document.getElementsByTagName('acronym');
	for (var i = 0; i < terms.length; ++i)
	{
		var term = terms[i];
		term.onmouseover = function() {
				var dfn = document.getElementById('dfn' + this.id);
				moveDfn(dfn);
				dfn.style.display = "inline";
			};
		term.onmouseout = function() {
				var dfn = document.getElementById('dfn' + this.id);
				dfn.style.display = "none";
			};
	}

	var dfns;
	dfns = document.getElementsByTagName('div');
	for (var i = 0; i < dfns.length; ++i)
	{
		var dfn = dfns[i];
		if (dfn.className == 'dfn')
		{
			dfn.onmouseover = function() {this.style.display = "inline"};
			dfn.onmouseout = function() {this.style.display = "none"};
		}
	}
}

function moveDfn(n)
{
	var IE = document.all ? true : false;
	if (!IE) document.captureEvents(Event.MOUSEMOVE);

	document.onmousemove = function(e)
	{
		var tempX;
		var tempY;
		if (IE)
		{
			tempX = event.clientX + document.body.scrollLeft;
			tempY = event.clientY + document.body.scrollTop;
		}
		else
		{
			tempX = e.pageX;
			tempY = e.pageY;
		}
		n.style.left = tempX + 10 + "px";
		n.style.top = tempY + 5 + "px";
	}
}

window.onload = smartDefinitions;
