var dfbox;
var dftitle;
var dfdef;

function setupDefinitions() {
	var dfns = document.getElementById('content').getElementsByTagName('dfn');
	
	YAHOO.util.Event.addListener(dfns, "mouseover", showDefinition, this);
	YAHOO.util.Event.addListener(dfns, "mouseout", hideDefinition, this);
	YAHOO.util.Event.addListener(dfns, "mousemove", moveDefinition, this);
}

function showDefinition(e) {
	dfbox = document.getElementById('definition');
	dftitle = document.getElementById('def_title');
	dfdef = document.getElementById('def_def');
	YAHOO.util.Dom.setStyle(dfbox, 'opacity', 0);
	dfbox.style.display = 'block';
//	var x = YAHOO.util.Dom.getX(this);
//	var y = YAHOO.util.Event.getPageY(e);
//	var y = YAHOO.util.Dom.getY(this);
//	var x = YAHOO.util.Event.getPageX(e);
	var xy = YAHOO.util.Event.getXY(e);
	xy[1] = xy[1]-dfbox.offsetHeight-4;
	xy[0] = xy[0]-14;
	YAHOO.util.Dom.setXY(dfbox, xy);
	dftitle.innerHTML = this.getAttribute('title');
	dfdef.innerHTML = this.getAttribute('def');
	var contentBox = document.getElementsBySelector("#definition .content");
	var newHeight = contentBox[0].offsetHeight;
	document.getElementById('pngHelper').style.height = newHeight+"px";
	YAHOO.util.Dom.setStyle(dfbox, 'opacity', 1);
}

function moveDefinition(e) {
	if(dfbox && YAHOO.util.Dom.getStyle(dfbox, 'opacity')==1) {
		//its showing, move it
		var xy = YAHOO.util.Event.getXY(e);
		xy[1] = xy[1]-dfbox.offsetHeight-4;
		xy[0] = xy[0]-14;
		YAHOO.util.Dom.setXY(dfbox, xy);
	}
}
function hideDefinition(e) {
	var dfbox = document.getElementById('definition');
	dfbox.style.display = 'none';
}
YAHOO.util.Event.addListener(window, "load", setupDefinitions);