/*
 *         Easy Tooltip 1.0 - jQuery plugin
 *        written by Alen Grakalic
 *        http://cssglobe.com/post/4380/easy-tooltip--jquery-plugin
 *
 *        Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *        Dual licensed under the MIT (MIT-LICENSE.txt)
 *        and GPL (GPL-LICENSE.txt) licenses.
 *
 *        Built for jQuery library
 *        http://jquery.com
 *
 */

(function($) {

        $.fn.easyTooltip = function(options){

                // default configuration properties
                var defaults = {
                        xOffset: -180,
                        yOffset: -10,
                        tooltipId: "easyTooltip",
                        clickRemove: false,
                        content: "",
                        useElement: ""
                };

                var options = $.extend(defaults, options);
                var content;

                this.each(function() {
                        var title = $(this).attr("title");
                        $(this).hover(function(e){
                                content = (options.content != "") ? options.content : title;
                                content = (options.useElement != "") ? $("#" + options.useElement).html() : content;
                                $(this).attr("title","");
                                if (content != "" && content != undefined){
                                        $("body").append("<div id='"+ options.tooltipId +"'>"+ content +"</div>");
                                        $("#" + options.tooltipId)
                                                .css("position","absolute")
                                                .css("top",(e.pageY - options.yOffset) + "px")
                                                .css("left",(e.pageX + options.xOffset) + "px")
                                                .css("display","none")
                                                .fadeIn("fast")
                                }
                        },
                        function(){
                                $("#" + options.tooltipId).remove();
                                $(this).attr("title",title);
                        });
                        $(this).mousemove(function(e){
                                $("#" + options.tooltipId)
                                        .css("top",(e.pageY - options.yOffset) + "px")
                                        .css("left",(e.pageX + options.xOffset) + "px")
                        });
                        if(options.clickRemove){
                                $(this).mousedown(function(e){
                                        $("#" + options.tooltipId).remove();
                                        $(this).attr("title",title);
                                });
                        }
                });

        };

})(jQuery);
