// Tips outer script
// setting tip html code on div "tipdiv" and repositioning that div on where is mouse



var DOM2 = document.getElementById;
var ie4  = document.all ? true : false;
var ns4  = window.Event ? true : false;
var ie5, ie6;
if (ie4) {
  if (navigator.userAgent.indexOf('MSIE 5') > 0)
  	ie5 = true;
  if (navigator.userAgent.indexOf('MSIE 6') > 0)
  	ie6 = true;
} else {
	ie5 = false;
	ie6 = false;
}
var ie  = ie4 || ie5 || ie6;
var ns6 = (DOM2&&!ie) ? true : false;
var ns  = ns4 || ns6;

if (ns4) {
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = mouseMove;

function mouseMove(e)
{
	if (ns) {
		_mouseX = e.pageX;
		_mouseY = e.pageY;
	} else {
		_mouseX = event.x + document.body.scrollLeft;
		_mouseY = event.y + document.body.scrollTop;	
	}
	Mouse.moved(_mouseX, _mouseY);
	//Mouse.currentX = _mouseX;
	//Mouse.currentY = _mouseY;
}

function getDetailsCode(details, _width)
{
	if (_width) {
		return "<table cellSpacing=1 cellPadding=1 border=0><tr><td width=" + _width + " align=center class='tipdetailsheader'>" + translates.details + "</td></tr><tr><td class='tipdetails'>" + details + "</td></tr></table>";
	} else {
		return "<table cellSpacing=1 cellPadding=1 border=0><tr><td align=center class='tipdetailsheader'>" + translates.details + "</td></tr><tr><td class='tipdetails'>" + details + "</td></tr></table>";
	}
}


function showDetails(details)
{
	var code = getDetailsCode(details);
	Tooltip.Show(document, code);
}


function stopShow()
{
	Tooltip.Hide();
}


var Mouse = 
{
// public
	currentX  : 0,
	currentY  : 0,
	
// events
	onmove    : new Array(),
	
	moved : function(_x, _y)
	{
		Mouse.currentX = _x;
		Mouse.currentY = _y;
		
		for (var e in Mouse.onmove) {
			Mouse.onmove[e](_x, _y);
		}
	}
}

var Tooltip = {
// private
	_doc         : null,
	
	_setPosition : function(newX, newY)
	{
		newX += 5;
		newY += 1;
		if (ie) {
			var td = Tooltip._doc.getElementById("tipdiv");
			td.style.left = newX;
			td.style.top  = newY;
		} else if (ns6) {
			var s = Tooltip._doc.getElementById("tipdiv").style;
			s.left = newX + "px";
			s.top  = newY + "px";
		} else if (ns4) {
			Tooltip._doc.tipdiv.left = newX;
			Tooltip._doc.tipdiv.top  = newY;
		}
	},
		
// public
	Show : function(doc, code)
	{
		Tooltip._doc         = doc;
		
		// setting up event capture
		Mouse.onmove.push(Tooltip._setPosition);
		
		// setting up code
		if (DOM2) {
			doc.getElementById('tipdiv').innerHTML = code;
		} else if (ns) {
			var d = doc.layers['tipdiv'].document;
			d.open();
			d.write(code);
			d.close();
		} else {
			doc.all['tipdiv'].innerHTML = code;
		}
		
		// showing div
		if (!doc.getElementById("smsmenudiv") || doc.getElementById("smsmenudiv").style.visibility != "visible") {
			doc.getElementById("tipdiv").style.visibility = "";
		}
	},
	
	Hide : function()
	{
		Mouse.onmove.length = 0;
		var td = Tooltip._doc.getElementById("tipdiv");
		if (td)	{
			Tooltip._setPosition(-1000, -1000);
			Tooltip._doc.getElementById("tipdiv").style.visibility = "hidden";
			Tooltip._doc = null;
		}
	}
}

