// jQuery My Tooltip v 1.1 - Copyright © 2009 Emanuele Toffolon - Released under the GNU License
(function($){
    $.fn.my_tooltip = function(options) {
        var settings = $.extend({}, $.fn.my_tooltip.defaults, options);
        return this.each(function(i) {
                    var content_id = $(this).attr("rel");
                    var link_href = $(this).attr("href");
                    if (settings.showImg)
                        $("body").append("<div class=\"tooltip\" id=\""+content_id+"\"></div>");
                    var my_tooltip = $("#"+content_id);
                    $(this).removeAttr("title");
                    $(this).mouseover(function(){
                                        if (settings.showImg)
                                            settings.showImageTip(my_tooltip, link_href);
                                        else
                                            settings.showTip(my_tooltip);
                                 }).mousemove(function(kmouse){
                                        var border_top = $(window).scrollTop(); 
                                        var border_right = $(window).width();
                                        var left_pos;
                                        var top_pos;
                                        
                                        if(border_right - (settings.offset *2) >= my_tooltip.width() + kmouse.pageX){
                                            left_pos = kmouse.pageX+settings.offset;
                                        } else{
                                            left_pos = $(this).offset().left - my_tooltip.width()-settings.offset;
                                        }
                                        
                                        if(border_top + (settings.offset *2)>= kmouse.pageY - my_tooltip.height()){
                                            top_pos = border_top +settings.offset;
                                        } else{
                                            top_pos = kmouse.pageY-my_tooltip.height()-settings.offset;
                                        }	
    
                                        my_tooltip.css({left:left_pos, top:top_pos});
                                });
    
                    if (settings.stayOn) {
                        $("#"+this.id+", #"+content_id).mouseover(function(){
                            settings.showTip(my_tooltip);
                        }).mouseout(function(){
                            settings.hideTip(my_tooltip);
                            settings.afterHide();
                        });
                    }else{
                        $(this).mouseout(function (){
                            settings.hideTip(my_tooltip);
                            settings.afterHide();
                        });
                    }
        });
    };

    $.fn.my_tooltip.defaults = {
        stayOn: false,
        offset: 20,
        showImg: false,
        beforeShow: function(tip){},
        showTip: function(tip){
            tip.css({display:"block"});
        },
        hideTip: function(tip){
            tip.css({display:"none"});
        },
        showImageTip: function(tip, url){
            tip.html("<img src=\""+url+"\" />");
            tip.css({display:"block"});
        },
        afterHide: function(){}
    };        

})(jQuery);	
