/**
*
*	simpleTooltip jQuery plugin, by Marius ILIE
*	visit http://dev.mariusilie.net for details
*
**/
(function($){ $.fn.simpletooltip = function(){
	return this.each(function() {
		var text = $(this).attr("title");
		$(this).attr("title", "");
		if(text != undefined) {
			$(this).hover(function(e){
				var tipX = e.pageX + 12;
				var tipY = e.pageY + 12;
				$(this).attr("title", ""); 
				$("body").append("<div id='simpleTooltip' style='position: absolute; z-index: 100; display: none;'><div>" + text + "</div></div>");
				if($.browser.msie) var tipWidth = $("#simpleTooltip").outerWidth(true)
				else var tipWidth = $("#simpleTooltip").width()
				$("#simpleTooltip").width(tipWidth);
				$("#simpleTooltip").css("left", tipX).css("top", tipY).fadeIn("fast");
			}, function(){
				$("#simpleTooltip").remove();
				$(this).attr("title", text);
			});
			$(this).mousemove(function(e){
				var tipX = e.pageX - 20;
				var tipY = e.pageY + 25;
				var tipWidth = $("#simpleTooltip").outerWidth(true);
				var tipHeight = $("#simpleTooltip").outerHeight(true);
				if(tipX + tipWidth > $(window).scrollLeft() + $(window).width()){
                    tipX = e.pageX - tipWidth + 30;
                    $("#simpleTooltip").addClass("invertedX");
                    
                }else{
                    if ($("#simpleTooltip").hasClass("invertedX"))
                        $("#simpleTooltip").removeClass("invertedX");

                }
                
				if($(window).height()+$(window).scrollTop() < tipY + tipHeight) {
                    $("#simpleTooltip").addClass("invertedY");
                    tipY = e.pageY - tipHeight - 15;
                }else{
                    if ($("#simpleTooltip").hasClass("invertedY"))
                        $("#simpleTooltip").removeClass("invertedY");
                }
				$("#simpleTooltip").css("left", tipX).css("top", tipY).fadeIn("fast");
			});
		}
	});
}})(jQuery);

// Run this code!
$(document).ready(function(){
	$(".with-tooltip a").simpletooltip();
});
