/* cool tooltips */
/* adds the cooltip-htmlelement to the end of the page, */
/* then listens for rollovers on .cooltipped elements */
$(document).ready(function(){
	$(".cooltipped").mousemove(function (e) {
		var tippedText = $("#"+this.id+" .cooltent").html();
		if ( tippedText != "" ) {
			$("#cooltip .body").html(tippedText);
			var mouseX = e.pageX;
			var mouseY = e.pageY;
			var cooltipHeight = $("#cooltip").height();
			var targetX = mouseX - 10;
			var targetY = mouseY - cooltipHeight -28;
			
			var box_border = 15;
			var clipped_on_top = false;
			/* clipping top */
			if ( targetY < box_border+document.documentElement.scrollTop ) {
				targetX = mouseX + 15 + box_border;
				targetY = box_border+document.documentElement.scrollTop;
				clipped_on_top = true;
			}
			/* clipping right */
			if ( targetX+$("#cooltip").width() > $('body').width() - box_border ) {
				targetX = $('body').width() - $("#cooltip").width() - box_border;
				if (clipped_on_top) {
					targetY = mouseY + 15 + box_border;
				}
			}
			/* clipping left */
			if ( targetX < box_border+document.documentElement.scrollLeft ) {
				targetX = box_border+document.documentElement.scrollLeft;
			}
			
			$("#cooltip").css( "left", targetX+"px" );
			$("#cooltip").css( "top", targetY+"px" );
			$("#cooltip").fadeIn(0);
		}
	});
	$(".cooltipped").mouseleave(function () {
		$("#cooltip").fadeOut(0);
		if ( $("#"+this.id).hasClass("showonce") ) {
			$("#"+this.id+" .cooltent").html("");
		}
	});
	
	var cooltip_code = "";
	cooltip_code += '	<div id="cooltip">						';
	cooltip_code += '		<div class="top_left"></div>		';
	cooltip_code += '		<div class="bottom_right"></div>	';
	cooltip_code += '		<div class="top_right"></div>		';
	cooltip_code += '		<div class="bottom_left"></div>		';
	cooltip_code += '		<div class="body"></div>			';
	cooltip_code += '		<div class="pointer"></div>			';
	cooltip_code += '	</div>									';
	$('body').append(cooltip_code);
});
