if (typeof(RaccoonTip) == "undefined") { // * // * RaccoonTip 1.0.3 (Uncompressed) // * A lightweight jQuery based balloon tip library // * // * This library requires jQuery (http://jquery.com) // * // * (c) 2010 Paul Engel (Internetbureau Holder B.V.) // * Except otherwise noted, RaccoonTip is licensed under // * http://creativecommons.org/licenses/by-sa/3.0 // * // * $Date: 2010-09-01 23:21:13 +0100 (Wed, 01 September 2010) $ // * RaccoonTip = (function() { var html = '
'; var css = ''; var default_options = {event: "click", duration: "fast", position: "bottom_right", beforeShow: function() {}, afterHide: function() {}}, opts = null; var displaying = false, mouseover = false; var register = function(target, content, options) { var attachFunction = $.inArray(options.event || default_options.event, ["focus"]) == -1 ? "live" : "bind"; $(target)[attachFunction]((options || {}).event || "click", function(event) { event.preventDefault(); display(event.target, content, options); }); }; var display = function(target, content, options) { displaying = true; setup(); deriveOptions(target, content, options); show(); displaying = false; }; var close = function() { hide(); }; var setup = function() { if (!$("#raccoon_tip").length) { $("body").mouseup(function(event) { if (!displaying && !mouseover) { hide(); } }); if (!$("head").length) { $(document.body).before(""); } $(css).prependTo("head"); $(html).appendTo("body").find(".rt_content").mouseenter(function() { mouseover = true; }).mouseleave(function() { mouseover = false; }); } else { hide(); } }; var deriveOptions = function(__target__, __content__, options) { opts = $.extend({}, default_options, options, {target: $(__target__), content: $(__content__)}); }; var show = function() { beforeShow(); setContent(); position(); $("#raccoon_tip").data("rt_options", opts).show(opts.duration); }; var beforeShow = function() { var options = opts.beforeShow.apply(opts.target, [opts.content, opts]); if (options) { $.extend(opts, options); } }; var setContent = function() { opts.content = $(opts.content); if (opts.content.length) { var marker = null; if (opts.content.context) { marker = $(""); opts.content.before(marker); } opts.content.appendTo("#raccoon_tip .rt_content"); $("#raccoon_tip").data("rt_marker", marker); } else { $("#raccoon_tip .rt_content").html(opts.content.selector); } }; var position = function() { var raccoon_tip = $("#raccoon_tip"), position = null, correction = null; var calculate = function() { raccoon_tip.attr("class", "rt_" + opts.position); position = opts.position.split("_"); correction = [null, null]; switch(position[0]) { case "top": raccoon_tip.css({top: opts.target.offset().top - raccoon_tip.outerHeight() - 7}); break; case "middle": raccoon_tip.css({top: opts.target.offset().top + (opts.target.outerHeight() / 2) - (raccoon_tip.outerHeight() / 2)}); break; case "bottom": raccoon_tip.css({top: opts.target.offset().top + opts.target.outerHeight() + 7}); break; } if (parseInt(raccoon_tip.css("top"), 10) < $(window).scrollTop()) { correction[0] = "bottom"; } if (parseInt(raccoon_tip.css("top"), 10) + raccoon_tip.outerHeight() > $(window).scrollTop() + $(window).height()) { correction[0] = "top"; } switch(position[1]) { case "left": raccoon_tip.css({left: opts.target.offset().left - raccoon_tip.outerWidth()}); break; case "middle": raccoon_tip.css({left: opts.target.offset().left + (opts.target.outerWidth() / 2) - (raccoon_tip.outerWidth() / 2)}); break; case "right": raccoon_tip.css({left: opts.target.offset().left + opts.target.outerWidth()}); break; } if (parseInt(raccoon_tip.css("left"), 10) < $(window).scrollLeft()) { correction[1] = "right"; } if (parseInt(raccoon_tip.css("left"), 10) + raccoon_tip.outerWidth() > $(window).scrollLeft() + $(window).width()) { correction[1] = "left"; } }; calculate(); if (correction[0] || correction[1]) { opts.position = [correction[0] || position[0], correction[1] || position[1]].join("_"); calculate(); } }; var hide = function() { var options = $("#raccoon_tip").data("rt_options"); $("#raccoon_tip").hide(0); options.afterHide.apply(options.target, [options.content, options]); if ($("#raccoon_tip").data("rt_marker")) { $("#raccoon_tip").data("rt_marker").before($("#raccoon_tip .rt_content").children()).remove(); } }; return { version: "1.0.3", init: function() { if (typeof(onRaccoonTipReady) == "function") { onRaccoonTipReady(); }; }, register: register, display : display, close : close }; }()); (function requireMissingLibs() { var missing_libs = []; if (typeof(jQuery) == "undefined") { missing_libs.push("core"); } if (missing_libs.length == 0) { RaccoonTip.init(); } else { var id = "rt_dummy_script"; document.write(''); var dummyScript = document.getElementById(id); var element = dummyScript.previousSibling; while (element && element.tagName.toLowerCase() != "script") { element = element.previousSibling; } dummyScript.parentNode.removeChild(dummyScript); var src = element.getAttribute("src").replace(/(development\/)?(\w+)(\-min)?\.js.*$/, "jquery/" + missing_libs.sort().join(".") + ".js"); document.write(''); } }()); }