(function($) {

    $.fn.tooltip = function(params) {
        
        var defaults = {
            attr: 'title',
            offset:5
        }
        
        var opts = $.extend(defaults, params);
        
        //preparo l'html necessario
        var tooltipBox = $('<div id="tooltipBox"><div id="tooltipArrow"></div><div id="tooltipContent"></div></div>');
        tooltipBox.css({
            position: 'absolute'
        });
        $('body').append(tooltipBox);
    
        return this.each(function() {
        
            var text = $(this).attr(opts.attr);
            $(this).attr(opts.attr,'');
                       
            $(this).hover(function(e) {
                var x = e.pageX;
                var y = e.pageY;
                $('#tooltipContent', tooltipBox).html(text);
                tooltipBox.css({left:x+opts.offset, top:y+opts.offset}).hide().fadeIn(200);
            }, function() {
                tooltipBox.hide();
            });
            
            $(this).mousemove(function(e) {
                var x = e.pageX;
                var y = e.pageY;
                tooltipBox.css({left:x+opts.offset, top:y+opts.offset});
            });
            
        });
    
    }

})(jQuery)
