Tooltip = function() 
{
	var element = null;
	var textNode = null;

	function initialize()
	{
		element = document.createElement("div");
		textNode = document.createTextNode("");
		
		document.body.appendChild(element);
		element.appendChild(textNode);
		
		element.style.position = "absolute";
		element.style.padding = "2px 3px 2px 8px";
		element.style.backgroundColor = "#FFFFDF";
		element.style.border = "solid 1px #CFCFAF";
		element.style.fontFamily = "tahoma, arial, helvetica, sans-serif";
		element.style.fontSize = "11px";
		element.style.cursor = "pointer";
		element.style.outline = "none";
		element.style.textAlign = "left";
		
		element.tabIndex = -1;
		element.onblur = element.onclick = function()
		{
			element.style.display = "none";
		};		
	};

	function show(e, text)
	{
		if(element == null)
			initialize();
			
		element.style.display = "block";
		textNode.nodeValue = text;
		
		element.style.width = "";
		
		if(element.offsetWidth > 320)
			element.style.width = "320px";
			
		var position = getMousePosition(e);

		element.style.top = position.top - 8;
		element.style.left = position.left + 16;
		
		element.focus();
		
		if(e.stopPropagation)
			e.stopPropagation();
		else
			e.cancelBubble = true;
	};
	
	function getMousePosition(e)
	{
		e = e || window.event;

		var position = {top: 0, left: 0};
		
		if(e.pageX)
		{
			position.left = e.pageX;
			position.top = e.pageY;
		}
		else if(e.clientX)
		{
			position.left = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
			position.top = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
		}
		
		return position;
	};

	var pub = {
		show : show
	};

	return pub;
}();