var dom = (document.getElementById) ? true : false;
var ie = (document.all) ? true : false;
var moz = (dom && (navigator.appName=="Netscape")) ? true : false;
var opr = (dom && window.opera) ? true : false;

var hintsObj = null;


// Netscape, Mozilla and Opera
function moveHintsN(e) {

	if (hintsObj == null) return;

	if (moz || opr) {
		xoff = window.pageXOffset + e.clientX + 10;
		if (document.body.clientWidth < (xoff + 300)) {
			xoff -= 310;
		}
		document.getElementById('hints').style.left = xoff + "px";
		document.getElementById('hints').style.top = window.pageYOffset + e.clientY + 10 + "px";
		document.getElementById('hints').style.visibility = "visible";
	}

}

function hideHintsN(e) {

	if (hintsObj == null) return;
	document.releaseEvents(Event.MOUSEMOVE);
	document.releaseEvents(Event.MOUSEOUT);
	document.onmousemove = null;
	document.onmouseout = null;
	if (moz || opr) document.getElementById('hints').style.visibility = "hidden";
    hintsObj = null;
}


// IE
function moveHints() {

	if (opr || moz || (hintsObj == null)) return;

    xoff = 0;
    yoff = 0;

	if (dom) q = document.getElementById(hintsObj);
	while (q) {
		xoff += q.offsetLeft;
		yoff += q.offsetTop;
		q = q.offsetParent;
	}

	if (dom || ie) {
		xoff += window.event.offsetX + 10;
		yoff += window.event.offsetY + 5;
	}
	
	if (document.body.clientWidth < (xoff + 300)) {
		xoff -= 320;
	}

    if (dom) {
		document.getElementById('hints').style.left = xoff;
		document.getElementById('hints').style.top = yoff;
	}
}

function hideHints() {

	if (opr || moz || (hintsObj == null)) return;
	if (dom) document.getElementById('hints').style.visibility = "hidden";
    hintsObj = null;
}


// ALL
function showHints(obj,title,text) {

    contents = "<table border=\'0\' cellspacing=\'0\' class=\'termHint\' ><tr><td><b>"+title+"</b><br>"+text+"</td></tr></table>";

	hintsObj = obj;

	if (dom) document.getElementById('hints').innerHTML = contents;

    // for Mozilla and Opera
	if (moz || opr) {
		document.captureEvents(Event.MOUSEMOVE);
		document.captureEvents(Event.MOUSEOUT);
		document.onmousemove = moveHintsN;
		document.onmouseout = hideHintsN;
		return;
	}
    // for IE
    if (dom || ie) {
		moveHints();
		if (dom) document.getElementById('hints').style.visibility = "visible";
    }
}

