/*!
* jQuery Tools v1.2.6 - The missing UI library for the Web
* 
* overlay/overlay.js
* overlay/overlay.apple.js
* scrollable/scrollable.js
* scrollable/scrollable.autoscroll.js
* scrollable/scrollable.navigator.js
* tabs/tabs.js
* toolbox/toolbox.history.js
* tooltip/tooltip.js
* tooltip/tooltip.dynamic.js
* tooltip/tooltip.slide.js
* 
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
* 
* http://flowplayer.org/tools/
* 
*/
(function (a) { a.tools = a.tools || { version: "v1.2.6" }, a.tools.overlay = { addEffect: function (a, b, d) { c[a] = [b, d] }, conf: { close: null, closeOnClick: !0, closeOnEsc: !0, closeSpeed: "fast", effect: "default", fixed: !a.browser.msie || a.browser.version > 6, left: "center", load: !1, mask: null, oneInstance: !0, speed: "normal", target: null, top: "10%"} }; var b = [], c = {}; a.tools.overlay.addEffect("default", function (b, c) { var d = this.getConf(), e = a(window); d.fixed || (b.top += e.scrollTop(), b.left += e.scrollLeft()), b.position = d.fixed ? "fixed" : "absolute", this.getOverlay().css(b).fadeIn(d.speed, c) }, function (a) { this.getOverlay().fadeOut(this.getConf().closeSpeed, a) }); function d(d, e) { var f = this, g = d.add(f), h = a(window), i, j, k, l = a.tools.expose && (e.mask || e.expose), m = Math.random().toString().slice(10); l && (typeof l == "string" && (l = { color: l }), l.closeOnClick = l.closeOnEsc = !1); var n = e.target || d.attr("rel"); j = n ? a(n) : null || d; if (!j.length) throw "Could not find Overlay: " + n; d && d.index(j) == -1 && d.click(function (a) { f.load(a); return a.preventDefault() }), a.extend(f, { load: function (d) { if (f.isOpened()) return f; var i = c[e.effect]; if (!i) throw "Overlay: cannot find effect : \"" + e.effect + "\""; e.oneInstance && a.each(b, function () { this.close(d) }), d = d || a.Event(), d.type = "onBeforeLoad", g.trigger(d); if (d.isDefaultPrevented()) return f; k = !0, l && a(j).expose(l); var n = e.top, o = e.left, p = j.outerWidth({ margin: !0 }), q = j.outerHeight({ margin: !0 }); typeof n == "string" && (n = n == "center" ? Math.max((h.height() - q) / 2, 0) : parseInt(n, 10) / 100 * h.height()), o == "center" && (o = Math.max((h.width() - p) / 2, 0)), i[0].call(f, { top: n, left: o }, function () { k && (d.type = "onLoad", g.trigger(d)) }), l && e.closeOnClick && a.mask.getMask().one("click", f.close), e.closeOnClick && a(document).bind("click." + m, function (b) { a(b.target).parents(j).length || f.close(b) }), e.closeOnEsc && a(document).bind("keydown." + m, function (a) { a.keyCode == 27 && f.close(a) }); return f }, close: function (b) { if (!f.isOpened()) return f; b = b || a.Event(), b.type = "onBeforeClose", g.trigger(b); if (!b.isDefaultPrevented()) { k = !1, c[e.effect][1].call(f, function () { b.type = "onClose", g.trigger(b) }), a(document).unbind("click." + m).unbind("keydown." + m), l && a.mask.close(); return f } }, getOverlay: function () { return j }, getTrigger: function () { return d }, getClosers: function () { return i }, isOpened: function () { return k }, getConf: function () { return e } }), a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","), function (b, c) { a.isFunction(e[c]) && a(f).bind(c, e[c]), f[c] = function (b) { b && a(f).bind(c, b); return f } }), i = j.find(e.close || ".close"), !i.length && !e.close && (i = a("<a class=\"close\"></a>"), j.prepend(i)), i.click(function (a) { f.close(a) }), e.load && f.load() } a.fn.overlay = function (c) { var e = this.data("overlay"); if (e) return e; a.isFunction(c) && (c = { onBeforeLoad: c }), c = a.extend(!0, {}, a.tools.overlay.conf, c), this.each(function () { e = new d(a(this), c), b.push(e), a(this).data("overlay", e) }); return c.api ? e : this } })(jQuery);
(function (a) { var b = a.tools.overlay, c = a(window); a.extend(b.conf, { start: { top: null, left: null }, fadeInSpeed: "fast", zIndex: 9999 }); function d(a) { var b = a.offset(); return { top: b.top + a.height() / 2, left: b.left + a.width() / 2} } var e = function (b, e) { var f = this.getOverlay(), g = this.getConf(), h = this.getTrigger(), i = this, j = f.outerWidth({ margin: !0 }), k = f.data("img"), l = g.fixed ? "fixed" : "absolute"; if (!k) { var m = f.css("backgroundImage"); if (!m) throw "background-image CSS property not set for overlay"; m = m.slice(m.indexOf("(") + 1, m.indexOf(")")).replace(/\"/g, ""), f.css("backgroundImage", "none"), k = a("<img src=\"" + m + "\"/>"), k.css({ border: 0, display: "none" }).width(j), a("body").append(k), f.data("img", k) } var n = g.start.top || Math.round(c.height() / 2), o = g.start.left || Math.round(c.width() / 2); if (h) { var p = d(h); n = p.top, o = p.left } g.fixed ? (n -= c.scrollTop(), o -= c.scrollLeft()) : (b.top += c.scrollTop(), b.left += c.scrollLeft()), k.css({ position: "absolute", top: n, left: o, width: 0, zIndex: g.zIndex }).show(), b.position = l, f.css(b), k.animate({ top: f.css("top"), left: f.css("left"), width: j }, g.speed, function () { f.css("zIndex", g.zIndex + 1).fadeIn(g.fadeInSpeed, function () { i.isOpened() && !a(this).index(f) ? e.call() : f.hide() }) }).css("position", l) }, f = function (b) { var e = this.getOverlay().hide(), f = this.getConf(), g = this.getTrigger(), h = e.data("img"), i = { top: f.start.top, left: f.start.left, width: 0 }; g && a.extend(i, d(g)), f.fixed && h.css({ position: "absolute" }).animate({ top: "+=" + c.scrollTop(), left: "+=" + c.scrollLeft() }, 0), h.animate(i, f.closeSpeed, b) }; b.addEffect("apple", e, f) })(jQuery);
(function (a) { a.tools = a.tools || { version: "v1.2.6" }, a.tools.scrollable = { conf: { activeClass: "active", circular: !1, clonedClass: "cloned", disabledClass: "disabled", easing: "swing", initialIndex: 0, item: "> *", items: ".items", keyboard: !0, mousewheel: !1, next: ".next", prev: ".prev", size: 1, speed: 400, vertical: !1, touch: !0, wheelSpeed: 0} }; function b(a, b) { var c = parseInt(a.css(b), 10); if (c) return c; var d = a[0].currentStyle; return d && d.width && parseInt(d.width, 10) } function c(b, c) { var d = a(c); return d.length < 2 ? d : b.parent().find(c) } var d; function e(b, e) { var f = this, g = b.add(f), h = b.children(), i = 0, j = e.vertical; d || (d = f), h.length > 1 && (h = a(e.items, b)), e.size > 1 && (e.circular = !1), a.extend(f, { getConf: function () { return e }, getIndex: function () { return i }, getSize: function () { return f.getItems().size() }, getNaviButtons: function () { return n.add(o) }, getRoot: function () { return b }, getItemWrap: function () { return h }, getItems: function () { return h.find(e.item).not("." + e.clonedClass) }, move: function (a, b) { return f.seekTo(i + a, b) }, next: function (a) { return f.move(e.size, a) }, prev: function (a) { return f.move(-e.size, a) }, begin: function (a) { return f.seekTo(0, a) }, end: function (a) { return f.seekTo(f.getSize() - 1, a) }, focus: function () { d = f; return f }, addItem: function (b) { b = a(b), e.circular ? (h.children().last().before(b), h.children().first().replaceWith(b.clone().addClass(e.clonedClass))) : (h.append(b), o.removeClass("disabled")), g.trigger("onAddItem", [b]); return f }, seekTo: function (b, c, k) { b.jquery || (b *= 1); if (e.circular && b === 0 && i == -1 && c !== 0) return f; if (!e.circular && b < 0 || b > f.getSize() || b < -1) return f; var l = b; b.jquery ? b = f.getItems().index(b) : l = f.getItems().eq(b); var m = a.Event("onBeforeSeek"); if (!k) { g.trigger(m, [b, c]); if (m.isDefaultPrevented() || !l.length) return f } var n = j ? { top: -l.position().top} : { left: -l.position().left }; i = b, d = f, c === undefined && (c = e.speed), h.animate(n, c, e.easing, k || function () { g.trigger("onSeek", [b]) }); return f } }), a.each(["onBeforeSeek", "onSeek", "onAddItem"], function (b, c) { a.isFunction(e[c]) && a(f).bind(c, e[c]), f[c] = function (b) { b && a(f).bind(c, b); return f } }); if (e.circular) { var k = f.getItems().slice(-1).clone().prependTo(h), l = f.getItems().eq(1).clone().appendTo(h); k.add(l).addClass(e.clonedClass), f.onBeforeSeek(function (a, b, c) { if (!a.isDefaultPrevented()) { if (b == -1) { f.seekTo(k, c, function () { f.end(0) }); return a.preventDefault() } b == f.getSize() && f.seekTo(l, c, function () { f.begin(0) }) } }); var m = b.parents().add(b).filter(function () { if (a(this).css("display") === "none") return !0 }); m.length ? (m.show(), f.seekTo(0, 0, function () { }), m.hide()) : f.seekTo(0, 0, function () { }) } var n = c(b, e.prev).click(function (a) { a.stopPropagation(), f.prev() }), o = c(b, e.next).click(function (a) { a.stopPropagation(), f.next() }); e.circular || (f.onBeforeSeek(function (a, b) { setTimeout(function () { a.isDefaultPrevented() || (n.toggleClass(e.disabledClass, b <= 0), o.toggleClass(e.disabledClass, b >= f.getSize() - 1)) }, 1) }), e.initialIndex || n.addClass(e.disabledClass)), f.getSize() < 2 && n.add(o).addClass(e.disabledClass), e.mousewheel && a.fn.mousewheel && b.mousewheel(function (a, b) { if (e.mousewheel) { f.move(b < 0 ? 1 : -1, e.wheelSpeed || 50); return !1 } }); if (e.touch) { var p = {}; h[0].ontouchstart = function (a) { var b = a.touches[0]; p.x = b.clientX, p.y = b.clientY }, h[0].ontouchmove = function (a) { if (a.touches.length == 1 && !h.is(":animated")) { var b = a.touches[0], c = p.x - b.clientX, d = p.y - b.clientY; f[j && d > 0 || !j && c > 0 ? "next" : "prev"](), a.preventDefault() } } } e.keyboard && a(document).bind("keydown.scrollable", function (b) { if (!(!e.keyboard || b.altKey || b.ctrlKey || b.metaKey || a(b.target).is(":input"))) { if (e.keyboard != "static" && d != f) return; var c = b.keyCode; if (j && (c == 38 || c == 40)) { f.move(c == 38 ? -1 : 1); return b.preventDefault() } if (!j && (c == 37 || c == 39)) { f.move(c == 37 ? -1 : 1); return b.preventDefault() } } }), e.initialIndex && f.seekTo(e.initialIndex, 0, function () { }) } a.fn.scrollable = function (b) { var c = this.data("scrollable"); if (c) return c; b = a.extend({}, a.tools.scrollable.conf, b), this.each(function () { c = new e(a(this), b), a(this).data("scrollable", c) }); return b.api ? c : this } })(jQuery);
(function (a) { var b = a.tools.scrollable; b.autoscroll = { conf: { autoplay: !0, interval: 3e3, autopause: !0} }, a.fn.autoscroll = function (c) { typeof c == "number" && (c = { interval: c }); var d = a.extend({}, b.autoscroll.conf, c), e; this.each(function () { var b = a(this).data("scrollable"), c = b.getRoot(), f, g = !1; function h() { f = setTimeout(function () { b.next() }, d.interval) } b && (e = b), b.play = function () { f || (g = !1, c.bind("onSeek", h), h()) }, b.pause = function () { f = clearTimeout(f), c.unbind("onSeek", h) }, b.resume = function () { g || b.play() }, b.stop = function () { g = !0, b.pause() }, d.autopause && c.add(b.getNaviButtons()).hover(b.pause, b.resume), d.autoplay && b.play() }); return d.api ? e : this } })(jQuery);
(function (a) { var b = a.tools.scrollable; b.navigator = { conf: { navi: ".navi", naviItem: null, activeClass: "active", indexed: !1, idPrefix: null, history: !1} }; function c(b, c) { var d = a(c); return d.length < 2 ? d : b.parent().find(c) } a.fn.navigator = function (d) { typeof d == "string" && (d = { navi: d }), d = a.extend({}, b.navigator.conf, d); var e; this.each(function () { var b = a(this).data("scrollable"), f = d.navi.jquery ? d.navi : c(b.getRoot(), d.navi), g = b.getNaviButtons(), h = d.activeClass, i = d.history && history.pushState, j = b.getConf().size; b && (e = b), b.getNaviButtons = function () { return g.add(f) }, i && (history.pushState({ i: 0 }), a(window).bind("popstate", function (a) { var c = a.originalEvent.state; c && b.seekTo(c.i) })); function k(a, c, d) { b.seekTo(c), d.preventDefault(), i && history.pushState({ i: c }) } function l() { return f.find(d.naviItem || "> *") } function m(b) { var c = a("<" + (d.naviItem || "a") + "/>").click(function (c) { k(a(this), b, c) }); b === 0 && c.addClass(h), d.indexed && c.text(b + 1), d.idPrefix && c.attr("id", d.idPrefix + b); return c.appendTo(f) } l().length ? l().each(function (b) { a(this).click(function (c) { k(a(this), b, c) }) }) : a.each(b.getItems(), function (a) { a % j == 0 && m(a) }), b.onBeforeSeek(function (a, b) { setTimeout(function () { if (!a.isDefaultPrevented()) { var c = b / j, d = l().eq(c); d.length && l().removeClass(h).eq(c).addClass(h) } }, 1) }), b.onAddItem(function (a, c) { var d = b.getItems().index(c); d % j == 0 && m(d) }) }); return d.api ? e : this } })(jQuery);
(function (a) { a.tools = a.tools || { version: "v1.2.6" }, a.tools.tabs = { conf: { tabs: "a", current: "current", onBeforeClick: null, onClick: null, effect: "default", initialIndex: 0, event: "click", rotate: !1, slideUpSpeed: 400, slideDownSpeed: 400, history: !1 }, addEffect: function (a, c) { b[a] = c } }; var b = { "default": function (a, b) { this.getPanes().hide().eq(a).show(), b.call() }, fade: function (a, b) { var c = this.getConf(), d = c.fadeOutSpeed, e = this.getPanes(); d ? e.fadeOut(d) : e.hide(), e.eq(a).fadeIn(c.fadeInSpeed, b) }, slide: function (a, b) { var c = this.getConf(); this.getPanes().slideUp(c.slideUpSpeed), this.getPanes().eq(a).slideDown(c.slideDownSpeed, b) }, ajax: function (a, b) { this.getPanes().eq(0).load(this.getTabs().eq(a).attr("href"), b) } }, c, d; a.tools.tabs.addEffect("horizontal", function (b, e) { if (!c) { var f = this.getPanes().eq(b), g = this.getCurrentPane(); d || (d = this.getPanes().eq(0).width()), c = !0, f.show(), g.animate({ width: 0 }, { step: function (a) { f.css("width", d - a) }, complete: function () { a(this).hide(), e.call(), c = !1 } }), g.length || (e.call(), c = !1) } }); function e(c, d, e) { var f = this, g = c.add(this), h = c.find(e.tabs), i = d.jquery ? d : c.children(d), j; h.length || (h = c.children()), i.length || (i = c.parent().find(d)), i.length || (i = a(d)), a.extend(this, { click: function (c, d) { var i = h.eq(c); typeof c == "string" && c.replace("#", "") && (i = h.filter("[href*=" + c.replace("#", "") + "]"), c = Math.max(h.index(i), 0)); if (e.rotate) { var k = h.length - 1; if (c < 0) return f.click(k, d); if (c > k) return f.click(0, d) } if (!i.length) { if (j >= 0) return f; c = e.initialIndex, i = h.eq(c) } if (c === j) return f; d = d || a.Event(), d.type = "onBeforeClick", g.trigger(d, [c]); if (!d.isDefaultPrevented()) { b[e.effect].call(f, c, function () { j = c, d.type = "onClick", g.trigger(d, [c]) }), h.removeClass(e.current), i.addClass(e.current); return f } }, getConf: function () { return e }, getTabs: function () { return h }, getPanes: function () { return i }, getCurrentPane: function () { return i.eq(j) }, getCurrentTab: function () { return h.eq(j) }, getIndex: function () { return j }, next: function () { return f.click(j + 1) }, prev: function () { return f.click(j - 1) }, destroy: function () { h.unbind(e.event).removeClass(e.current), i.find("a[href^=#]").unbind("click.T"); return f } }), a.each("onBeforeClick,onClick".split(","), function (b, c) { a.isFunction(e[c]) && a(f).bind(c, e[c]), f[c] = function (b) { b && a(f).bind(c, b); return f } }), e.history && a.fn.history && (a.tools.history.init(h), e.event = "history"), h.each(function (b) { a(this).bind(e.event, function (a) { f.click(b, a); return a.preventDefault() }) }), i.find("a[href^=#]").bind("click.T", function (b) { f.click(a(this).attr("href"), b) }), location.hash && e.tabs == "a" && c.find("[href=" + location.hash + "]").length ? f.click(location.hash) : (e.initialIndex === 0 || e.initialIndex > 0) && f.click(e.initialIndex) } a.fn.tabs = function (b, c) { var d = this.data("tabs"); d && (d.destroy(), this.removeData("tabs")), a.isFunction(c) && (c = { onBeforeClick: c }), c = a.extend({}, a.tools.tabs.conf, c), this.each(function () { d = new e(a(this), b, c), a(this).data("tabs", d) }); return c.api ? d : this } })(jQuery);
(function (a) { var b, c, d, e; a.tools = a.tools || { version: "v1.2.6" }, a.tools.history = { init: function (g) { e || (a.browser.msie && a.browser.version < "8" ? c || (c = a("<iframe/>").attr("src", "javascript:false;").hide().get(0), a("body").prepend(c), setInterval(function () { var d = c.contentWindow.document, e = d.location.hash; b !== e && a(window).trigger("hash", e) }, 100), f(location.hash || "#")) : setInterval(function () { var c = location.hash; c !== b && a(window).trigger("hash", c) }, 100), d = d ? d.add(g) : g, g.click(function (b) { var d = a(this).attr("href"); c && f(d); if (d.slice(0, 1) != "#") { location.href = "#" + d; return b.preventDefault() } }), e = !0) } }; function f(a) { if (a) { var b = c.contentWindow.document; b.open().close(), b.location.hash = a } } a(window).bind("hash", function (c, e) { e ? d.filter(function () { var b = a(this).attr("href"); return b == e || b == e.replace("#", "") }).trigger("history", [e]) : d.eq(0).trigger("history", [e]), b = e }), a.fn.history = function (b) { a.tools.history.init(this); return this.bind("history", b) } })(jQuery);
(function (a) { a.tools = a.tools || { version: "v1.2.6" }, a.tools.tooltip = { conf: { effect: "toggle", fadeOutSpeed: "fast", predelay: 0, delay: 30, opacity: 1, tip: 0, fadeIE: !1, position: ["top", "center"], offset: [0, 0], relative: !1, cancelDefault: !0, events: { def: "mouseenter,mouseleave", input: "focus,blur", widget: "focus mouseenter,blur mouseleave", tooltip: "mouseenter,mouseleave" }, layout: "<div/>", tipClass: "tooltip" }, addEffect: function (a, c, d) { b[a] = [c, d] } }; var b = { toggle: [function (a) { var b = this.getConf(), c = this.getTip(), d = b.opacity; d < 1 && c.css({ opacity: d }), c.show(), a.call() }, function (a) { this.getTip().hide(), a.call() } ], fade: [function (b) { var c = this.getConf(); !a.browser.msie || c.fadeIE ? this.getTip().fadeTo(c.fadeInSpeed, c.opacity, b) : (this.getTip().show(), b()) }, function (b) { var c = this.getConf(); !a.browser.msie || c.fadeIE ? this.getTip().fadeOut(c.fadeOutSpeed, b) : (this.getTip().hide(), b()) } ] }; function c(b, c, d) { var e = d.relative ? b.position().top : b.offset().top, f = d.relative ? b.position().left : b.offset().left, g = d.position[0]; e -= c.outerHeight() - d.offset[0], f += b.outerWidth() + d.offset[1], /iPad/i.test(navigator.userAgent) && (e -= a(window).scrollTop()); var h = c.outerHeight() + b.outerHeight(); g == "center" && (e += h / 2), g == "bottom" && (e += h), g = d.position[1]; var i = c.outerWidth() + b.outerWidth(); g == "center" && (f -= i / 2), g == "left" && (f -= i); return { top: e, left: f} } function d(d, e) { var f = this, g = d.add(f), h, i = 0, j = 0, k = d.attr("title"), l = d.attr("data-tooltip"), m = b[e.effect], n, o = d.is(":input"), p = o && d.is(":checkbox, :radio, select, :button, :submit"), q = d.attr("type"), r = e.events[q] || e.events[o ? p ? "widget" : "input" : "def"]; if (!m) throw "Nonexistent effect \"" + e.effect + "\""; r = r.split(/,\s*/); if (r.length != 2) throw "Tooltip: bad events configuration for " + q; d.bind(r[0], function (a) { clearTimeout(i), e.predelay ? j = setTimeout(function () { f.show(a) }, e.predelay) : f.show(a) }).bind(r[1], function (a) { clearTimeout(j), e.delay ? i = setTimeout(function () { f.hide(a) }, e.delay) : f.hide(a) }), k && e.cancelDefault && (d.removeAttr("title"), d.data("title", k)), a.extend(f, { show: function (b) { if (!h) { l ? h = a(l) : e.tip ? h = a(e.tip).eq(0) : k ? h = a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k) : (h = d.next(), h.length || (h = d.parent().next())); if (!h.length) throw "Cannot find tooltip for " + d } if (f.isShown()) return f; h.stop(!0, !0); var o = c(d, h, e); e.tip && h.html(d.data("title")), b = a.Event(), b.type = "onBeforeShow", g.trigger(b, [o]); if (b.isDefaultPrevented()) return f; o = c(d, h, e), h.css({ position: "absolute", top: o.top, left: o.left }), n = !0, m[0].call(f, function () { b.type = "onShow", n = "full", g.trigger(b) }); var p = e.events.tooltip.split(/,\s*/); h.data("__set") || (h.unbind(p[0]).bind(p[0], function () { clearTimeout(i), clearTimeout(j) }), p[1] && !d.is("input:not(:checkbox, :radio), textarea") && h.unbind(p[1]).bind(p[1], function (a) { a.relatedTarget != d[0] && d.trigger(r[1].split(" ")[0]) }), e.tip || h.data("__set", !0)); return f }, hide: function (c) { if (!h || !f.isShown()) return f; c = a.Event(), c.type = "onBeforeHide", g.trigger(c); if (!c.isDefaultPrevented()) { n = !1, b[e.effect][1].call(f, function () { c.type = "onHide", g.trigger(c) }); return f } }, isShown: function (a) { return a ? n == "full" : n }, getConf: function () { return e }, getTip: function () { return h }, getTrigger: function () { return d } }), a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function (b, c) { a.isFunction(e[c]) && a(f).bind(c, e[c]), f[c] = function (b) { b && a(f).bind(c, b); return f } }) } a.fn.tooltip = function (b) { var c = this.data("tooltip"); if (c) return c; b = a.extend(!0, {}, a.tools.tooltip.conf, b), typeof b.position == "string" && (b.position = b.position.split(/,?\s/)), this.each(function () { c = new d(a(this), b), a(this).data("tooltip", c) }); return b.api ? c : this } })(jQuery);
(function (a) { var b = a.tools.tooltip; b.dynamic = { conf: { classNames: "top right bottom left"} }; function c(b) { var c = a(window), d = c.width() + c.scrollLeft(), e = c.height() + c.scrollTop(); return [b.offset().top <= c.scrollTop(), d <= b.offset().left + b.width(), e <= b.offset().top + b.height(), c.scrollLeft() >= b.offset().left] } function d(a) { var b = a.length; while (b--) if (a[b]) return !1; return !0 } a.fn.dynamic = function (e) { typeof e == "number" && (e = { speed: e }), e = a.extend({}, b.dynamic.conf, e); var f = a.extend(!0, {}, e), g = e.classNames.split(/\s/), h; this.each(function () { var b = a(this).tooltip().onBeforeShow(function (b, e) { var i = this.getTip(), j = this.getConf(); h || (h = [j.position[0], j.position[1], j.offset[0], j.offset[1], a.extend({}, j)]), a.extend(j, h[4]), j.position = [h[0], h[1]], j.offset = [h[2], h[3]], i.css({ visibility: "hidden", position: "absolute", top: e.top, left: e.left }).show(); var k = a.extend(!0, {}, f), l = c(i); if (!d(l)) { l[2] && (a.extend(j, k.top), j.position[0] = "top", i.addClass(g[0])), l[3] && (a.extend(j, k.right), j.position[1] = "right", i.addClass(g[1])), l[0] && (a.extend(j, k.bottom), j.position[0] = "bottom", i.addClass(g[2])), l[1] && (a.extend(j, k.left), j.position[1] = "left", i.addClass(g[3])); if (l[0] || l[2]) j.offset[0] *= -1; if (l[1] || l[3]) j.offset[1] *= -1 } i.css({ visibility: "visible" }).hide() }); b.onBeforeShow(function () { var a = this.getConf(), b = this.getTip(); setTimeout(function () { a.position = [h[0], h[1]], a.offset = [h[2], h[3]] }, 0) }), b.onHide(function () { var a = this.getTip(); a.removeClass(e.classNames) }), ret = b }); return e.api ? ret : this } })(jQuery);
(function (a) { var b = a.tools.tooltip; a.extend(b.conf, { direction: "up", bounce: !1, slideOffset: 10, slideInSpeed: 200, slideOutSpeed: 200, slideFade: !a.browser.msie }); var c = { up: ["-", "top"], down: ["+", "top"], left: ["-", "left"], right: ["+", "left"] }; b.addEffect("slide", function (a) { var b = this.getConf(), d = this.getTip(), e = b.slideFade ? { opacity: b.opacity} : {}, f = c[b.direction] || c.up; e[f[1]] = f[0] + "=" + b.slideOffset, b.slideFade && d.css({ opacity: 0 }), d.show().animate(e, b.slideInSpeed, a) }, function (b) { var d = this.getConf(), e = d.slideOffset, f = d.slideFade ? { opacity: 0} : {}, g = c[d.direction] || c.up, h = "" + g[0]; d.bounce && (h = h == "+" ? "-" : "+"), f[g[1]] = h + "=" + e, this.getTip().animate(f, d.slideOutSpeed, function () { a(this).hide(), b.call() }) }) })(jQuery);

