var currentTooltip;

function installTooltips() {
	$("img.item").unbind('mouseover');
	$("img.item").unbind('mousemove');
	$("img.item").unbind('mouseout');
	$("img.item").mouseover(function() {
		var tooltipName = $(this).attr('id');
		if(tooltipName.substring(0, 6) == "itemid")
		{
			var endPos = tooltipName.search(/_/);
			tooltipName = "item" + tooltipName.substring(6, endPos);
		}

		currentTooltip = $(".tooltip#tooltip_" + tooltipName);
		currentTooltip.show();
		$(this).parent().addClass("cellHover");
	});
	$("img.item").mousemove(function (mouse) {
		if(currentTooltip == null) {
			return;
		}

		// subtract 22 for shadow
		var docWidth = document.documentElement.clientWidth - 22;
		var toolWidth = currentTooltip.width();
		var toolHeight = currentTooltip.height();
		var newLeft = mouse.pageX - (toolWidth / 2);
		var newTop = mouse.pageY + 30;
		if(newLeft + toolWidth - $(document).scrollLeft() > docWidth)
		{
			newLeft = docWidth - toolWidth + $(document).scrollLeft();
		}
		if(newLeft < $(document).scrollLeft())
		{
			newLeft = $(document).scrollLeft();
		}
		if(newTop + toolHeight - $(document).scrollTop() > document.documentElement.clientHeight)
		{
			newTop = mouse.pageY - toolHeight - 30;
		}
		if(newTop < $(document).scrollTop())
		{
			newTop = $(document).scrollTop();
		}
		currentTooltip.css({ left: newLeft, top: newTop });
	});
	$("img.item").mouseout(function() {
		var tooltipName = $(this).attr('id');
		if(tooltipName.substring(0, 6) == "itemid")
		{
			var endPos = tooltipName.search(/_/);
			tooltipName = "item" + tooltipName.substring(6, endPos);
		}

		$(".tooltip#tooltip_" + tooltipName).hide();
		$(this).parent().removeClass("cellHover");
	});
}
$(installTooltips);
