(function(f) {
    function p(a, b, c) { var h = c.relative ? a.position().top : a.offset().top, e = c.relative ? a.position().left : a.offset().left, i = c.position[0]; h -= b.outerHeight() - c.offset[0]; e += a.outerWidth() + c.offset[1]; var j = b.outerHeight() + a.outerHeight(); if (i == "center") h += j / 2; if (i == "bottom") h += j; i = c.position[1]; a = b.outerWidth() + a.outerWidth(); if (i == "center") e -= a / 2; if (i == "left") e -= a; return { top: h, left: e} } function u(a, b) {
        var c = this, h = a.add(c), e, i = 0, j = 0, m = a.attr("title"), q = a.attr("data-tooltip"), r = n[b.effect], l, s =
a.is(":input"), v = s && a.is(":checkbox, :radio, select, :button, :submit"), t = a.attr("type"), k = b.events[t] || b.events[s ? v ? "widget" : "input" : "def"]; if (!r) throw 'Nonexistent effect "' + b.effect + '"'; k = k.split(/,\s*/); if (k.length != 2) throw "Tooltip: bad events configuration for " + t; a.bind(k[0], function(d) { clearTimeout(i); if (b.predelay) j = setTimeout(function() { c.show(d) }, b.predelay); else c.show(d) }).bind(k[1], function(d) { clearTimeout(j); if (b.delay) i = setTimeout(function() { c.hide(d) }, b.delay); else c.hide(d) }); if (m &&
b.cancelDefault) { a.removeAttr("title"); a.data("title", m) } f.extend(c, { show: function(d) {
    if (!e) { if (q) e = f(q); else if (m) e = f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m); else if (b.tip) e = f(b.tip).eq(0); else { e = a.next(); e.length || (e = a.parent().next()) } if (!e.length) throw "Cannot find tooltip for " + a; } if (c.isShown()) return c; e.stop(true, true); var g = p(a, e, b); d = d || f.Event(); d.type = "onBeforeShow"; h.trigger(d, [g]); if (d.isDefaultPrevented()) return c; g = p(a, e, b); e.css({ position: "absolute",
        top: g.top, left: g.left
    }); l = true; r[0].call(c, function() { d.type = "onShow"; l = "full"; h.trigger(d) }); g = b.events.tooltip.split(/,\s*/); e.bind(g[0], function() { clearTimeout(i); clearTimeout(j) }); g[1] && !a.is("input:not(:checkbox, :radio), textarea") && e.bind(g[1], function(o) { o.relatedTarget != a[0] && a.trigger(k[1].split(" ")[0]) }); return c
}, hide: function(d) {
    if (!e || !c.isShown()) return c; d = d || f.Event(); d.type = "onBeforeHide"; h.trigger(d); if (!d.isDefaultPrevented()) {
        l = false; n[b.effect][1].call(c, function() {
            d.type = "onHide";
            h.trigger(d)
        }); return c
    } 
}, isShown: function(d) { return d ? l == "full" : l }, getConf: function() { return b }, getTip: function() { return e }, getTrigger: function() { return a } 
}); f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function(d, g) { f.isFunction(b[g]) && f(c).bind(g, b[g]); c[g] = function(o) { f(c).bind(g, o); return c } })
    } f.tools = f.tools || { version: "1.2.4" }; f.tools.tooltip = { conf: { effect: "toggle", fadeOutSpeed: "fast", predelay: 0, delay: 30, opacity: 1, tip: 0, position: ["top", "center"], offset: [0, 0], relative: false, cancelDefault: true,
        events: { def: "mouseenter,mouseleave", input: "focus,blur", widget: "focus mouseenter,blur mouseleave", tooltip: "mouseenter,mouseleave" }, layout: "<div/>", tipClass: "tooltip"
    }, addEffect: function(a, b, c) { n[a] = [b, c] } 
    }; var n = { toggle: [function(a) { var b = this.getConf(), c = this.getTip(); b = b.opacity; b < 1 && c.css({ opacity: b }); c.show(); a.call() }, function(a) { this.getTip().hide(); a.call() } ], fade: [function(a) { var b = this.getConf(); this.getTip().fadeTo(b.fadeInSpeed, b.opacity, a) }, function(a) {
        this.getTip().fadeOut(this.getConf().fadeOutSpeed,
a)
    } ]
    }; f.fn.tooltip = function(a) { var b = this.data("tooltip"); if (b) return b; a = f.extend(true, {}, f.tools.tooltip.conf, a); if (typeof a.position == "string") a.position = a.position.split(/,?\s/); this.each(function() { b = new u(f(this), a); f(this).data("tooltip", b) }); return a.api ? b : this } 
})(jQuery);
(function() {
    function f(a, b) { if (b) for (var c in b) if (b.hasOwnProperty(c)) a[c] = b[c]; return a } function l(a, b) { var c = []; for (var d in a) if (a.hasOwnProperty(d)) c[d] = b(a[d]); return c } function m(a, b, c) {
        if (e.isSupported(b.version)) a.innerHTML = e.getHTML(b, c); else if (b.expressInstall && e.isSupported([6, 65])) a.innerHTML = e.getHTML(f(b, { src: b.expressInstall }), { MMredirectURL: location.href, MMplayerType: "PlugIn", MMdoctitle: document.title }); else {
            if (!a.innerHTML.replace(/\s/g, "")) {
                a.innerHTML = "<h2>Flash version " + b.version +
" or greater is required</h2><h3>" + (g[0] > 0 ? "Your version is " + g : "You have no flash plugin installed") + "</h3>" + (a.tagName == "A" ? "<p>Click here to download latest version</p>" : "<p>Download latest version from <a href='" + k + "'>here</a></p>"); if (a.tagName == "A") a.onclick = function() { location.href = k } 
            } if (b.onFail) { var d = b.onFail.call(this); if (typeof d == "string") a.innerHTML = d } 
        } if (i) window[b.id] = document.getElementById(b.id); f(this, { getRoot: function() { return a }, getOptions: function() { return b }, getConf: function() { return c },
            getApi: function() { return a.firstChild } 
        })
    } var i = document.all, k = "http://www.adobe.com/go/getflashplayer", n = typeof jQuery == "function", o = /(\d+)[^\d]+(\d+)[^\d]*(\d*)/, j = { width: "100%", height: "100%", id: "_" + ("" + Math.random()).slice(9), allowfullscreen: true, allowscriptaccess: "always", quality: "high", version: [3, 0], onFail: null, expressInstall: null, w3c: false, cachebusting: false }; window.attachEvent && window.attachEvent("onbeforeunload", function() { __flash_unloadHandler = function() { }; __flash_savedUnloadHandler = function() { } });
    window.flashembed = function(a, b, c) { if (typeof a == "string") a = document.getElementById(a.replace("#", "")); if (a) { if (typeof b == "string") b = { src: b }; return new m(a, f(f({}, j), b), c) } }; var e = f(window.flashembed, { conf: j, getVersion: function() {
        var a, b; try { b = navigator.plugins["Shockwave Flash"].description.slice(16) } catch (c) { try { b = (a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")) && a.GetVariable("$version") } catch (d) { try { b = (a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6")) && a.GetVariable("$version") } catch (h) { } } } return (b =
o.exec(b)) ? [b[1], b[3]] : [0, 0]
    }, asString: function(a) {
        if (a === null || a === undefined) return null; var b = typeof a; if (b == "object" && a.push) b = "array"; switch (b) { case "string": a = a.replace(new RegExp('(["\\\\])', "g"), "\\$1"); a = a.replace(/^\s?(\d+\.?\d+)%/, "$1pct"); return '"' + a + '"'; case "array": return "[" + l(a, function(d) { return e.asString(d) }).join(",") + "]"; case "function": return '"function()"'; case "object": b = []; for (var c in a) a.hasOwnProperty(c) && b.push('"' + c + '":' + e.asString(a[c])); return "{" + b.join(",") + "}" } return String(a).replace(/\s/g,
" ").replace(/\'/g, '"')
    }, getHTML: function(a, b) {
        a = f({}, a); var c = '<object width="' + a.width + '" height="' + a.height + '" id="' + a.id + '" name="' + a.id + '"'; if (a.cachebusting) a.src += (a.src.indexOf("?") != -1 ? "&" : "?") + Math.random(); c += a.w3c || !i ? ' data="' + a.src + '" type="application/x-shockwave-flash"' : ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'; c += ">"; if (a.w3c || i) c += '<param name="movie" value="' + a.src + '" />'; a.width = a.height = a.id = a.w3c = a.src = null; a.onFail = a.version = a.expressInstall = null; for (var d in a) if (a[d]) c +=
'<param name="' + d + '" value="' + a[d] + '" />'; a = ""; if (b) { for (var h in b) if (b[h]) { d = b[h]; a += h + "=" + (/function|object/.test(typeof d) ? e.asString(d) : d) + "&" } a = a.slice(0, -1); c += '<param name="flashvars" value=\'' + a + "' />" } c += "</object>"; return c
    }, isSupported: function(a) { return g[0] > a[0] || g[0] == a[0] && g[1] >= a[1] } 
    }), g = e.getVersion(); if (n) {
        jQuery.tools = jQuery.tools || { version: "1.2.4" }; jQuery.tools.flashembed = { conf: j }; jQuery.fn.flashembed = function(a, b) {
            return this.each(function() {
                $(this).data("flashembed", flashembed(this,
a, b))
            })
        } 
    } 
})();
