// tooltip by rod.rant-on.net | rodmorelos@msn.com
// keep these two lines and you're free to use this code

var tooltip = {
	offsetX: 12, // x offset from mouse pointer
	offsetY: -36, // y offset from mouse pointer
	maxOpacity: 85, // maximum opacity of tooltip
	fade: 1, // set to 0 to disable fade in effect, 1 to enable
	fadeTime: 300, // how long in milliseconds to do the fade-in animation
	
	move: function(e)
	{
		if (tooltip.isLoaded && tooltip.div.active)
		{
			e = fixEvent(e);
			var canvas = new getViewport();
			var mouseX = e.clientX + canvas.scrollX;
			var mouseY = e.clientY + canvas.scrollY;
			var x = mouseX + tooltip.offsetX + tooltip.div.w > canvas.width + canvas.scrollX ? mouseX - tooltip.offsetX - tooltip.div.w : mouseX + tooltip.offsetX;
			var y = mouseY + tooltip.offsetY + tooltip.div.h > canvas.height + canvas.scrollY ? mouseY - tooltip.offsetY - tooltip.div.h : mouseY + tooltip.offsetY;
			tooltip.div.moveTo(x, y);
		}
	},
	
	show: function(e)
	{
		if (tooltip.isLoaded)
		{
			var el = window.event ? window.event.srcElement : e.currentTarget ? e.currentTarget : null;
			if (el && el.getAttribute('tip'))
			{
				tooltip.div.active = true;
				tooltip.div.write(el.getAttribute('tip'));
				tooltip.move(e);
				tooltip.div.timer = setTimeout('tooltip.showToolTip()', 50);
			}
		}
	},

	showToolTip: function()
	{
		tooltip.div.show();
		if (tooltip.fade) tooltip.div.fadeTo(tooltip.maxOpacity, tooltip.fadeTime);
		else tooltip.div.setOpacity(tooltip.maxOpacity);
	},
	
	hide: function(e)
	{
		if (tooltip.isLoaded && tooltip.div.active)
		{
			tooltip.div.setOpacity(0);
			tooltip.div.hide();
			tooltip.div.active = false;
			clearTimeout(tooltip.div.timer);
			clearTimeout(tooltip.div.fadeTimer);
		}
	},

	isLoaded: false,
	
	init: function()
	{
		if (!tooltip.isLoaded)
		{
			tooltip.div = new createObjectById('tooltip');
			tooltip.div.setOpacity(0);
			tooltip.div.active = false;
			tooltip.div.timer = 0;
			var el = document.all ? document.all : document.getElementsByTagName ? document.getElementsByTagName('*') : null;
			for (var i = 0; i < el.length; i++)
			{
				if (el[i].getAttribute('tip'))
				{
					addEvent(el[i], 'mouseover', tooltip.show, false);
					addEvent(el[i], 'mouseout', tooltip.hide, false);
				}
			}
			addEvent(document, 'mousemove', tooltip.move, false);
			tooltip.isLoaded = true;
		}
	}
}

// dans page type <body onload
//onload = tooltip.init;