/*
* qTip2 - Pretty powerful tooltips
* http://craigsworks.com/projects/qtip2/
*
* Version: 2.0.0pre
* Copyright 2009-2010 Craig Michael Thompson - http://craigsworks.com
*
* Dual licensed under MIT or GPLv2 licenses
*   http://en.wikipedia.org/wiki/MIT_License
*   http://en.wikipedia.org/wiki/GNU_General_Public_License
*
* Date: Wed Jan 11 13:14:34 2012 +0000
*/
/*jslint browser: true, onevar: true, undef: true, nomen: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: true *//*global window: false, jQuery: false, console: false */
(function (a, b, c) { function E(b, g) { function w(a) { var b = a.precedance === "y", c = n[b ? "width" : "height"], d = n[b ? "height" : "width"], e = a.string().indexOf("center") > -1, f = c * (e ? .5 : 1), g = Math.pow, h = Math.round, i, j, k, l = Math.sqrt(g(f, 2) + g(d, 2)), m = [p / f * l, p / d * l]; m[2] = Math.sqrt(g(m[0], 2) - g(p, 2)), m[3] = Math.sqrt(g(m[1], 2) - g(p, 2)), i = l + m[2] + m[3] + (e ? 0 : m[0]), j = i / l, k = [h(j * d), h(j * c)]; return { height: k[b ? 0 : 1], width: k[b ? 1 : 0]} } function v(b) { var c = k.titlebar && b.y === "top", d = c ? k.titlebar : k.content, e = a.browser.mozilla, f = e ? "-moz-" : a.browser.webkit ? "-webkit-" : "", g = b.y + (e ? "" : "-") + b.x, h = f + (e ? "border-radius-" + g : "border-" + g + "-radius"); return parseInt(d.css(h), 10) || parseInt(l.css(h), 10) || 0 } function u(a, b, c) { b = b ? b : a[a.precedance]; var d = l.hasClass(r), e = k.titlebar && a.y === "top", f = e ? k.titlebar : k.content, g = "border-" + b + "-width", h; l.addClass(r), h = parseInt(f.css(g), 10), h = (c ? h || parseInt(l.css(g), 10) : h) || 0, l.toggleClass(r, d); return h } function t(a, f, g, h) { if (k.tip) { var l = i.corner.clone(), n = g.adjusted, o = b.options.position.adjust.method.split(" "), p = o[0], q = o[1] || o[0], r = { left: e, top: e, x: 0, y: 0 }, s, t = {}, u; i.corner.fixed !== d && (p === "shift" && l.precedance === "x" && n.left && l.y !== "center" ? l.precedance = l.precedance === "x" ? "y" : "x" : p === "flip" && n.left && (l.x = l.x === "center" ? n.left > 0 ? "left" : "right" : l.x === "left" ? "right" : "left"), q === "shift" && l.precedance === "y" && n.top && l.x !== "center" ? l.precedance = l.precedance === "y" ? "x" : "y" : q === "flip" && n.top && (l.y = l.y === "center" ? n.top > 0 ? "top" : "bottom" : l.y === "top" ? "bottom" : "top"), l.string() !== m.corner.string() && (m.top !== n.top || m.left !== n.left) && i.update(l, e)), s = i.position(l, n), s.right !== c && (s.left = -s.right), s.bottom !== c && (s.top = -s.bottom), s.user = Math.max(0, j.offset); if (r.left = p === "shift" && !!n.left) l.x === "center" ? t["margin-left"] = r.x = s["margin-left"] - n.left : (u = s.right !== c ? [n.left, -s.left] : [-n.left, s.left], (r.x = Math.max(u[0], u[1])) > u[0] && (g.left -= n.left, r.left = e), t[s.right !== c ? "right" : "left"] = r.x); if (r.top = q === "shift" && !!n.top) l.y === "center" ? t["margin-top"] = r.y = s["margin-top"] - n.top : (u = s.bottom !== c ? [n.top, -s.top] : [-n.top, s.top], (r.y = Math.max(u[0], u[1])) > u[0] && (g.top -= n.top, r.top = e), t[s.bottom !== c ? "bottom" : "top"] = r.y); k.tip.css(t).toggle(!(r.x && r.y || l.x === "center" && r.y || l.y === "center" && r.x)), g.left -= s.left.charAt ? s.user : p !== "shift" || r.top || !r.left && !r.top ? s.left : 0, g.top -= s.top.charAt ? s.user : q !== "shift" || r.left || !r.left && !r.top ? s.top : 0, m.left = n.left, m.top = n.top, m.corner = l.clone() } } var i = this, j = b.options.style.tip, k = b.elements, l = k.tooltip, m = { top: 0, left: 0 }, n = { width: j.width, height: j.height }, o = {}, p = j.border || 0, q = ".qtip-tip", s = !!(a("<canvas />")[0] || {}).getContext; i.mimic = i.corner = f, i.border = p, i.offset = j.offset, i.size = n, b.checks.tip = { "^position.my|style.tip.(corner|mimic|border)$": function () { i.init() || i.destroy(), b.reposition() }, "^style.tip.(height|width)$": function () { n = { width: j.width, height: j.height }, i.create(), i.update(), b.reposition() }, "^content.title.text|style.(classes|widget)$": function () { k.tip && i.update() } }, a.extend(i, { init: function () { var b = i.detectCorner() && (s || a.browser.msie); b && (i.create(), i.update(), l.unbind(q).bind("tooltipmove" + q, t)); return b }, detectCorner: function () { var a = j.corner, c = b.options.position, f = c.at, g = c.my.string ? c.my.string() : c.my; if (a === e || g === e && f === e) return e; a === d ? i.corner = new h.Corner(g) : a.string || (i.corner = new h.Corner(a), i.corner.fixed = d), m.corner = new h.Corner(i.corner.string()); return i.corner.string() !== "centercenter" }, detectColours: function (c) { var d, e, f, g = k.tip.css("cssText", ""), h = c || i.corner, m = h[h.precedance], p = "border-" + m + "-color", q = "border" + m.charAt(0) + m.substr(1) + "Color", s = /rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i, t = "background-color", u = "transparent", v = " !important", w = a(document.body).css("color"), x = b.elements.content.css("color"), y = k.titlebar && (h.y === "top" || h.y === "center" && g.position().top + n.height / 2 + j.offset < k.titlebar.outerHeight(1)), z = y ? k.titlebar : k.content; l.addClass(r), o.fill = e = g.css(t), o.border = f = g[0].style[q] || g.css(p) || l.css(p); if (!e || s.test(e)) o.fill = z.css(t) || u, s.test(o.fill) && (o.fill = l.css(t) || e); if (!f || s.test(f) || f === w) o.border = z.css(p) || u, s.test(o.border) && (o.border = f); a("*", g).add(g).css("cssText", t + ":" + u + v + ";border:0" + v + ";"), l.removeClass(r) }, create: function () { var b = n.width, c = n.height, d; k.tip && k.tip.remove(), k.tip = a("<div />", { "class": "ui-tooltip-tip" }).css({ width: b, height: c }).prependTo(l), s ? a("<canvas />").appendTo(k.tip)[0].getContext("2d").save() : (d = '<vml:shape coordorigin="0,0" style="display:inline-block; position:absolute; behavior:url(#default#VML);"></vml:shape>', k.tip.html(d + d), a("*", k.tip).bind("click mousedown", function (a) { a.stopPropagation() })) }, update: function (b, c) { var g = k.tip, l = g.children(), q = n.width, r = n.height, t = "px solid ", v = "px dashed transparent", x = j.mimic, y = Math.round, z, A, B, C, E; b || (b = m.corner || i.corner), x === e ? x = b : (x = new h.Corner(x), x.precedance = b.precedance, x.x === "inherit" ? x.x = b.x : x.y === "inherit" ? x.y = b.y : x.x === x.y && (x[b.precedance] = b[b.precedance])), z = x.precedance, i.detectColours(b), o.border !== "transparent" && o.border !== "#123456" ? (p = u(b, f, d), j.border === 0 && p > 0 && (o.fill = o.border), i.border = p = j.border !== d ? j.border : p) : i.border = p = 0, B = D(x, q, r), i.size = E = w(b), g.css(E), b.precedance === "y" ? C = [y(x.x === "left" ? p : x.x === "right" ? E.width - q - p : (E.width - q) / 2), y(x.y === "top" ? E.height - r : 0)] : C = [y(x.x === "left" ? E.width - q : 0), y(x.y === "top" ? p : x.y === "bottom" ? E.height - r - p : (E.height - r) / 2)], s ? (l.attr(E), A = l[0].getContext("2d"), A.restore(), A.save(), A.clearRect(0, 0, 3e3, 3e3), A.translate(C[0], C[1]), A.beginPath(), A.moveTo(B[0][0], B[0][1]), A.lineTo(B[1][0], B[1][1]), A.lineTo(B[2][0], B[2][1]), A.closePath(), A.fillStyle = o.fill, A.strokeStyle = o.border, A.lineWidth = p * 2, A.lineJoin = "miter", A.miterLimit = 100, p && A.stroke(), A.fill()) : (B = "m" + B[0][0] + "," + B[0][1] + " l" + B[1][0] + "," + B[1][1] + " " + B[2][0] + "," + B[2][1] + " xe", C[2] = p && /^(r|b)/i.test(b.string()) ? parseFloat(a.browser.version, 10) === 8 ? 2 : 1 : 0, l.css({ antialias: "" + (x.string().indexOf("center") > -1), left: C[0] - C[2] * Number(z === "x"), top: C[1] - C[2] * Number(z === "y"), width: q + p, height: r + p }).each(function (b) { var c = a(this); c[c.prop ? "prop" : "attr"]({ coordsize: q + p + " " + (r + p), path: B, fillcolor: o.fill, filled: !!b, stroked: !b }).css({ display: p || b ? "block" : "none" }), !b && c.html() === "" && c.html('<vml:stroke weight="' + p * 2 + 'px" color="' + o.border + '" miterlimit="1000" joinstyle="miter"  style="behavior:url(#default#VML); display:inline-block;" />') })), c !== e && i.position(b) }, position: function (b) { var c = k.tip, f = {}, g = Math.max(0, j.offset), h, l, m; if (j.corner === e || !c) return e; b = b || i.corner, h = b.precedance, l = w(b), m = [b.x, b.y], h === "x" && m.reverse(), a.each(m, function (a, c) { var e, i; c === "center" ? (e = h === "y" ? "left" : "top", f[e] = "50%", f["margin-" + e] = -Math.round(l[h === "y" ? "width" : "height"] / 2) + g) : (e = u(b, c, d), i = v(b), f[c] = a ? p ? u(b, c) : 0 : g + (i > e ? i : 0)) }), f[b[h]] -= l[h === "x" ? "width" : "height"], c.css({ top: "", bottom: "", left: "", right: "", margin: "" }).css(f); return f }, destroy: function () { k.tip && k.tip.remove(), l.unbind(q) } }), i.init() } function D(a, b, c) { var d = Math.ceil(b / 2), e = Math.ceil(c / 2), f = { bottomright: [[0, 0], [b, c], [b, 0]], bottomleft: [[0, 0], [b, 0], [0, c]], topright: [[0, c], [b, 0], [b, c]], topleft: [[0, 0], [0, c], [b, c]], topcenter: [[0, c], [d, 0], [b, c]], bottomcenter: [[0, 0], [b, 0], [d, c]], rightcenter: [[0, 0], [b, e], [0, c]], leftcenter: [[b, 0], [b, c], [0, e]] }; f.lefttop = f.bottomright, f.righttop = f.bottomleft, f.leftbottom = f.topright, f.rightbottom = f.topleft; return f[a.string()] } function C(c) { var f = this, g = c.options.show.modal, i = c.elements, j = i.tooltip, k = "#qtip-overlay", l = ".qtipmodal", m = l + c.id, o = "is-modal-qtip", q = a(document.body), r; c.checks.modal = { "^show.modal.(on|blur)$": function () { f.init(), i.overlay.toggle(j.is(":visible")) } }, a.extend(f, { init: function () { if (!g.on) return f; r = f.create(), j.attr(o, d).css("z-index", h.modal.zindex + a(n + "[" + o + "]").length).unbind(l).unbind(m).bind("tooltipshow" + l + " tooltiphide" + l, function (b, c, d) { var e = b.originalEvent; if (e && b.type === "tooltiphide" && /mouse(leave|enter)/.test(e.type) && a(e.relatedTarget).closest(r[0]).length) try { b.preventDefault() } catch (g) { } else (!e || e && !e.solo) && f[b.type.replace("tooltip", "")](b, d) }).bind("tooltipfocus" + l, function (b) { if (!b.isDefaultPrevented()) { var c = a(n).filter("[" + o + "]"), d = h.modal.zindex + c.length, e = parseInt(j[0].style.zIndex, 10); r[0].style.zIndex = d - 1, c.each(function () { this.style.zIndex > e && (this.style.zIndex -= 1) }), c.end().filter("." + p).qtip("blur", b.originalEvent), j.addClass(p)[0].style.zIndex = d; try { b.preventDefault() } catch (f) { } } }).bind("tooltiphide" + l, function (b) { a("[" + o + "]").filter(":visible").not(j).last().qtip("focus", b) }), g.escape && a(b).unbind(m).bind("keydown" + m, function (a) { a.keyCode === 27 && j.hasClass(p) && c.hide(a) }), g.blur && i.overlay.unbind(m).bind("click" + m, function (a) { j.hasClass(p) && c.hide(a) }); return f }, create: function () { function d() { r.css({ height: a(b).height(), width: a(b).width() }) } var c = a(k); if (c.length) return i.overlay = c.insertAfter(a(n).last()); r = i.overlay = a("<div />", { id: k.substr(1), html: "<div></div>", mousedown: function () { return e } }).insertAfter(a(n).last()), a(b).unbind(l).bind("resize" + l, d), d(); return r }, toggle: function (b, c, h) { if (b && b.isDefaultPrevented()) return f; var i = g.effect, k = c ? "show" : "hide", l = r.is(":visible"), p = a("[" + o + "]").filter(":visible").not(j), s; r || (r = f.create()); if (r.is(":animated") && l === c || !c && p.length) return f; c ? (r.css({ left: 0, top: 0 }), r.toggleClass("blurs", g.blur), q.bind("focusin" + m, function (b) { var c = a(b.target), d = c.closest(".qtip"), f = d.length < 1 ? e : parseInt(d[0].style.zIndex, 10) > parseInt(j[0].style.zIndex, 10); !f && a(b.target).closest(n)[0] !== j[0] && j.find("input:visible").filter(":first").focus() })) : q.undelegate("*", "focusin" + m), r.stop(d, e), a.isFunction(i) ? i.call(r, c) : i === e ? r[k]() : r.fadeTo(parseInt(h, 10) || 90, c ? 1 : 0, function () { c || a(this).hide() }), c || r.queue(function (a) { r.css({ left: "", top: "" }), a() }); return f }, show: function (a, b) { return f.toggle(a, d, b) }, hide: function (a, b) { return f.toggle(a, e, b) }, destroy: function () { var d = r; d && (d = a("[" + o + "]").not(j).length < 1, d ? (i.overlay.remove(), a(b).unbind(l)) : i.overlay.unbind(l + c.id), q.undelegate("*", "focusin" + m)); return j.removeAttr(o).unbind(l) } }), f.init() } function B(b) { var c = this, d = b.elements, e = d.tooltip, f = ".bgiframe-" + b.id; a.extend(c, { init: function () { d.bgiframe = a('<iframe class="ui-tooltip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';"  style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>'), d.bgiframe.appendTo(e), e.bind("tooltipmove" + f, c.adjust) }, adjust: function () { var a = b.get("dimensions"), c = b.plugins.tip, f = d.tip, g, h; h = parseInt(e.css("border-left-width"), 10) || 0, h = { left: -h, top: -h }, c && f && (g = c.corner.precedance === "x" ? ["width", "left"] : ["height", "top"], h[g[1]] -= f[g[0]]()), d.bgiframe.css(h).css(a) }, destroy: function () { d.bgiframe.remove(), e.unbind(f) } }), c.init() } function A(b) { var c = this, f = b.elements.tooltip, g = b.options.content.ajax, h = ".qtip-ajax", i = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, j = d; b.checks.ajax = { "^content.ajax": function (a, b, d) { b === "ajax" && (g = d), b === "once" ? c.init() : g && g.url ? c.load() : f.unbind(h) } }, a.extend(c, { init: function () { g && g.url && f.unbind(h)[g.once ? "one" : "bind"]("tooltipshow" + h, c.load); return c }, load: function (d, f) { function p(a, c, d) { a.status !== 0 && b.set("content.text", c + ": " + d) } function o(c) { k && (c = a("<div/>").append(c.replace(i, "")).find(k)), b.set("content.text", c) } function n() { l && (b.show(d.originalEvent), f = e), a.isFunction(g.complete) && g.complete.apply(this, arguments) } var h = g.url.indexOf(" "), j = g.url, k, l = g.once && !g.loading && f; if (l) try { d.preventDefault() } catch (m) { } else if (d && d.isDefaultPrevented()) return c; h > -1 && (k = j.substr(h), j = j.substr(0, h)), a.ajax(a.extend({ success: o, error: p, context: b }, g, { url: j, complete: n })) } }), c.init() } function z(b, c) { var i, j, k, l, m, n = a(this), o = a(document.body), p = this === document ? o : n, q = n.metadata ? n.metadata(c.metadata) : f, r = c.metadata.type === "html5" && q ? q[c.metadata.name] : f, s = n.data(c.metadata.name || "qtipopts"); try { s = typeof s === "string" ? (new Function("return " + s))() : s } catch (t) { w("Unable to parse HTML5 attribute data: " + s) } l = a.extend(d, {}, g.defaults, c, typeof s === "object" ? x(s) : f, x(r || q)), j = l.position, l.id = b; if ("boolean" === typeof l.content.text) { k = n.attr(l.content.attr); if (l.content.attr !== e && k) l.content.text = k; else { w("Unable to locate content for tooltip! Aborting render of tooltip on element: ", n); return e } } j.container.length || (j.container = o), j.target === e && (j.target = p), l.show.target === e && (l.show.target = p), l.show.solo === d && (l.show.solo = o), l.hide.target === e && (l.hide.target = p), l.position.viewport === d && (l.position.viewport = j.container), j.at = new h.Corner(j.at), j.my = new h.Corner(j.my); if (a.data(this, "qtip")) if (l.overwrite) n.qtip("destroy"); else if (l.overwrite === e) return e; l.suppress && (m = a.attr(this, "title")) && a(this).removeAttr("title").attr(u, m), i = new y(n, l, b, !!k), a.data(this, "qtip", i), n.bind("remove.qtip-" + b, function () { i.destroy() }); return i } function y(s, t, w, y) { function R() { var c = [t.show.target[0], t.hide.target[0], z.rendered && G.tooltip[0], t.position.container[0], t.position.viewport[0], b, document]; z.rendered ? a([]).pushStack(a.grep(c, function (a) { return typeof a === "object" })).unbind(F) : t.show.target.unbind(F + "-create") } function Q() { function p(a) { E.is(":visible") && z.reposition(a) } function o(a) { if (E.hasClass(m)) return e; clearTimeout(z.timers.inactive), z.timers.inactive = setTimeout(function () { z.hide(a) }, t.hide.inactive) } function l(b) { if (E.hasClass(m) || C || D) return e; var d = a(b.relatedTarget || b.target), g = d.closest(n)[0] === E[0], h = d[0] === f.show[0]; clearTimeout(z.timers.show), clearTimeout(z.timers.hide); if (c.target === "mouse" && g || t.hide.fixed && (/mouse(out|leave|move)/.test(b.type) && (g || h))) try { b.preventDefault(), b.stopImmediatePropagation() } catch (i) { } else t.hide.delay > 0 ? z.timers.hide = setTimeout(function () { z.hide(b) }, t.hide.delay) : z.hide(b) } function k(a) { if (E.hasClass(m)) return e; clearTimeout(z.timers.show), clearTimeout(z.timers.hide); var b = function () { z.toggle(d, a) }; t.show.delay > 0 ? z.timers.show = setTimeout(b, t.show.delay) : b() } var c = t.position, f = { show: t.show.target, hide: t.hide.target, viewport: a(c.viewport), document: a(document), body: a(document.body), window: a(b) }, h = { show: a.trim("" + t.show.event).split(" "), hide: a.trim("" + t.hide.event).split(" ") }, j = a.browser.msie && parseInt(a.browser.version, 10) === 6; E.bind("mouseenter" + F + " mouseleave" + F, function (a) { var b = a.type === "mouseenter"; b && z.focus(a), E.toggleClass(q, b) }), t.hide.fixed && (f.hide = f.hide.add(E), E.bind("mouseover" + F, function () { E.hasClass(m) || clearTimeout(z.timers.hide) })), /mouse(out|leave)/i.test(t.hide.event) ? t.hide.leave === "window" && f.window.bind("mouseout" + F + " blur" + F, function (a) { /select|option/.test(a.target) && !a.relatedTarget && z.hide(a) }) : /mouse(over|enter)/i.test(t.show.event) && f.hide.bind("mouseleave" + F, function (a) { clearTimeout(z.timers.show) }), ("" + t.hide.event).indexOf("unfocus") > -1 && f.body.bind("mousedown" + F, function (b) { var c = a(b.target), d = !E.hasClass(m) && E.is(":visible"); c[0] !== E[0] && c.parents(n).length === 0 && c.add(s).length > 1 && !c.attr("disabled") && z.hide(b) }), "number" === typeof t.hide.inactive && (f.show.bind("qtip-" + w + "-inactive", o), a.each(g.inactiveEvents, function (a, b) { f.hide.add(G.tooltip).bind(b + F + "-inactive", o) })), a.each(h.hide, function (b, c) { var d = a.inArray(c, h.show), e = a(f.hide); d > -1 && e.add(f.show).length === e.length || c === "unfocus" ? (f.show.bind(c + F, function (a) { E.is(":visible") ? l(a) : k(a) }), delete h.show[d]) : f.hide.bind(c + F, l) }), a.each(h.show, function (a, b) { f.show.bind(b + F, k) }), "number" === typeof t.hide.distance && f.show.add(E).bind("mousemove" + F, function (a) { var b = H.origin || {}, c = t.hide.distance, d = Math.abs; (d(a.pageX - b.pageX) >= c || d(a.pageY - b.pageY) >= c) && z.hide(a) }), c.target === "mouse" && (f.show.bind("mousemove" + F, function (a) { i = { pageX: a.pageX, pageY: a.pageY, type: "mousemove"} }), c.adjust.mouse && (t.hide.event && (E.bind("mouseleave" + F, function (a) { (a.relatedTarget || a.target) !== f.show[0] && z.hide(a) }), G.target.bind("mouseenter" + F + " mouseleave" + F, function (a) { H.onTarget = a.type === "mouseenter" })), f.document.bind("mousemove" + F, function (a) { H.onTarget && !E.hasClass(m) && E.is(":visible") && z.reposition(a || i) }))), (c.adjust.resize || f.viewport.length) && (a.event.special.resize ? f.viewport : f.window).bind("resize" + F, p), (f.viewport.length || j && E.css("position") === "fixed") && f.viewport.bind("scroll" + F, p) } function P(b, d) { function g(b) { function i(c) { c && (delete h[c.src], clearTimeout(z.timers.img[c.src]), a(c).unbind(F)), a.isEmptyObject(h) && (z.redraw(), d !== e && z.reposition(H.event), b()) } var g, h = {}; if ((g = f.find("img:not([height]):not([width])")).length === 0) return i(); g.each(function (b, d) { if (h[d.src] === c) { var e = 0, f = 3; (function g() { if (d.height || d.width || e > f) return i(d); e += 1, z.timers.img[d.src] = setTimeout(g, 700) })(), a(d).bind("error" + F + " load" + F, function () { i(this) }), h[d.src] = d } }) } var f = G.content; if (!z.rendered || !b) return e; a.isFunction(b) && (b = b.call(s, H.event, z) || ""), b.jquery && b.length > 0 ? f.empty().append(b.css({ display: "block" })) : f.html(b), z.rendered < 0 ? E.queue("fx", g) : (D = 0, g(a.noop)); return z } function O(b, c) { var d = G.title; if (!z.rendered || !b) return e; a.isFunction(b) && (b = b.call(s, H.event, z)); if (b === e) return K(e); b.jquery && b.length > 0 ? d.empty().append(b.css({ display: "block" })) : d.html(b), z.redraw(), c !== e && z.rendered && E.is(":visible") && z.reposition(H.event) } function N(a) { var b = G.button, c = G.title; if (!z.rendered) return e; a ? (c || M(), L()) : b.remove() } function M() { var b = B + "-title"; G.titlebar && K(), G.titlebar = a("<div />", { "class": k + "-titlebar " + (t.style.widget ? "ui-widget-header" : "") }).append(G.title = a("<div />", { id: b, "class": k + "-title", "aria-atomic": d })).insertBefore(G.content).delegate(".ui-tooltip-close", "mousedown keydown mouseup keyup mouseout", function (b) { a(this).toggleClass("ui-state-active ui-state-focus", b.type.substr(-4) === "down") }).delegate(".ui-tooltip-close", "mouseover mouseout", function (b) { a(this).toggleClass("ui-state-hover", b.type === "mouseover") }), t.content.title.button ? L() : z.rendered && z.redraw() } function L() { var b = t.content.title.button, c = typeof b === "string", d = c ? b : "Close tooltip"; G.button && G.button.remove(), b.jquery ? G.button = b : G.button = a("<a />", { "class": "ui-state-default ui-tooltip-close " + (t.style.widget ? "" : k + "-icon"), title: d, "aria-label": d }).prepend(a("<span />", { "class": "ui-icon ui-icon-close", html: "&times;" })), G.button.appendTo(G.titlebar).attr("role", "button").click(function (a) { E.hasClass(m) || z.hide(a); return e }), z.redraw() } function K(a) { G.title && (G.titlebar.remove(), G.titlebar = G.title = G.button = f, a !== e && z.reposition()) } function J() { var a = t.style.widget; E.toggleClass(l, a).toggleClass(o, t.style["default"] && !a), G.content.toggleClass(l + "-content", a), G.titlebar && G.titlebar.toggleClass(l + "-header", a), G.button && G.button.toggleClass(k + "-icon", !a) } function I(a) { var b = 0, c, d = t, e = a.split("."); while (d = d[e[b++]]) b < e.length && (c = d); return [c || t, e.pop()] } var z = this, A = document.body, B = k + "-" + w, C = 0, D = 0, E = a(), F = ".qtip-" + w, G, H; z.id = w, z.rendered = e, z.elements = G = { target: s }, z.timers = { img: {} }, z.options = t, z.checks = {}, z.plugins = {}, z.cache = H = { event: {}, target: a(), disabled: e, attr: y, onTarget: e }, z.checks.builtin = { "^id$": function (b, c, f) { var h = f === d ? g.nextid : f, i = k + "-" + h; h !== e && h.length > 0 && !a("#" + i).length && (E[0].id = i, G.content[0].id = i + "-content", G.title[0].id = i + "-title") }, "^content.text$": function (a, b, c) { P(c) }, "^content.title.text$": function (a, b, c) { if (!c) return K(); !G.title && c && M(), O(c) }, "^content.title.button$": function (a, b, c) { N(c) }, "^position.(my|at)$": function (a, b, c) { "string" === typeof c && (a[b] = new h.Corner(c)) }, "^position.container$": function (a, b, c) { z.rendered && E.appendTo(c) }, "^show.ready$": function () { z.rendered ? z.toggle(d) : z.render(1) }, "^style.classes$": function (a, b, c) { E.attr("class", k + " qtip ui-helper-reset " + c) }, "^style.widget|content.title": J, "^events.(render|show|move|hide|focus|blur)$": function (b, c, d) { E[(a.isFunction(d) ? "" : "un") + "bind"]("tooltip" + c, d) }, "^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)": function () { var a = t.position; E.attr("tracking", a.target === "mouse" && a.adjust.mouse), R(), Q() } }, a.extend(z, { render: function (b) { if (z.rendered) return z; var c = t.content.text, f = t.content.title.text, g = t.position, i = a.Event("tooltiprender"); a.attr(s[0], "aria-describedby", B), E = G.tooltip = a("<div/>", { id: B, "class": k + " qtip ui-helper-reset " + o + " " + t.style.classes + " " + k + "-pos-" + t.position.my.abbrev(), width: t.style.width || "", height: t.style.height || "", tracking: g.target === "mouse" && g.adjust.mouse, role: "alert", "aria-live": "polite", "aria-atomic": e, "aria-describedby": B + "-content", "aria-hidden": d }).toggleClass(m, H.disabled).data("qtip", z).appendTo(t.position.container).append(G.content = a("<div />", { "class": k + "-content", id: B + "-content", "aria-atomic": d })), z.rendered = -1, C = D = 1, f && (M(), a.isFunction(f) || O(f, e)), a.isFunction(c) || P(c, e), z.rendered = d, J(), a.each(t.events, function (b, c) { a.isFunction(c) && E.bind(b === "toggle" ? "tooltipshow tooltiphide" : "tooltip" + b, c) }), a.each(h, function () { this.initialize === "render" && this(z) }), Q(), E.queue("fx", function (a) { i.originalEvent = H.event, E.trigger(i, [z]), C = D = 0, z.redraw(), (t.show.ready || b) && z.toggle(d, H.event, e), a() }); return z }, get: function (a) { var b, c; switch (a.toLowerCase()) { case "dimensions": b = { height: E.outerHeight(), width: E.outerWidth() }; break; case "offset": b = h.offset(E, t.position.container); break; default: c = I(a.toLowerCase()), b = c[0][c[1]], b = b.precedance ? b.string() : b } return b }, set: function (b, c) { function m(a, b) { var c, d, e; for (c in k) for (d in k[c]) if (e = (new RegExp(d, "i")).exec(a)) b.push(e), k[c][d].apply(z, b) } var g = /^position\.(my|at|adjust|target|container)|style|content|show\.ready/i, h = /^content\.(title|attr)|style/i, i = e, j = e, k = z.checks, l; "string" === typeof b ? (l = b, b = {}, b[l] = c) : b = a.extend(d, {}, b), a.each(b, function (c, d) { var e = I(c.toLowerCase()), f; f = e[0][e[1]], e[0][e[1]] = "object" === typeof d && d.nodeType ? a(d) : d, b[c] = [e[0], e[1], d, f], i = g.test(c) || i, j = h.test(c) || j }), x(t), C = D = 1, a.each(b, m), C = D = 0, E.is(":visible") && z.rendered && (i && z.reposition(t.position.target === "mouse" ? f : H.event), j && z.redraw()); return z }, toggle: function (b, c) { function q() { b ? (a.browser.msie && E[0].style.removeAttribute("filter"), E.css("overflow", ""), "string" === typeof h.autofocus && a(h.autofocus, E).focus(), p = a.Event("tooltipvisible"), p.originalEvent = c ? H.event : f, E.trigger(p, [z]), h.target.trigger("qtip-" + w + "-inactive")) : E.css({ display: "", visibility: "", opacity: "", left: "", top: "" }) } if (!z.rendered) return b ? z.render(1) : z; var g = b ? "show" : "hide", h = t[g], j = E.is(":visible"), k = !c || t[g].target.length < 2 || H.target[0] === c.target, l = t.position, m = t.content, o, p; (typeof b).search("boolean|number") && (b = !j); if (!E.is(":animated") && j === b && k) return z; if (c) { if (/over|enter/.test(c.type) && /out|leave/.test(H.event.type) && c.target === t.show.target[0] && E.has(c.relatedTarget).length) return z; H.event = a.extend({}, c) } p = a.Event("tooltip" + g), p.originalEvent = c ? H.event : f, E.trigger(p, [z, 90]); if (p.isDefaultPrevented()) return z; a.attr(E[0], "aria-hidden", !b), b ? (H.origin = a.extend({}, i), z.focus(c), a.isFunction(m.text) && P(m.text, e), a.isFunction(m.title.text) && O(m.title.text, e), !v && l.target === "mouse" && l.adjust.mouse && (a(document).bind("mousemove.qtip", function (a) { i = { pageX: a.pageX, pageY: a.pageY, type: "mousemove"} }), v = d), z.reposition(c, arguments[2]), (p.solo = !!h.solo) && a(n, h.solo).not(E).qtip("hide", p)) : (clearTimeout(z.timers.show), delete H.origin, v && !a(n + '[tracking="true"]:visible', h.solo).not(E).length && (a(document).unbind("mousemove.qtip"), v = e), z.blur(c)), k && E.stop(0, 1), h.effect === e ? (E[g](), q.call(E)) : a.isFunction(h.effect) ? (h.effect.call(E, z), E.queue("fx", function (a) { q(), a() })) : E.fadeTo(90, b ? 1 : 0, q), b && h.target.trigger("qtip-" + w + "-inactive"); return z }, show: function (a) { return z.toggle(d, a) }, hide: function (a) { return z.toggle(e, a) }, focus: function (b) { if (!z.rendered) return z; var c = a(n), d = parseInt(E[0].style.zIndex, 10), e = g.zindex + c.length, f = a.extend({}, b), h, i; E.hasClass(p) || (i = a.Event("tooltipfocus"), i.originalEvent = f, E.trigger(i, [z, e]), i.isDefaultPrevented() || (d !== e && (c.each(function () { this.style.zIndex > d && (this.style.zIndex = this.style.zIndex - 1) }), c.filter("." + p).qtip("blur", f)), E.addClass(p)[0].style.zIndex = e)); return z }, blur: function (b) { var c = a.extend({}, b), d; E.removeClass(p), d = a.Event("tooltipblur"), d.originalEvent = c, E.trigger(d, [z]); return z }, reposition: function (c, d) { if (!z.rendered || C) return z; C = 1; var f = t.position.target, g = t.position, j = g.my, l = g.at, m = g.adjust, n = m.method.split(" "), o = E.outerWidth(), p = E.outerHeight(), q = 0, r = 0, s = a.Event("tooltipmove"), u = E.css("position") === "fixed", v = g.viewport, w = { left: 0, top: 0 }, x = g.container, y = e, B = z.plugins.tip, D = { horizontal: n[0], vertical: n[1] = n[1] || n[0], enabled: v.jquery && f[0] !== b && f[0] !== A && m.method !== "none", left: function (a) { var b = D.horizontal === "shift", c = -x.offset.left + v.offset.left + v.scrollLeft, d = j.x === "left" ? o : j.x === "right" ? -o : -o / 2, e = l.x === "left" ? q : l.x === "right" ? -q : -q / 2, f = B && B.size ? B.size.width || 0 : 0, g = B && B.corner && B.corner.precedance === "x" && !b ? f : 0, h = c - a + g, i = a + o - v.width - c + g, k = d - (j.precedance === "x" || j.x === j.y ? e : 0), n = j.x === "center"; b ? (g = B && B.corner && B.corner.precedance === "y" ? f : 0, k = (j.x === "left" ? 1 : -1) * d - g, w.left += h > 0 ? h : i > 0 ? -i : 0, w.left = Math.max(-x.offset.left + v.offset.left + (g && B.corner.x === "center" ? B.offset : 0), a - k, Math.min(Math.max(-x.offset.left + v.offset.left + v.width, a + k), w.left))) : (h > 0 && (j.x !== "left" || i > 0) ? w.left -= k : i > 0 && (j.x !== "right" || h > 0) && (w.left -= n ? -k : k), w.left !== a && n && (w.left -= m.x), w.left < c && -w.left > i && (w.left = a)); return w.left - a }, top: function (a) { var b = D.vertical === "shift", c = -x.offset.top + v.offset.top + v.scrollTop, d = j.y === "top" ? p : j.y === "bottom" ? -p : -p / 2, e = l.y === "top" ? r : l.y === "bottom" ? -r : -r / 2, f = B && B.size ? B.size.height || 0 : 0, g = B && B.corner && B.corner.precedance === "y" && !b ? f : 0, h = c - a + g, i = a + p - v.height - c + g, k = d - (j.precedance === "y" || j.x === j.y ? e : 0), n = j.y === "center"; b ? (g = B && B.corner && B.corner.precedance === "x" ? f : 0, k = (j.y === "top" ? 1 : -1) * d - g, w.top += h > 0 ? h : i > 0 ? -i : 0, w.top = Math.max(-x.offset.top + v.offset.top + (g && B.corner.x === "center" ? B.offset : 0), a - k, Math.min(Math.max(-x.offset.top + v.offset.top + v.height, a + k), w.top))) : (h > 0 && (j.y !== "top" || i > 0) ? w.top -= k : i > 0 && (j.y !== "bottom" || h > 0) && (w.top -= n ? -k : k), w.top !== a && n && (w.top -= m.y), w.top < 0 && -w.top > i && (w.top = a)); return w.top - a } }, F; if (a.isArray(f) && f.length === 2) l = { x: "left", y: "top" }, w = { left: f[0], top: f[1] }; else if (f === "mouse" && (c && c.pageX || H.event.pageX)) l = { x: "left", y: "top" }, c = (c && (c.type === "resize" || c.type === "scroll") ? H.event : c && c.pageX && c.type === "mousemove" ? c : i && i.pageX && (m.mouse || !c || !c.pageX) ? { pageX: i.pageX, pageY: i.pageY} : !m.mouse && H.origin && H.origin.pageX ? H.origin : c) || c || H.event || i || {}, w = { top: c.pageY, left: c.pageX }; else { f === "event" ? c && c.target && c.type !== "scroll" && c.type !== "resize" ? f = H.target = a(c.target) : f = H.target : f = H.target = a(f.nodeType ? f : G.target), f = a(f).eq(0); if (f.length === 0) return z; f[0] === document || f[0] === b ? (q = h.iOS ? b.innerWidth : f.width(), r = h.iOS ? b.innerHeight : f.height(), f[0] === b && (w = { top: u || h.iOS ? (v || f).scrollTop() : 0, left: u || h.iOS ? (v || f).scrollLeft() : 0 })) : f.is("area") && h.imagemap ? w = h.imagemap(f, l, D.enabled ? n : e) : f[0].namespaceURI === "http://www.w3.org/2000/svg" && h.svg ? w = h.svg(f, l) : (q = f.outerWidth(), r = f.outerHeight(), w = h.offset(f, x)), w.offset && (q = w.width, r = w.height, y = w.flipoffset, w = w.offset); if (h.iOS < 4.1 && h.iOS > 3.1 || h.iOS == 4.3 || !h.iOS && u) F = a(b), w.left -= F.scrollLeft(), w.top -= F.scrollTop(); w.left += l.x === "right" ? q : l.x === "center" ? q / 2 : 0, w.top += l.y === "bottom" ? r : l.y === "center" ? r / 2 : 0 } w.left += m.x + (j.x === "right" ? -o : j.x === "center" ? -o / 2 : 0), w.top += m.y + (j.y === "bottom" ? -p : j.y === "center" ? -p / 2 : 0), D.enabled ? (v = { elem: v, height: v[(v[0] === b ? "h" : "outerH") + "eight"](), width: v[(v[0] === b ? "w" : "outerW") + "idth"](), scrollLeft: u ? 0 : v.scrollLeft(), scrollTop: u ? 0 : v.scrollTop(), offset: v.offset() || { left: 0, top: 0} }, x = { elem: x, scrollLeft: x.scrollLeft(), scrollTop: x.scrollTop(), offset: x.offset() || { left: 0, top: 0} }, w.adjusted = { left: D.horizontal !== "none" ? D.left(w.left) : 0, top: D.vertical !== "none" ? D.top(w.top) : 0 }, w.adjusted.left + w.adjusted.top && E.attr("class", E[0].className.replace(/ui-tooltip-pos-\w+/i, k + "-pos-" + j.abbrev())), y && w.adjusted.left && (w.left += y.left), y && w.adjusted.top && (w.top += y.top)) : w.adjusted = { left: 0, top: 0 }, s.originalEvent = a.extend({}, c), E.trigger(s, [z, w, v.elem || v]); if (s.isDefaultPrevented()) return z; delete w.adjusted, d === e || isNaN(w.left) || isNaN(w.top) || f === "mouse" || !a.isFunction(g.effect) ? E.css(w) : a.isFunction(g.effect) && (g.effect.call(E, z, a.extend({}, w)), E.queue(function (b) { a(this).css({ opacity: "", height: "" }), a.browser.msie && this.style.removeAttribute("filter"), b() })), C = 0; return z }, redraw: function () { if (z.rendered < 1 || D) return z; var a = t.position.container, b, c, d, e; D = 1, t.style.height && E.css("height", t.style.height), t.style.width ? E.css("width", t.style.width) : (E.css("width", "").addClass(r), c = E.width() + 1, d = E.css("max-width") || "", e = E.css("min-width") || "", b = (d + e).indexOf("%") > -1 ? a.width() / 100 : 0, d = (d.indexOf("%") > -1 ? b : 1) * parseInt(d, 10) || c, e = (e.indexOf("%") > -1 ? b : 1) * parseInt(e, 10) || 0, c = d + e ? Math.min(Math.max(c, e), d) : c, E.css("width", Math.round(c)).removeClass(r)), D = 0; return z }, disable: function (b) { "boolean" !== typeof b && (b = !E.hasClass(m) && !H.disabled), z.rendered ? (E.toggleClass(m, b), a.attr(E[0], "aria-disabled", b)) : H.disabled = !!b; return z }, enable: function () { return z.disable(e) }, destroy: function () { var b = s[0], c = a.attr(b, u), d = s.data("qtip"); z.rendered && (E.remove(), a.each(z.plugins, function () { this.destroy && this.destroy() })), clearTimeout(z.timers.show), clearTimeout(z.timers.hide), R(); if (!d || z === d) a.removeData(b, "qtip"), t.suppress && c && (a.attr(b, "title", c), s.removeAttr(u)), s.removeAttr("aria-describedby"); s.unbind(".qtip-" + w), delete j[z.id]; return s } }) } function x(b) { var c; if (!b || "object" !== typeof b) return e; if (b.metadata === f || "object" !== typeof b.metadata) b.metadata = { type: b.metadata }; if ("content" in b) { if (b.content === f || "object" !== typeof b.content || b.content.jquery) b.content = { text: b.content }; c = b.content.text || e, !a.isFunction(c) && (!c && !c.attr || c.length < 1 || "object" === typeof c && !c.jquery) && (b.content.text = e); if ("title" in b.content) { if (b.content.title === f || "object" !== typeof b.content.title) b.content.title = { text: b.content.title }; c = b.content.title.text || e, !a.isFunction(c) && (!c && !c.attr || c.length < 1 || "object" === typeof c && !c.jquery) && (b.content.title.text = e) } } if ("position" in b) if (b.position === f || "object" !== typeof b.position) b.position = { my: b.position, at: b.position }; if ("show" in b) if (b.show === f || "object" !== typeof b.show) b.show.jquery ? b.show = { target: b.show} : b.show = { event: b.show }; if ("hide" in b) if (b.hide === f || "object" !== typeof b.hide) b.hide.jquery ? b.hide = { target: b.hide} : b.hide = { event: b.hide }; if ("style" in b) if (b.style === f || "object" !== typeof b.style) b.style = { classes: b.style }; a.each(h, function () { this.sanitize && this.sanitize(b) }); return b } function w() { w.history = w.history || [], w.history.push(arguments); if ("object" === typeof console) { var a = console[console.warn ? "warn" : "log"], b = Array.prototype.slice.call(arguments), c; typeof arguments[0] === "string" && (b[0] = "qTip2: " + b[0]), c = a.apply ? a.apply(console, b) : a(b) } } "use strict"; var d = !0, e = !1, f = null, g, h, i, j = {}, k = "ui-tooltip", l = "ui-widget", m = "ui-state-disabled", n = "div.qtip." + k, o = k + "-default", p = k + "-focus", q = k + "-hover", r = k + "-fluid", s = "-31000px", t = "_replacedByqTip", u = "oldtitle", v; g = a.fn.qtip = function (b, h, i) { var j = ("" + b).toLowerCase(), k = f, l = a.makeArray(arguments).slice(1), m = l[l.length - 1], n = this[0] ? a.data(this[0], "qtip") : f; if (!arguments.length && n || j === "api") return n; if ("string" === typeof b) { this.each(function () { var b = a.data(this, "qtip"); if (!b) return d; m && m.timeStamp && (b.cache.event = m); if (j !== "option" && j !== "options" || !h) b[j] && b[j].apply(b[j], l); else if (a.isPlainObject(h) || i !== c) b.set(h, i); else { k = b.get(h); return e } }); return k !== f ? k : this } if ("object" === typeof b || !arguments.length) { n = x(a.extend(d, {}, b)); return g.bind.call(this, n, m) } }, g.bind = function (b, f) { return this.each(function (k) { function r(b) { function d() { p.render(typeof b === "object" || l.show.ready), m.show.add(m.hide).unbind(o) } if (p.cache.disabled) return e; p.cache.event = a.extend({}, b), p.cache.target = b ? a(b.target) : [c], l.show.delay > 0 ? (clearTimeout(p.timers.show), p.timers.show = setTimeout(d, l.show.delay), n.show !== n.hide && m.hide.bind(n.hide, function () { clearTimeout(p.timers.show) })) : d() } var l, m, n, o, p, q; q = a.isArray(b.id) ? b.id[k] : b.id, q = !q || q === e || q.length < 1 || j[q] ? g.nextid++ : j[q] = q, o = ".qtip-" + q + "-create", p = z.call(this, q, b); if (p === e) return d; l = p.options, a.each(h, function () { this.initialize === "initialize" && this(p) }), m = { show: l.show.target, hide: l.hide.target }, n = { show: a.trim("" + l.show.event).replace(/ /g, o + " ") + o, hide: a.trim("" + l.hide.event).replace(/ /g, o + " ") + o }, /mouse(over|enter)/i.test(n.show) && !/mouse(out|leave)/i.test(n.hide) && (n.hide += " mouseleave" + o), m.show.bind("mousemove" + o, function (a) { i = { pageX: a.pageX, pageY: a.pageY, type: "mousemove"} }), m.show.bind(n.show, r), (l.show.ready || l.prerender) && r(f) }) }, h = g.plugins = { Corner: function (a) { a = ("" + a).replace(/([A-Z])/, " $1").replace(/middle/gi, "center").toLowerCase(), this.x = (a.match(/left|right/i) || a.match(/center/) || ["inherit"])[0].toLowerCase(), this.y = (a.match(/top|bottom|center/i) || ["inherit"])[0].toLowerCase(); var b = a.charAt(0); this.precedance = b === "t" || b === "b" ? "y" : "x", this.string = function () { return this.precedance === "y" ? this.y + this.x : this.x + this.y }, this.abbrev = function () { var a = this.x.substr(0, 1), b = this.y.substr(0, 1); return a === b ? a : a === "c" || a !== "c" && b !== "c" ? b + a : a + b }, this.clone = function () { return { x: this.x, y: this.y, precedance: this.precedance, string: this.string, abbrev: this.abbrev, clone: this.clone} } }, offset: function (a, b) { function i(a, b) { c.left += b * a.scrollLeft(), c.top += b * a.scrollTop() } var c = a.offset(), d = b, e = 0, f = document.body, g, h; if (d) { do { d.css("position") !== "static" && (g = d[0] === f ? { left: parseInt(d.css("left"), 10) || 0, top: parseInt(d.css("top"), 10) || 0} : d.position(), c.left -= g.left + (parseInt(d.css("borderLeftWidth"), 10) || 0) + (parseInt(d.css("marginLeft"), 10) || 0), c.top -= g.top + (parseInt(d.css("borderTopWidth"), 10) || 0), h = d.css("overflow"), (h === "scroll" || h === "auto") && ++e); if (d[0] === f) break } while (d = d.offsetParent()); b[0] !== f && e && i(b, 1) } return c }, iOS: parseFloat(("" + (/CPU.*OS ([0-9_]{1,3})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0, ""])[1]).replace("undefined", "3_2").replace("_", ".")) || e, fn: { attr: function (b, c) { if (this.length) { var d = this[0], e = "title", f = a.data(d, "qtip"); if (b === e && f && "object" === typeof f && f.options.suppress) { if (arguments.length < 2) return a.attr(d, u); f && f.options.content.attr === e && f.cache.attr && f.set("content.text", c); return this.attr(u, c) } } return a.fn["attr" + t].apply(this, arguments) }, clone: function (b) { var c = a([]), d = "title", e = a.fn["clone" + t].apply(this, arguments); b || e.filter("[" + u + "]").attr("title", function () { return a.attr(this, u) }).removeAttr(u); return e }, remove: a.ui ? f : function (b, c) { a.ui || a(this).each(function () { c || (!b || a.filter(b, [this]).length) && a("*", this).add(this).each(function () { a(this).triggerHandler("remove") }) }) } } }, a.each(h.fn, function (b, c) { if (!c || a.fn[b + t]) return d; var e = a.fn[b + t] = a.fn[b]; a.fn[b] = function () { return c.apply(this, arguments) || e.apply(this, arguments) } }), g.version = "2.0.0pre", g.nextid = 0, g.inactiveEvents = "click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "), g.zindex = 15e3, g.defaults = { prerender: e, id: e, overwrite: d, suppress: d, content: { text: d, attr: "title", title: { text: e, button: e} }, position: { my: "top left", at: "bottom right", target: e, container: e, viewport: e, adjust: { x: 0, y: 0, mouse: d, resize: d, method: "flip flip" }, effect: function (b, c, d) { a(this).animate(c, { duration: 200, queue: e }) } }, show: { target: e, event: "mouseenter", effect: d, delay: 90, solo: e, ready: e, autofocus: e }, hide: { target: e, event: "mouseleave", effect: d, delay: 0, fixed: e, inactive: e, leave: "window", distance: e }, style: { classes: "", widget: e, width: e, height: e, "default": d }, events: { render: f, move: f, show: f, hide: f, toggle: f, visible: f, focus: f, blur: f} }, h.ajax = function (a) { var b = a.plugins.ajax; return "object" === typeof b ? b : a.plugins.ajax = new A(a) }, h.ajax.initialize = "render", h.ajax.sanitize = function (a) { var b = a.content, c; b && "ajax" in b && (c = b.ajax, typeof c !== "object" && (c = a.content.ajax = { url: c }), "boolean" !== typeof c.once && c.once && (c.once = !!c.once)) }, a.extend(d, g.defaults, { content: { ajax: { loading: d, once: d}} }), h.bgiframe = function (b) { var c = a.browser, d = b.plugins.bgiframe; if (a("select, object").length < 1 || (!c.msie || ("" + c.version).charAt(0) !== "6")) return e; return "object" === typeof d ? d : b.plugins.bgiframe = new B(b) }, h.bgiframe.initialize = "render", h.imagemap = function (b, c, d) { function n(a, b, c) { var d = 0, e = 1, f = 1, g = 0, h = 0, i = a.width, j = a.height; while (i > 0 && j > 0 && e > 0 && f > 0) { i = Math.floor(i / 2), j = Math.floor(j / 2), c.x === "left" ? e = i : c.x === "right" ? e = a.width - i : e += Math.floor(i / 2), c.y === "top" ? f = j : c.y === "bottom" ? f = a.height - j : f += Math.floor(j / 2), d = b.length; while (d--) { if (b.length < 2) break; g = b[d][0] - a.offset.left, h = b[d][1] - a.offset.top, (c.x === "left" && g >= e || c.x === "right" && g <= e || c.x === "center" && (g < e || g > a.width - e) || c.y === "top" && h >= f || c.y === "bottom" && h <= f || c.y === "center" && (h < f || h > a.height - f)) && b.splice(d, 1) } } return { left: b[0][0], top: b[0][1]} } b.jquery || (b = a(b)); var e = (b[0].shape || b.attr("shape")).toLowerCase(), f = (b[0].coords || b.attr("coords")).split(","), g = [], h = a('img[usemap="#' + b.parent("map").attr("name") + '"]'), i = h.offset(), j = { width: 0, height: 0, offset: { top: 1e10, right: 0, bottom: 0, left: 1e10} }, k = 0, l = 0, m; i.left += Math.ceil((h.outerWidth() - h.width()) / 2), i.top += Math.ceil((h.outerHeight() - h.height()) / 2); if (e === "poly") { k = f.length; while (k--) l = [parseInt(f[--k], 10), parseInt(f[k + 1], 10)], l[0] > j.offset.right && (j.offset.right = l[0]), l[0] < j.offset.left && (j.offset.left = l[0]), l[1] > j.offset.bottom && (j.offset.bottom = l[1]), l[1] < j.offset.top && (j.offset.top = l[1]), g.push(l) } else g = a.map(f, function (a) { return parseInt(a, 10) }); switch (e) { case "rect": j = { width: Math.abs(g[2] - g[0]), height: Math.abs(g[3] - g[1]), offset: { left: Math.min(g[0], g[2]), top: Math.min(g[1], g[3])} }; break; case "circle": j = { width: g[2] + 2, height: g[2] + 2, offset: { left: g[0], top: g[1]} }; break; case "poly": a.extend(j, { width: Math.abs(j.offset.right - j.offset.left), height: Math.abs(j.offset.bottom - j.offset.top) }), c.string() === "centercenter" ? j.offset = { left: j.offset.left + j.width / 2, top: j.offset.top + j.height / 2} : (j.offset = n(j, g.slice(), c), d && (d[0] === "flip" || d[1] === "flip") && (j.flipoffset = n(j, g.slice(), { x: c.x === "left" ? "right" : c.x === "right" ? "left" : "center", y: c.y === "top" ? "bottom" : c.y === "bottom" ? "top" : "center" }), j.flipoffset.left -= j.offset.left, j.flipoffset.top -= j.offset.top)), j.width = j.height = 0 } j.offset.left += i.left, j.offset.top += i.top; return j }, h.modal = function (a) { var b = a.plugins.modal; return "object" === typeof b ? b : a.plugins.modal = new C(a) }, h.modal.initialize = "render", h.modal.sanitize = function (a) { a.show && (typeof a.show.modal !== "object" ? a.show.modal = { on: !!a.show.modal} : typeof a.show.modal.on === "undefined" && (a.show.modal.on = d)) }, h.modal.zindex = g.zindex + 1e3, a.extend(d, g.defaults, { show: { modal: { on: e, effect: d, blur: d, escape: d}} }), h.svg = function (b, c) { var d = a(document), e = b[0], f = { width: 0, height: 0, offset: { top: 1e10, left: 1e10} }, g, h, i, j, k; if (e.getBBox && e.parentNode) { g = e.getBBox(), h = e.getScreenCTM(), i = e.farthestViewportElement || e; if (!i.createSVGPoint) return f; j = i.createSVGPoint(), j.x = g.x, j.y = g.y, k = j.matrixTransform(h), f.offset.left = k.x, f.offset.top = k.y, j.x += g.width, j.y += g.height, k = j.matrixTransform(h), f.width = k.x - f.offset.left, f.height = k.y - f.offset.top, f.offset.left += d.scrollLeft(), f.offset.top += d.scrollTop() } return f }, h.tip = function (a) { var b = a.plugins.tip; return "object" === typeof b ? b : a.plugins.tip = new E(a) }, h.tip.initialize = "render", h.tip.sanitize = function (a) { var b = a.style, c; b && "tip" in b && (c = a.style.tip, typeof c !== "object" && (a.style.tip = { corner: c }), /string|boolean/i.test(typeof c.corner) || (c.corner = d), typeof c.width !== "number" && delete c.width, typeof c.height !== "number" && delete c.height, typeof c.border !== "number" && c.border !== d && delete c.border, typeof c.offset !== "number" && delete c.offset) }, a.extend(d, g.defaults, { style: { tip: { corner: d, mimic: e, width: 6, height: 6, border: d, offset: 0}} }) })(jQuery, window);
