/*
 *  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: 10,    
      yOffset: 25,
      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;
        
        imgcontent = $(e.target).attr('itemid');

       content = $('.' + imgcontent).html();

        $(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);
