
function showDefinition(event) {
	var mouseX = 0;
	var mouseY = 0;
	if (!event) {
		var event = window.event;
		alert(event.target);
		var obj = event.target;
	} else {
		obj = this;
	}
	var ieVal = "srcElement";
	var mozVal = "target";
	var def = "theDefinition";
	var definition;
	
	// Grab the value of the definition
	event[mozVal] ? definition = event[mozVal][def] : definition = event[ieVal][def];
	
	if (event.pageX || event.pageY) 	{
		mouseX = event.pageX;
		mouseY = event.pageY;
	} else if (event.clientX || event.clientY) 	{
		mouseX = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		mouseY = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	var d = document.getElementById('definition');
	d.style.left = (mouseX-67)+"px";
	d.style.top = (mouseY+15)+"px";
	
	document.getElementById('dcontent').innerHTML = "<p>"+definition+"</p>";
	d.style.display = 'block';
	
}

function hideDefinition() {
	document.getElementById('definition').style.display = "none";
}

function parseHoverLinks() {
	var defintitionLinks = getElementsByClassName(document,"span","moreinfo");
	for(var i=0; i<defintitionLinks.length; i++){
        var link = defintitionLinks[i];      
        link.theDefinition = link.title;
       	AttachEvent(link,"mousemove",showDefinition);
       	AttachEvent(link,"mouseout",hideDefinition);
       	link.title = "";
    }
}


//Written by Jonathan Snook, http://www.snook.ca/jonathan
//Add-ons by Robert Nyman, http://www.robertnyman.com
function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : 
    oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

//*** This code is copyright 2003 by Gavin Kistner, gavin@refinery.com
//*** It is covered under the license viewable at http://phrogz.net/JS/_ReuseLicense.txt
function AttachEvent(obj,evt,fnc,useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
} 