/*
 * 	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
 *
 * Edited by Joonas S.
 * Added isSearchResultTooltip customizations
 *
 */
(function($) {

    $.fn.easyTooltip = function(options) {

        // default configuration properties
        var defaults = {
            xOffset: 10,
            yOffset: 25,
            tooltipId: "easyTooltip",
            clickRemove: false,
            content: "",
            useElement: "",
            isSearchResultTooltip: false
        };

        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;
                //isSearchResultTooltip means we also use bigger image in the tooltip
                //content = (options.isSearchResultTooltip) ? $(this).html().replace("162x81", "338x169") : content;
                content = (options.isSearchResultTooltip) ? $(this).html().replace(/162x81/g, "338x169") : 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);

