(function($){
 $.fn.style_my_tooltips = function(options) {
	var defaults = {
		tip_delay_time: 1000
	};
	var options = $.extend(defaults, options);
	$("body").append('<div id="tooltip"></div>'); //create the tooltip container
  $("#tooltip").css({'position' : 'absolute', 'max-width' : '300px', 'padding' : '6px 8px 8px 8px', 'background' : '#222222', 'z-index' : '9999', 'display' : 'inline-block', 'font-size' : '11px', 'line-height' : '16px', 'color' : '#ffffff', '-moz-border-radius' : '5px', '-khtml-border-radius' : '5px', '-webkit-border-radius' : '5px', 'border-radius' : '5px'});

	smtTip=$("#tooltip");
	smtTip.hide(); //hide it
    return this.each(function() {
		$(this).hover(function(e) {
			// mouseover
			var $this=$(this);
			$this.data("smtTitle",$this.attr("title")); //store title
			var theTitle=$this.data("smtTitle");
      var position = $(this).position();
			$this.attr("title",""); //remove title to prevent native tooltip showing
			smtTip.empty().append(theTitle).hide(); //set tooltip text and hide it
      smtTip.css("top",position.top - $(smtTip).outerHeight());
      smtTip.css("left",position.left - (($(smtTip).outerWidth() - $(this).outerWidth())/2));
			smtTip_delay = setInterval(smtTip_fadeIn, options.tip_delay_time); //set tooltip delay

		}, function() {
			// mouseout
			var $this=$(this);
			clearInterval(smtTip_delay);
			if(smtTip.is(":animated")){
				smtTip.hide();
			} else {
				smtTip.fadeTo("fast",0);
			}
			$this.attr("title",$this.data("smtTitle")); //add back title
		});
		
	  $(this).bind('click', function() {

      return false;

		});
		
		function smtTip_fadeIn(){
			smtTip.fadeTo("fast",1,function(){clearInterval(smtTip_delay);});
		}
		$(this).click(function() {
			var $this=$(this);
			$this.attr("title",$this.data("smtTitle")); //add back title
		});
	});
 };
})(jQuery);

$().ready(function() {
	$("a[rel='tooltip']").style_my_tooltips({
		tip_delay_time: 300 //milliseconds
	});
});
