var mx=0, my=0;
var dx=5, dy=-15;
var el=null;
var srcEl=null;
var srcTitle='';
var tooltips=null;

document.onmousemove = function (e) {
	oCanvas = document.getElementsByTagName(
		(document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY"
	)[0];
	mx = window.event ? event.clientX + oCanvas.scrollLeft : e.pageX;
	my = window.event ? event.clientY + oCanvas.scrollTop : e.pageY;
	if (el) {
		el.style.left = mx+dx+"px";
		el.style.top = my+dy+"px";
	}
}

document.onmouseover = function showeinfo(e) {
	if (null!=window.event) {
		srcEl = event.srcElement;
	} else {
		srcEl = e.target;
	}
	var ttcontent="";
	if (srcEl.tagName!="BODY" && srcEl.id) {
		if (null!=tooltips && tooltips[srcEl.id]) {
			ttel=document.getElementById(tooltips[srcEl.id]);
		} else {
			ttel=document.getElementById("t"+srcEl.id);
		}
		if (null!=ttel) {
			ttcontent=ttel.innerHTML;
		}
	}
	if (ttcontent) {
		el=document.getElementById("tooltip");
		el.innerHTML=ttcontent;
		el.style.visibility="visible";
	}
}

document.onmouseout = function hideinfo(e) {
	if (el) {
		el.style.visibility="hidden";
		el=null;
	}
	if (srcEl && srcTitle) {
		srcEl.title=srcTitle;
		srcEl=null;
		srcTitle='';
	}
}
