////////////////////////////////////////////////////////////////////////////////////
//  Roger Hall, IOSea.com (roger@iosea.com) 2001-11-24
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
// CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

// Width of the popups in pixels
// 100-300 pixels is typical
	if (typeof myWidth == 'undefined') { var myWidth = "120";}
	
// How thick the border should be in pixels
// 1-3 pixels is typical
	if (typeof border == 'undefined') { var border = "1";}

////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

var ie, ns4, ns6;

if      (document.all)            { ie = true; }
else if (document.layers)         { ns4 = true; }
else if (document.getElementById) { ns6 = true; }

var x = 0;
var y = 0;

var snow = 0;
var sw = 0;
var cnt = 0;
var dir = 1;

if ( (ns4) || (ie) || (ns6) ) {
	if (ie) over = overDiv.style
	if (ns4) over = document.overDiv
	if (ns6) over = document.getElementById('overDiv').style
	document.onmousemove = mouseMove
	if (ns4) document.captureEvents(Event.MOUSEMOVE)
	if (ns6) document.captureEvents(Event.MOUSEMOVE)
}

// Tooltip popup
function tt(text, offx, offy, caption, close) {
	//var j = 0;
	//for (var i = 0; i < 300000; i++) { j++; }

	offsetx = offx ? "" + offx : '50';
	offsety = offy ? "" + offy : '16';
	
	if (offsetx.substr(0,1) == 'x') { fixedx = 1; offsetx = offsetx.substr(1); } else { fixedx = 0; }
	if (offsety.substr(0,1) == 'y') { fixedy = 1; offsety = offsety.substr(1); } else { fixedy = 0; }
	
	txt  = "<table width='" + myWidth + "' border='0' cellspacing='0' cellpadding='" + border + "'><tr><td class='TTBorder'>";
	if (caption) {
		txt += "<table width='100%' border='0' cellspacing='0' cellpadding='2'><tr><td class='TTCaption'>" + caption + "</td>";
		if (close) {
			sw = 1;
			cnt = 0;
			txt += "<td align='right' class='TTClose' onMouseOver='cClick();'>" + close + "</td>";
		}
		txt += "</tr></table>";
	}
	txt += "<table width='100%' border='0' cellspacing='0' cellpadding='2'><tr><td class='TTBody' valign='top'>" + text + "</td></tr></table></td></tr></table>";

	layerWrite(txt);
	disp();
	if (close) { snow = 0; }
}

// Clears popups if appropriate
function nd() {
	if ( cnt >= 1 ) { sw = 0 };
	if ( (ns4) || (ie) || (ns6) ) {
		if ( sw == 0 ) {
			snow = 0;
			hideTooltip(over);
		} else {
			cnt++;
		}
	}
}

// Common calls
function disp() {
	if ( (ns4) || (ie) || (ns6)) {
		if (snow == 0) 	{
			var myX;
			var myY;
			
			offsetx = parseInt(offsetx);
			offsety = parseInt(offsety);
			
			if (fixedx) { myX = offsetx; } else { myX = x + offsetx - (myWidth / 2); }
			if (fixedy) { myY = offsety; } else { myY = y + offsety; }

			moveTo(over, myX, myY);
			showToolTip(over);
			snow = 1;
		}
	}
// Here you can make the text goto the statusbar.
}

// Moves the tooltip
function mouseMove(e) {
	if (ns4) {x=e.pageX; y=e.pageY}
	if (ns6) {x=e.pageX; y=e.pageY}
	if (ie)  {x=event.x; y=event.y}
	if (snow) {
		var myX;
		var myY;
			
		offsetx = parseInt(offsetx);
		offsety = parseInt(offsety);
			
		if (fixedx) { myX = offsetx; } else { myX = x + offsetx - (myWidth / 2); }
		if (fixedy) { myY = offsety; } else { myY = y + offsety; }

		moveTo(over, myX, myY);
		//moveTo(over, x + offsetx - (myWidth / 2), y + offsety);
	}
}

// The Close onMouseOver function for Sticky
function cClick() {
	hideTooltip(over);
	sw = 0;
}

// Writes to a tooltip
function layerWrite(txt) {
    if      (ns4) {	var lyr = document.overDiv.document;
					lyr.write(txt);
					lyr.close();  }
    else if (ns6) { document.getElementById('overDiv').innerHTML = txt; }
	else if (ie)  { document.all["overDiv"].innerHTML = txt; }
}

// Make an tooltip visible
function showToolTip(obj) {
    if      (ns4) { obj.visibility = "show"; }
    else if (ns6) { obj.visibility = 'visible'; }
    else if (ie)  { obj.visibility = "visible"; }
}

// Hides an tooltip
function hideTooltip(obj) {
    if      (ns4) { obj.visibility = "hide"; }
    else if (ns6) { obj.visibility = "hidden"; }
    else if (ie)  { obj.visibility = "hidden"; }
}

// Move a tooltip
function moveTo(obj,xL,yL) {
    obj.left = xL
    obj.top = yL
}

