var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

//if (nodyn) alert ("No dynamic HTML!");

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() {
		if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0);
	}
}

// avoid errors of passing event object in older browsers
if (nodyn) { event = "none" }

var tooltip, tipcss;
var tipOn = false;
var mouseX, mouseY;

function trackMouse(evt) {
	mouseX = (ns4||ns5)? evt.pageX : window.event.clientX + (document.body.scrollLeft == 0 ? document.documentElement.scrollLeft : 0);
	mouseY = (ns4||ns5)? evt.pageY : window.event.clientY + (document.body.scrollTop == 0 ? document.documentElement.scrollTop : 0);
	if (tipOn) positionTip (evt);
}

function positionTip(evt) {
	var winWd = (ns4||ns5) ? window.innerWidth - 22 + window.pageXOffset : document.body.clientWidth + document.body.scrollLeft;
	var winHt = (ns4||ns5) ? window.innerHeight - 22 + window.pageYOffset : document.body.clientHeight + document.body.scrollTop;

	// tooltip width and height
	var tpWd = (ns4) ? tooltip.width : (ie4||ie5)? tooltip.clientWidth : tooltip.offsetWidth;
	var tpHt = (ns4) ? tooltip.height : (ie4||ie5)? tooltip.clientHeight : tooltip.offsetHeight;


	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX + offX + tpWd) > winWd) 
		tipcss.left = (ns4) ? mouseX - (tpWd + offX) : mouseX - (tpWd + offX) + "px";
	else tipcss.left = (ns4) ? mouseX + offX : mouseX + offX + "px";
	if ((mouseY + offY + tpHt) > winHt) 
		tipcss.top = (ns4) ? winHt - (tpHt + offY) : winHt - (tpHt + offY) + "px";
	else tipcss.top = (ns4) ? mouseY + offY : mouseY + offY + "px";
}

function showTip (evt,id) {
    if (tooltip) tipcss.visibility = 'hidden';
	tooltip = (ns4) ? document.layers[id].document : (ie4) ? document.all[id] : (ie5||ns5) ? document.getElementById(id) : null;
	if (!tooltip) return;
	else {
		if (ns4) document.captureEvents (Event.MOUSEMOVE);
		document.onmousemove = trackMouse;
	}
	tipcss = (ns4) ? document.layers[id] : tooltip.style;
	tipOn = true;
	t1 = setTimeout ("tipcss.visibility='visible'",100);
}

function hideTip(id) {
	if (!tooltip) return;
	if (t1) clearTimeout (t1);
	tipcss.visibility = 'hidden';
	tipOn = false;
}
