﻿/*
* jQuery Tools 1.2.4 - The missing UI library for the Web
* 
* [tabs, tabs.slideshow, tooltip, tooltip.slide, tooltip.dynamic, scrollable, scrollable.autoscroll, scrollable.navigator, overlay, validator, toolbox.expose, toolbox.mousewheel]
* 
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
* 
* http://flowplayer.org/tools/
* 
* jquery.event.wheel.js - rev 1 
* Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
* Liscensed under the MIT License (MIT-LICENSE.txt)
* http://www.opensource.org/licenses/mit-license.php
* Created: 2008-07-01 | Updated: 2008-07-14
* 
* -----
* 
* File generated: Thu Aug 19 19:42:20 GMT 2010
*/
(function (c) {
    function p(d, b, a) {
        var e = this, l = d.add(this), h = d.find(a.tabs), i = b.jquery ? b : d.children(b), j; h.length || (h = d.children()); i.length || (i = d.parent().find(b)); i.length || (i = c(b)); c.extend(this, { click: function (f, g) {
            var k = h.eq(f); if (typeof f == "string" && f.replace("#", "")) { k = h.filter("[href*=" + f.replace("#", "") + "]"); f = Math.max(h.index(k), 0) } if (a.rotate) { var n = h.length - 1; if (f < 0) return e.click(n, g); if (f > n) return e.click(0, g) } if (!k.length) { if (j >= 0) return e; f = a.initialIndex; k = h.eq(f) } if (f === j) return e;
            g = g || c.Event(); g.type = "onBeforeClick"; l.trigger(g, [f]); if (!g.isDefaultPrevented()) { o[a.effect].call(e, f, function () { g.type = "onClick"; l.trigger(g, [f]) }); j = f; h.removeClass(a.current); k.addClass(a.current); return e } 
        }, getConf: function () { return a }, 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 e.click(j + 1) }, prev: function () { return e.click(j - 1) }, destroy: function () {
            h.unbind(a.event).removeClass(a.current);
            i.find("a[href^=#]").unbind("click.T"); return e
        } 
        }); c.each("onBeforeClick,onClick".split(","), function (f, g) { c.isFunction(a[g]) && c(e).bind(g, a[g]); e[g] = function (k) { k && c(e).bind(g, k); return e } }); if (a.history && c.fn.history) { c.tools.history.init(h); a.event = "history" } h.each(function (f) { c(this).bind(a.event, function (g) { e.click(f, g); return g.preventDefault() }) }); i.find("a[href^=#]").bind("click.T", function (f) { e.click(c(this).attr("href"), f) }); if (location.hash && a.tabs === "a" && d.find(a.tabs + location.hash).length) e.click(location.hash);
        else if (a.initialIndex === 0 || a.initialIndex > 0) e.click(a.initialIndex)
    } c.tools = c.tools || { version: "1.2.4" }; c.tools.tabs = { conf: { tabs: "a", current: "current", onBeforeClick: null, onClick: null, effect: "default", initialIndex: 0, event: "click", rotate: false, history: false }, addEffect: function (d, b) { o[d] = b } }; var o = { "default": function (d, b) { this.getPanes().hide().eq(d).show(); b.call() }, fade: function (d, b) { var a = this.getConf(), e = a.fadeOutSpeed, l = this.getPanes(); e ? l.fadeOut(e) : l.hide(); l.eq(d).fadeIn(a.fadeInSpeed, b) }, slide: function (d,
b) { this.getPanes().slideUp(200); this.getPanes().eq(d).slideDown(400, b) }, ajax: function (d, b) { this.getPanes().eq(0).load(this.getTabs().eq(d).attr("href"), b) } 
    }, m; c.tools.tabs.addEffect("horizontal", function (d, b) { m || (m = this.getPanes().eq(0).width()); this.getCurrentPane().animate({ width: 0 }, function () { c(this).hide() }); this.getPanes().eq(d).animate({ width: m }, function () { c(this).show(); b.call() }) }); c.fn.tabs = function (d, b) {
        var a = this.data("tabs"); if (a) { a.destroy(); this.removeData("tabs") } if (c.isFunction(b)) b =
{ onBeforeClick: b }; b = c.extend({}, c.tools.tabs.conf, b); this.each(function () { a = new p(c(this), d, b); c(this).data("tabs", a) }); return b.api ? a : this
    } 
})(jQuery);
(function (d) {
    function r(g, a) {
        function p(f) { var e = d(f); return e.length < 2 ? e : g.parent().find(f) } var c = this, j = g.add(this), b = g.data("tabs"), h, m, k, n = false, o = p(a.next).click(function () { b.next() }), l = p(a.prev).click(function () { b.prev() }); d.extend(c, { getTabs: function () { return b }, getConf: function () { return a }, play: function () { if (!h) { var f = d.Event("onBeforePlay"); j.trigger(f); if (f.isDefaultPrevented()) return c; n = false; h = setInterval(b.next, a.interval); j.trigger("onPlay"); b.next() } }, pause: function () {
            if (!h && !k) return c;
            var f = d.Event("onBeforePause"); j.trigger(f); if (f.isDefaultPrevented()) return c; h = clearInterval(h); k = clearInterval(k); j.trigger("onPause")
        }, stop: function () { c.pause(); n = true } 
        }); d.each("onBeforePlay,onPlay,onBeforePause,onPause".split(","), function (f, e) { d.isFunction(a[e]) && c.bind(e, a[e]); c[e] = function (s) { return c.bind(e, s) } }); if (a.autopause) { var t = b.getTabs().add(o).add(l).add(b.getPanes()); t.hover(function () { c.pause(); m = clearInterval(m) }, function () { n || (m = setTimeout(c.play, a.interval)) }) } if (a.autoplay) k =
setTimeout(c.play, a.interval); else c.stop(); a.clickable && b.getPanes().click(function () { b.next() }); if (!b.getConf().rotate) { var i = a.disabledClass; b.getIndex() || l.addClass(i); b.onBeforeClick(function (f, e) { if (e) { l.removeClass(i); e == b.getTabs().length - 1 ? o.addClass(i) : o.removeClass(i) } else l.addClass(i) }) } 
    } var q; q = d.tools.tabs.slideshow = { conf: { next: ".forward", prev: ".backward", disabledClass: "disabled", autoplay: false, autopause: true, interval: 3E3, clickable: true, api: false} }; d.fn.slideshow = function (g) {
        var a =
this.data("slideshow"); if (a) return a; g = d.extend({}, q.conf, g); this.each(function () { a = new r(d(this), g); d(this).data("slideshow", a) }); return g.api ? a : this
    } 
})(jQuery);
(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 (d) {
    var i = d.tools.tooltip; d.extend(i.conf, { direction: "up", bounce: false, slideOffset: 10, slideInSpeed: 200, slideOutSpeed: 200, slideFade: !d.browser.msie }); var e = { up: ["-", "top"], down: ["+", "top"], left: ["-", "left"], right: ["+", "left"] }; i.addEffect("slide", function (g) { var a = this.getConf(), f = this.getTip(), b = a.slideFade ? { opacity: a.opacity} : {}, c = e[a.direction] || e.up; b[c[1]] = c[0] + "=" + a.slideOffset; a.slideFade && f.css({ opacity: 0 }); f.show().animate(b, a.slideInSpeed, g) }, function (g) {
        var a = this.getConf(), f = a.slideOffset,
b = a.slideFade ? { opacity: 0} : {}, c = e[a.direction] || e.up, h = "" + c[0]; if (a.bounce) h = h == "+" ? "-" : "+"; b[c[1]] = h + "=" + f; this.getTip().animate(b, a.slideOutSpeed, function () { d(this).hide(); g.call() })
    })
})(jQuery);
(function (g) {
    function j(a) { var c = g(window), d = c.width() + c.scrollLeft(), h = c.height() + c.scrollTop(); return [a.offset().top <= c.scrollTop(), d <= a.offset().left + a.width(), h <= a.offset().top + a.height(), c.scrollLeft() >= a.offset().left] } function k(a) { for (var c = a.length; c--; ) if (a[c]) return false; return true } var i = g.tools.tooltip; i.dynamic = { conf: { classNames: "top right bottom left"} }; g.fn.dynamic = function (a) {
        if (typeof a == "number") a = { speed: a }; a = g.extend({}, i.dynamic.conf, a); var c = a.classNames.split(/\s/), d; this.each(function () {
            var h =
g(this).tooltip().onBeforeShow(function (e, f) {
    e = this.getTip(); var b = this.getConf(); d || (d = [b.position[0], b.position[1], b.offset[0], b.offset[1], g.extend({}, b)]); g.extend(b, d[4]); b.position = [d[0], d[1]]; b.offset = [d[2], d[3]]; e.css({ visibility: "hidden", position: "absolute", top: f.top, left: f.left }).show(); f = j(e); if (!k(f)) {
        if (f[2]) { g.extend(b, a.top); b.position[0] = "top"; e.addClass(c[0]) } if (f[3]) { g.extend(b, a.right); b.position[1] = "right"; e.addClass(c[1]) } if (f[0]) { g.extend(b, a.bottom); b.position[0] = "bottom"; e.addClass(c[2]) } if (f[1]) {
            g.extend(b,
a.left); b.position[1] = "left"; e.addClass(c[3])
        } if (f[0] || f[2]) b.offset[0] *= -1; if (f[1] || f[3]) b.offset[1] *= -1
    } e.css({ visibility: "visible" }).hide()
}); h.onBeforeShow(function () { var e = this.getConf(); this.getTip(); setTimeout(function () { e.position = [d[0], d[1]]; e.offset = [d[2], d[3]] }, 0) }); h.onHide(function () { var e = this.getTip(); e.removeClass(a.classNames) }); ret = h
        }); return a.api ? ret : this
    } 
})(jQuery);
(function (e) {
    function n(f, c) { var a = e(c); return a.length < 2 ? a : f.parent().find(c) } function t(f, c) {
        var a = this, l = f.add(a), g = f.children(), k = 0, m = c.vertical; j || (j = a); if (g.length > 1) g = e(c.items, f); e.extend(a, { getConf: function () { return c }, getIndex: function () { return k }, getSize: function () { return a.getItems().size() }, getNaviButtons: function () { return o.add(p) }, getRoot: function () { return f }, getItemWrap: function () { return g }, getItems: function () { return g.children(c.item).not("." + c.clonedClass) }, move: function (b, d) {
            return a.seekTo(k +
b, d)
        }, next: function (b) { return a.move(1, b) }, prev: function (b) { return a.move(-1, b) }, begin: function (b) { return a.seekTo(0, b) }, end: function (b) { return a.seekTo(a.getSize() - 1, b) }, focus: function () { return j = a }, addItem: function (b) { b = e(b); if (c.circular) { g.children("." + c.clonedClass + ":last").before(b); g.children("." + c.clonedClass + ":first").replaceWith(b.clone().addClass(c.clonedClass)) } else g.append(b); l.trigger("onAddItem", [b]); return a }, seekTo: function (b, d, h) {
            b.jquery || (b *= 1); if (c.circular && b === 0 && k == -1 && d !==
0) return a; if (!c.circular && b < 0 || b > a.getSize() || b < -1) return a; var i = b; if (b.jquery) b = a.getItems().index(b); else i = a.getItems().eq(b); var q = e.Event("onBeforeSeek"); if (!h) { l.trigger(q, [b, d]); if (q.isDefaultPrevented() || !i.length) return a } i = m ? { top: -i.position().top} : { left: -i.position().left }; k = b; j = a; if (d === undefined) d = c.speed; g.animate(i, d, c.easing, h || function () { l.trigger("onSeek", [b]) }); return a
        } 
        }); e.each(["onBeforeSeek", "onSeek", "onAddItem"], function (b, d) {
            e.isFunction(c[d]) && e(a).bind(d, c[d]); a[d] = function (h) {
                e(a).bind(d,
h); return a
            } 
        }); if (c.circular) { var r = a.getItems().slice(-1).clone().prependTo(g), s = a.getItems().eq(1).clone().appendTo(g); r.add(s).addClass(c.clonedClass); a.onBeforeSeek(function (b, d, h) { if (!b.isDefaultPrevented()) if (d == -1) { a.seekTo(r, h, function () { a.end(0) }); return b.preventDefault() } else d == a.getSize() && a.seekTo(s, h, function () { a.begin(0) }) }); a.seekTo(0, 0, function () { }) } var o = n(f, c.prev).click(function () { a.prev() }), p = n(f, c.next).click(function () { a.next() }); !c.circular && a.getSize() > 1 && a.onBeforeSeek(function (b,
d) { setTimeout(function () { if (!b.isDefaultPrevented()) { o.toggleClass(c.disabledClass, d <= 0); p.toggleClass(c.disabledClass, d >= a.getSize() - 1) } }, 1) }); c.mousewheel && e.fn.mousewheel && f.mousewheel(function (b, d) { if (c.mousewheel) { a.move(d < 0 ? 1 : -1, c.wheelSpeed || 50); return false } }); c.keyboard && e(document).bind("keydown.scrollable", function (b) {
    if (!(!c.keyboard || b.altKey || b.ctrlKey || e(b.target).is(":input"))) if (!(c.keyboard != "static" && j != a)) {
        var d = b.keyCode; if (m && (d == 38 || d == 40)) { a.move(d == 38 ? -1 : 1); return b.preventDefault() } if (!m &&
(d == 37 || d == 39)) { a.move(d == 37 ? -1 : 1); return b.preventDefault() } 
    } 
}); c.initialIndex && a.seekTo(c.initialIndex, 0, function () { })
    } e.tools = e.tools || { version: "1.2.4" }; e.tools.scrollable = { conf: { activeClass: "active", circular: false, clonedClass: "cloned", disabledClass: "disabled", easing: "swing", initialIndex: 0, item: null, items: ".items", keyboard: true, mousewheel: false, next: ".next", prev: ".prev", speed: 400, vertical: false, wheelSpeed: 0} }; var j; e.fn.scrollable = function (f) {
        var c = this.data("scrollable"); if (c) return c; f = e.extend({},
e.tools.scrollable.conf, f); this.each(function () { c = new t(e(this), f); e(this).data("scrollable", c) }); return f.api ? c : this
    } 
})(jQuery);
(function (c) {
    var g = c.tools.scrollable; g.autoscroll = { conf: { autoplay: true, interval: 3E3, autopause: true} }; c.fn.autoscroll = function (d) {
        if (typeof d == "number") d = { interval: d }; var b = c.extend({}, g.autoscroll.conf, d), h; this.each(function () {
            var a = c(this).data("scrollable"); if (a) h = a; var e, i, f = true; a.play = function () { if (!e) { f = false; e = setInterval(function () { a.next() }, b.interval); a.next() } }; a.pause = function () { e = clearInterval(e) }; a.stop = function () { a.pause(); f = true }; b.autopause && a.getRoot().add(a.getNaviButtons()).hover(function () {
                a.pause();
                clearInterval(i)
            }, function () { f || (i = setTimeout(a.play, b.interval)) }); b.autoplay && setTimeout(a.play, b.interval)
        }); return b.api ? h : this
    } 
})(jQuery);
(function (d) {
    function p(b, g) { var h = d(g); return h.length < 2 ? h : b.parent().find(g) } var m = d.tools.scrollable; m.navigator = { conf: { navi: ".navi", naviItem: null, activeClass: "active", indexed: false, idPrefix: null, history: false} }; d.fn.navigator = function (b) {
        if (typeof b == "string") b = { navi: b }; b = d.extend({}, m.navigator.conf, b); var g; this.each(function () {
            function h(a, c, i) { e.seekTo(c); if (j) { if (location.hash) location.hash = a.attr("href").replace("#", "") } else return i.preventDefault() } function f() {
                return k.find(b.naviItem ||
"> *")
            } function n(a) { var c = d("<" + (b.naviItem || "a") + "/>").click(function (i) { h(d(this), a, i) }).attr("href", "#" + a); a === 0 && c.addClass(l); b.indexed && c.text(a + 1); b.idPrefix && c.attr("id", b.idPrefix + a); return c.appendTo(k) } function o(a, c) { a = f().eq(c.replace("#", "")); a.length || (a = f().filter("[href=" + c + "]")); a.click() } var e = d(this).data("scrollable"), k = b.navi.jquery ? b.navi : p(e.getRoot(), b.navi), q = e.getNaviButtons(), l = b.activeClass, j = b.history && d.fn.history; if (e) g = e; e.getNaviButtons = function () { return q.add(k) };
            f().length ? f().each(function (a) { d(this).click(function (c) { h(d(this), a, c) }) }) : d.each(e.getItems(), function (a) { n(a) }); e.onBeforeSeek(function (a, c) { setTimeout(function () { if (!a.isDefaultPrevented()) { var i = f().eq(c); !a.isDefaultPrevented() && i.length && f().removeClass(l).eq(c).addClass(l) } }, 1) }); e.onAddItem(function (a, c) { c = n(e.getItems().index(c)); j && c.history(o) }); j && f().history(o)
        }); return b.api ? g : this
    } 
})(jQuery);
(function (a) {
    function t(d, b) {
        var c = this, i = d.add(c), o = a(window), k, f, m, g = a.tools.expose && (b.mask || b.expose), n = Math.random().toString().slice(10); if (g) { if (typeof g == "string") g = { color: g }; g.closeOnClick = g.closeOnEsc = false } var p = b.target || d.attr("rel"); f = p ? a(p) : d; if (!f.length) throw "Could not find Overlay: " + p; d && d.index(f) == -1 && d.click(function (e) { c.load(e); return e.preventDefault() }); a.extend(c, { load: function (e) {
            if (c.isOpened()) return c; var h = q[b.effect]; if (!h) throw 'Overlay: cannot find effect : "' + b.effect +
'"'; b.oneInstance && a.each(s, function () { this.close(e) }); e = e || a.Event(); e.type = "onBeforeLoad"; i.trigger(e); if (e.isDefaultPrevented()) return c; m = true; g && a(f).expose(g); var j = b.top, r = b.left, u = f.outerWidth({ margin: true }), v = f.outerHeight({ margin: true }); if (typeof j == "string") j = j == "center" ? Math.max((o.height() - v) / 2, 0) : parseInt(j, 10) / 100 * o.height(); if (r == "center") r = Math.max((o.width() - u) / 2, 0); h[0].call(c, { top: j, left: r }, function () { if (m) { e.type = "onLoad"; i.trigger(e) } }); g && b.closeOnClick && a.mask.getMask().one("click",
c.close); b.closeOnClick && a(document).bind("click." + n, function (l) { a(l.target).parents(f).length || c.close(l) }); b.closeOnEsc && a(document).bind("keydown." + n, function (l) { l.keyCode == 27 && c.close(l) }); return c
        }, close: function (e) { if (!c.isOpened()) return c; e = e || a.Event(); e.type = "onBeforeClose"; i.trigger(e); if (!e.isDefaultPrevented()) { m = false; q[b.effect][1].call(c, function () { e.type = "onClose"; i.trigger(e) }); a(document).unbind("click." + n).unbind("keydown." + n); g && a.mask.close(); return c } }, getOverlay: function () { return f },
            getTrigger: function () { return d }, getClosers: function () { return k }, isOpened: function () { return m }, getConf: function () { return b } 
        }); a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","), function (e, h) { a.isFunction(b[h]) && a(c).bind(h, b[h]); c[h] = function (j) { a(c).bind(h, j); return c } }); k = f.find(b.close || ".close"); if (!k.length && !b.close) { k = a('<a class="close"></a>'); f.prepend(k) } k.click(function (e) { c.close(e) }); b.load && c.load()
    } a.tools = a.tools || { version: "1.2.4" }; a.tools.overlay = { addEffect: function (d,
b, c) { q[d] = [b, c] }, conf: { close: null, closeOnClick: true, closeOnEsc: true, closeSpeed: "fast", effect: "default", fixed: !a.browser.msie || a.browser.version > 6, left: "center", load: false, mask: null, oneInstance: true, speed: "normal", target: null, top: "10%"}
    }; var s = [], q = {}; a.tools.overlay.addEffect("default", function (d, b) { var c = this.getConf(), i = a(window); if (!c.fixed) { d.top += i.scrollTop(); d.left += i.scrollLeft() } d.position = c.fixed ? "fixed" : "absolute"; this.getOverlay().css(d).fadeIn(c.speed, b) }, function (d) {
        this.getOverlay().fadeOut(this.getConf().closeSpeed,
d)
    }); a.fn.overlay = function (d) { var b = this.data("overlay"); if (b) return b; if (a.isFunction(d)) d = { onBeforeLoad: d }; d = a.extend(true, {}, a.tools.overlay.conf, d); this.each(function () { b = new t(a(this), d); s.push(b); a(this).data("overlay", b) }); return d.api ? b : this } 
})(jQuery);
(function (e) {
    function t(a, b, c) { var k = a.offset().top, f = a.offset().left, l = c.position.split(/,?\s+/), p = l[0]; l = l[1]; k -= b.outerHeight() - c.offset[0]; f += a.outerWidth() + c.offset[1]; c = b.outerHeight() + a.outerHeight(); if (p == "center") k += c / 2; if (p == "bottom") k += c; a = a.outerWidth(); if (l == "center") f -= (a + b.outerWidth()) / 2; if (l == "left") f -= a; return { top: k, left: f} } function x(a) { function b() { return this.getAttribute("type") == a } b.key = "[type=" + a + "]"; return b } function u(a, b, c) {
        function k(g, d, j) {
            if (!(!c.grouped && g.length)) {
                var h;
                if (j === false || e.isArray(j)) { h = i.messages[d.key || d] || i.messages["*"]; h = h[c.lang] || i.messages["*"].en; (d = h.match(/\$\d/g)) && e.isArray(j) && e.each(d, function (n) { h = h.replace(this, j[n]) }) } else h = j[c.lang] || j; g.push(h)
            } 
        } var f = this, l = b.add(f); a = a.not(":button, :image, :reset, :submit"); e.extend(f, { getConf: function () { return c }, getForm: function () { return b }, getInputs: function () { return a }, reflow: function () { a.each(function () { var g = e(this), d = g.data("msg.el"); if (d) { g = t(g, d, c); d.css({ top: g.top, left: g.left }) } }); return f },
            invalidate: function (g, d) { if (!d) { var j = []; e.each(g, function (h, n) { h = a.filter("[name='" + h + "']"); if (h.length) { h.trigger("OI", [n]); j.push({ input: h, messages: [n] }) } }); g = j; d = e.Event() } d.type = "onFail"; l.trigger(d, [g]); d.isDefaultPrevented() || r[c.effect][0].call(f, g, d); return f }, reset: function (g) { g = g || a; g.removeClass(c.errorClass).each(function () { var d = e(this).data("msg.el"); if (d) { d.remove(); e(this).data("msg.el", null) } }).unbind(c.errorInputEvent || ""); return f }, destroy: function () {
                b.unbind(c.formEvent).unbind("reset.V");
                a.unbind(c.inputEvent || "").unbind("change.V"); return f.reset()
            }, checkValidity: function (g, d) {
                g = g || a; g = g.not(":disabled"); if (!g.length) return true; d = d || e.Event(); d.type = "onBeforeValidate"; l.trigger(d, [g]); if (d.isDefaultPrevented()) return d.result; var j = [], h = c.errorInputEvent + ".v"; g.not(":radio:not(:checked)").each(function () {
                    var q = [], m = e(this).unbind(h).data("messages", q); e.each(v, function () {
                        var o = this, s = o[0]; if (m.filter(s).length) {
                            o = o[1].call(f, m, m.val()); if (o !== true) {
                                d.type = "onBeforeFail"; l.trigger(d,
[m, s]); if (d.isDefaultPrevented()) return false; var w = m.attr(c.messageAttr); if (w) { q = [w]; return false } else k(q, s, o)
                            } 
                        } 
                    }); if (q.length) { j.push({ input: m, messages: q }); m.trigger("OI", [q]); c.errorInputEvent && m.bind(h, function (o) { f.checkValidity(m, o) }) } if (c.singleError && j.length) return false
                }); var n = r[c.effect]; if (!n) throw 'Validator: cannot find effect "' + c.effect + '"'; if (j.length) { f.invalidate(j, d); return false } else { n[1].call(f, g, d); d.type = "onSuccess"; l.trigger(d, [g]); g.unbind(h) } return true
            } 
        }); e.each("onBeforeValidate,onBeforeFail,onFail,onSuccess".split(","),
function (g, d) { e.isFunction(c[d]) && e(f).bind(d, c[d]); f[d] = function (j) { e(f).bind(d, j); return f } }); c.formEvent && b.bind(c.formEvent, function (g) { if (!f.checkValidity(null, g)) return g.preventDefault() }); b.bind("reset.V", function () { f.reset() }); a[0] && a[0].validity && a.each(function () { this.oninvalid = function () { return false } }); if (b[0]) b[0].checkValidity = f.checkValidity; c.inputEvent && a.bind(c.inputEvent, function (g) { f.checkValidity(e(this), g) }); a.filter(":checkbox, select").filter("[required]").bind("change.V",
function (g) { var d = e(this); if (this.checked || d.is("select") && e(this).val()) r[c.effect][1].call(f, d, g) }); var p = a.filter(":radio").change(function (g) { f.checkValidity(p, g) }); e(window).resize(function () { f.reflow() })
    } e.tools = e.tools || { version: "1.2.4" }; var y = /\[type=([a-z]+)\]/, z = /^-?[0-9]*(\.[0-9]+)?$/, A = /^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i, B = /^(https?:\/\/)?[\da-z\.\-]+\.[a-z\.]{2,6}[#\?\/\w \.\-=]*$/i, i; i = e.tools.validator = { conf: { grouped: false, effect: "default", errorClass: "invalid", inputEvent: null,
        errorInputEvent: "keyup", formEvent: "submit", lang: "en", message: "<div/>", messageAttr: "data-message", messageClass: "error", offset: [0, 0], position: "center right", singleError: false, speed: "normal"
    }, messages: { "*": { en: "Please correct this value"} }, localize: function (a, b) { e.each(b, function (c, k) { i.messages[c] = i.messages[c] || {}; i.messages[c][a] = k }) }, localizeFn: function (a, b) { i.messages[a] = i.messages[a] || {}; e.extend(i.messages[a], b) }, fn: function (a, b, c) {
        if (e.isFunction(b)) c = b; else {
            if (typeof b == "string") b = { en: b }; this.messages[a.key ||
a] = b
        } if (b = y.exec(a)) a = x(b[1]); v.push([a, c])
    }, addEffect: function (a, b, c) { r[a] = [b, c] } 
    }; var v = [], r = { "default": [function (a) {
        var b = this.getConf(); e.each(a, function (c, k) {
            c = k.input; c.addClass(b.errorClass); var f = c.data("msg.el"); if (!f) { f = e(b.message).addClass(b.messageClass).appendTo(document.body); c.data("msg.el", f) } f.css({ visibility: "hidden", display: "none" }).find("span").remove(); e.each(k.messages, function (l, p) { e("<span/>").html(p).appendTo(f) }); f.outerWidth() == f.parent().width() && f.add(f.find("p")).css({ display: "inline" });
            k = t(c, f, b); f.css({ visibility: "visible", position: "absolute", top: k.top, left: k.left }).fadeIn(b.speed)
        })
    }, function (a) { var b = this.getConf(); a.removeClass(b.errorClass).each(function () { var c = e(this).data("msg.el"); c && c.css({ visibility: "hidden" }) }) } ]
    }; e.each("email,url,number".split(","), function (a, b) { e.expr[":"][b] = function (c) { return c.getAttribute("type") === b } }); e.fn.oninvalid = function (a) { return this[a ? "bind" : "trigger"]("OI", a) }; i.fn(":email", "Please enter a valid email address", function (a, b) {
        return !b ||
A.test(b)
    }); i.fn(":url", "Please enter a valid URL", function (a, b) { return !b || B.test(b) }); i.fn(":number", "Please enter a numeric value.", function (a, b) { return z.test(b) }); i.fn("[max]", "Please enter a value smaller than $1", function (a, b) { if (b === "" || e.tools.dateinput && a.is(":date")) return true; a = a.attr("max"); return parseFloat(b) <= parseFloat(a) ? true : [a] }); i.fn("[min]", "Please enter a value larger than $1", function (a, b) {
        if (b === "" || e.tools.dateinput && a.is(":date")) return true; a = a.attr("min"); return parseFloat(b) >=
parseFloat(a) ? true : [a]
    }); i.fn("[required]", "Please complete this mandatory field.", function (a, b) { if (a.is(":checkbox")) return a.is(":checked"); return !!b }); i.fn("[pattern]", function (a) { var b = new RegExp("^" + a.attr("pattern") + "$"); return b.test(a.val()) }); e.fn.validator = function (a) {
        var b = this.data("validator"); if (b) { b.destroy(); this.removeData("validator") } a = e.extend(true, {}, i.conf, a); if (this.is("form")) return this.each(function () { var c = e(this); b = new u(c.find(":input"), c, a); c.data("validator", b) }); else {
            b =
new u(this, this.eq(0).closest("form"), a); return this.data("validator", b)
        } 
    } 
})(jQuery);
(function (b) {
    function k() { if (b.browser.msie) { var a = b(document).height(), d = b(window).height(); return [window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, a - d < 20 ? d : a] } return [b(document).width(), b(document).height()] } function h(a) { if (a) return a.call(b.mask) } b.tools = b.tools || { version: "1.2.4" }; var l; l = b.tools.expose = { conf: { maskId: "exposeMask", loadSpeed: "slow", closeSpeed: "fast", closeOnClick: true, closeOnEsc: true, zIndex: 9998, opacity: 0.8, startOpacity: 0, color: "#fff", onLoad: null,
        onClose: null
    }
    }; var c, i, e, g, j; b.mask = { load: function (a, d) {
        if (e) return this; if (typeof a == "string") a = { color: a }; a = a || g; g = a = b.extend(b.extend({}, l.conf), a); c = b("#" + a.maskId); if (!c.length) { c = b("<div/>").attr("id", a.maskId); b("body").append(c) } var m = k(); c.css({ position: "absolute", top: 0, left: 0, width: m[0], height: m[1], display: "none", opacity: a.startOpacity, zIndex: a.zIndex }); a.color && c.css("backgroundColor", a.color); if (h(a.onBeforeLoad) === false) return this; a.closeOnEsc && b(document).bind("keydown.mask", function (f) {
            f.keyCode ==
27 && b.mask.close(f)
        }); a.closeOnClick && c.bind("click.mask", function (f) { b.mask.close(f) }); b(window).bind("resize.mask", function () { b.mask.fit() }); if (d && d.length) { j = d.eq(0).css("zIndex"); b.each(d, function () { var f = b(this); /relative|absolute|fixed/i.test(f.css("position")) || f.css("position", "relative") }); i = d.css({ zIndex: Math.max(a.zIndex + 1, j == "auto" ? 0 : j) }) } c.css({ display: "block" }).fadeTo(a.loadSpeed, a.opacity, function () { b.mask.fit(); h(a.onLoad); e = "full" }); e = true; return this
    }, close: function () {
        if (e) {
            if (h(g.onBeforeClose) ===
false) return this; c.fadeOut(g.closeSpeed, function () { h(g.onClose); i && i.css({ zIndex: j }); e = false }); b(document).unbind("keydown.mask"); c.unbind("click.mask"); b(window).unbind("resize.mask")
        } return this
    }, fit: function () { if (e) { var a = k(); c.css({ width: a[0], height: a[1] }) } }, getMask: function () { return c }, isLoaded: function (a) { return a ? e == "full" : e }, getConf: function () { return g }, getExposed: function () { return i } 
    }; b.fn.mask = function (a) { b.mask.load(a); return this }; b.fn.expose = function (a) { b.mask.load(a, this); return this } 
})(jQuery);
(function (b) {
    function c(a) { switch (a.type) { case "mousemove": return b.extend(a.data, { clientX: a.clientX, clientY: a.clientY, pageX: a.pageX, pageY: a.pageY }); case "DOMMouseScroll": b.extend(a, a.data); a.delta = -a.detail / 3; break; case "mousewheel": a.delta = a.wheelDelta / 120; break } a.type = "wheel"; return b.event.handle.call(this, a, a.delta) } b.fn.mousewheel = function (a) { return this[a ? "bind" : "trigger"]("wheel", a) }; b.event.special.wheel = { setup: function () { b.event.add(this, d, c, {}) }, teardown: function () {
        b.event.remove(this,
d, c)
    } 
    }; var d = !b.browser.mozilla ? "mousewheel" : "DOMMouseScroll" + (b.browser.version < "1.9" ? " mousemove" : "")
})(jQuery);

