Tooltip = 
{
	adjustX: -60,
	adjustY: -30,
	tipClass: '.tip',
	caller: null,
	tip: null,
	
	/*
	 * Find the position of the element
	 */
	findPos: function(obj) 
	{
		var curleft = curtop = 0;
		
		if (obj.offsetParent) 
		{
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			/*
			while (obj = obj.offsetParent) 
			{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
			*/
		}
		return [curleft, curtop];
	},
	
	observe: function(element)
	{
		Event.observe(element, 'mouseover', Tooltip.init);
		//Event.observe(element, 'mousemove', Tooltip.position);
		Event.observe(element, 'mouseout', Tooltip.hide);
	},
	
	init: function(event)
	{
		Tooltip.caller = Event.element(event);
		Tooltip.tip = document.getElementById(Tooltip.caller.parentNode.id + "Tip");
		Tooltip.position(event);
	},
	
	position: function(event)
	{
		Tooltip.hide(event);
		
		Tooltip.caller = Event.element(event);
		//Tooltip.tip = Tooltip.caller.parentNode.parentNode.next(Tooltip.tipClass);
		Tooltip.tip = document.getElementById(Tooltip.caller.parentNode.id + "Tip");
		
		if(Tooltip.tip)
		{
			var x = Tooltip.findPos(Tooltip.caller)[0];
			var y = Tooltip.findPos(Tooltip.caller)[1];

			//Tooltip.tip.setStyle({visibility:'visible', left:(Event.pointerX(event)+Tooltip.adjustX)+'px', top:(Event.pointerY(event)+Tooltip.adjustY)+'px'});
			Tooltip.tip.setStyle({visibility:'visible', left:(x + Tooltip.adjustX) + 'px', top:(y + Tooltip.adjustY) + 'px'});
		}
	},
	
	hide: function(event)
	{
		if(Tooltip.tip)
			Tooltip.tip.setStyle({visibility:'hidden'});
		
		$$(Tooltip.tipClass).each(function(el){ el.setStyle({visibility:'hidden'}); });
	}
}