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;

var origWidth, origHeight;
if (ns4) 
{
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

if (nodyn) { event = "nope" }

var tipFollowMouse= true;
var tipWidth= 0;
var offX= 10;
var offY= 10; 
var tipFontFamily= "Verdana, Arial, Helvetica, sans-serif";
var tipFontSize= "8pt";
var tipFontColor= "#666666";
var tipBgColor= "#FFFFFF"; 
var tipBorderColor= "#FFFFFF";
var tipBorderWidth= 0;
var tipBorderStyle= "solid";
var tipPadding= 0;



var tooltip, tipcss;
function initTip() 
{
	if (nodyn) 
		return;

	tooltip = (ns4) ? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = (ns4) ? document.tipDiv: tooltip.style;
	if (ie4||ie5||ns5) 
	{
		tipcss.width = tipWidth+"px";
		tipcss.fontFamily = tipFontFamily;
		tipcss.fontSize = tipFontSize;
		tipcss.color = tipFontColor;
		tipcss.backgroundColor = tipBgColor;
		tipcss.borderColor = tipBorderColor;
		tipcss.borderWidth = tipBorderWidth+"px";
		tipcss.padding = tipPadding+"px";
		tipcss.borderStyle = tipBorderStyle;
	}

	if (tooltip&&tipFollowMouse) 
	{
		if (ns4) 
			document.captureEvents(Event.MOUSEMOVE);

		document.onmousemove = trackMouse;
	}
}

window.onload = initTip;

var t1,t2;
var tipOn = false;
function doTooltip(evt,num) 
{
	if (!tooltip) 
		return;
	if (t1) 
		clearTimeout(t1);	
	if (t2) 
		clearTimeout(t2);

	tipOn = true;
	curBgColor = tipBgColor;
	curFontColor = tipFontColor;
	
	if (ns4) 
	{
		var tip = '<table bgcolor="white" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td ><table bgcolor="white" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ messages[num][0] + '</td></tr></table></td></tr></table>';
		tooltip.write(tip);
		tooltip.close();
	} 
	else if (ie4||ie5||ns5) 
	{
		var tip = messages[num][0];
		tipcss.backgroundColor = curBgColor;
	 	tooltip.innerHTML = tip;
	}

	if (!tipFollowMouse) 
		positionTip(evt);
	else 
		t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) 
{
	mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
	mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	if (tipOn) positionTip(evt);
}


function positionTip(evt) 
{
	if (!tipFollowMouse) 
	{
		mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
		mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	}
	var tpWd = (ns4) ? tooltip.width: (ie4||ie5) ? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ns4) ? tooltip.height: (ie4||ie5) ? tooltip.clientHeight: tooltip.offsetHeight;
	var winWd = (ns4||ns5) ? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
	var winHt = (ns4||ns5) ? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;

	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";

	if (!tipFollowMouse) 
		t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() 
{
	if (!tooltip) 
		return;

	t2=setTimeout("tipcss.visibility='hidden'; tipcss.top=-300; tipcss.left=-300;",100);
	tipOn = false;
}
