/* 
* Placeholder plugin for jQuery
* @author Daniel Stocks (http://webcloud.se)
* @version 0.2
*/
(function ($) { function Placeholder(input) { if (input.attr('type') == 'password') { input.attr('realType', 'password'); this.isPassword = true } this.input = input; this.fakePassword = $('<input class="placeholder">').val(input.attr('placeholder')).focus(function () { input.trigger("focus"); $(this).hide() }) } Placeholder.prototype = { show: function (loading) { if (this.input[0].value === '' || (loading && this.valueIsPlaceholder())) { if (this.isPassword) { try { this.input[0].setAttribute('type', 'text') } catch (e) { this.input.before(this.fakePassword.show()).hide() } } this.input[0].value = this.input.attr('placeholder'); this.input.addClass('placeholder') } }, hide: function () { if (this.valueIsPlaceholder() && this.input.hasClass('placeholder')) { if (this.isPassword) { try { this.input[0].setAttribute('type', 'password') } catch (e) { } this.input.show(); this.input[0].focus() } this.input[0].value = ''; this.input.removeClass('placeholder') } }, valueIsPlaceholder: function () { return this.input[0].value == this.input.attr('placeholder') } }; var supported = !!("placeholder" in document.createElement("input")); $.fn.extend({ placeholder: function () { return this.each(function () { if (!supported) { var input = $(this); var placeholder = new Placeholder(input); placeholder.show(true); input.focus(function () { placeholder.hide() }); input.blur(function () { placeholder.show(false) }) } }) } }) })(jQuery);


/**
* jQuery.ScrollTo - Easy element scrolling using jQuery.
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 5/25/2009
* @author Ariel Flesler
* @version 1.4.2
*
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
*/
; (function (d) { var k = d.scrollTo = function (a, i, e) { d(window).scrollTo(a, i, e) }; k.defaults = { axis: 'xy', duration: parseFloat(d.fn.jquery) >= 1.3 ? 0 : 1 }; k.window = function (a) { return d(window)._scrollable() }; d.fn._scrollable = function () { return this.map(function () { var a = this, i = !a.nodeName || d.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; if (!i) return a; var e = (a.contentWindow || a).document || a.ownerDocument || a; return d.browser.safari || e.compatMode == 'BackCompat' ? e.body : e.documentElement }) }; d.fn.scrollTo = function (n, j, b) { if (typeof j == 'object') { b = j; j = 0 } if (typeof b == 'function') b = { onAfter: b }; if (n == 'max') n = 9e9; b = d.extend({}, k.defaults, b); j = j || b.speed || b.duration; b.queue = b.queue && b.axis.length > 1; if (b.queue) j /= 2; b.offset = p(b.offset); b.over = p(b.over); return this._scrollable().each(function () { var q = this, r = d(q), f = n, s, g = {}, u = r.is('html,body'); switch (typeof f) { case 'number': case 'string': if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)) { f = p(f); break } f = d(f, this); case 'object': if (f.is || f.style) s = (f = d(f)).offset() } d.each(b.axis.split(''), function (a, i) { var e = i == 'x' ? 'Left' : 'Top', h = e.toLowerCase(), c = 'scroll' + e, l = q[c], m = k.max(q, i); if (s) { g[c] = s[h] + (u ? 0 : l - r.offset()[h]); if (b.margin) { g[c] -= parseInt(f.css('margin' + e)) || 0; g[c] -= parseInt(f.css('border' + e + 'Width')) || 0 } g[c] += b.offset[h] || 0; if (b.over[h]) g[c] += f[i == 'x' ? 'width' : 'height']() * b.over[h] } else { var o = f[h]; g[c] = o.slice && o.slice(-1) == '%' ? parseFloat(o) / 100 * m : o } if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], m); if (!a && b.queue) { if (l != g[c]) t(b.onAfterFirst); delete g[c] } }); t(b.onAfter); function t(a) { r.animate(g, j, b.easing, a && function () { a.call(this, n, b) }) } }).end() }; k.max = function (a, i) { var e = i == 'x' ? 'Width' : 'Height', h = 'scroll' + e; if (!d(a).is('html,body')) return a[h] - d(a)[e.toLowerCase()](); var c = 'client' + e, l = a.ownerDocument.documentElement, m = a.ownerDocument.body; return Math.max(l[h], m[h]) - Math.min(l[c], m[c]) }; function p(a) { return typeof a == 'object' ? a : { top: a, left: a} } })(jQuery);



/*
* jQuery Tools 1.2.5 - The missing UI library for the Web
* 
* [tooltip, overlay, validator, toolbox.expose]
* 
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
* 
* http://flowplayer.org/tools/
* 
* File generated: Wed Sep 22 11:48:35 GMT 2010
*/
(function (f) {
    function p(a, b, c) { var h = c.relative ? a.position().top : a.offset().top, d = c.relative ? a.position().left : a.offset().left, i = c.position[0]; h -= b.outerHeight() - c.offset[0]; d += a.outerWidth() + c.offset[1]; if (/iPad/i.test(navigator.userAgent)) h -= f(window).scrollTop(); 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") d -= a / 2; if (i == "left") d -= a; return { top: h, left: d} } function u(a, b) {
        var c = this, h = a.add(c), d, i = 0, j =
0, m = a.attr("title"), q = a.attr("data-tooltip"), r = o[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 (e) { clearTimeout(i); if (b.predelay) j = setTimeout(function () { c.show(e) }, b.predelay); else c.show(e) }).bind(k[1], function (e) {
    clearTimeout(j); if (b.delay) i =
setTimeout(function () { c.hide(e) }, b.delay); else c.hide(e)
}); if (m && b.cancelDefault) { a.removeAttr("title"); a.data("title", m) } f.extend(c, { show: function (e) {
    if (!d) { if (q) d = f(q); else if (b.tip) d = f(b.tip).eq(0); else if (m) d = f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m); else { d = a.next(); d.length || (d = a.parent().next()) } if (!d.length) throw "Cannot find tooltip for " + a; } if (c.isShown()) return c; d.stop(true, true); var g = p(a, d, b); b.tip && d.html(a.data("title")); e = e || f.Event(); e.type = "onBeforeShow";
    h.trigger(e, [g]); if (e.isDefaultPrevented()) return c; g = p(a, d, b); d.css({ position: "absolute", top: g.top, left: g.left }); l = true; r[0].call(c, function () { e.type = "onShow"; l = "full"; h.trigger(e) }); g = b.events.tooltip.split(/,\s*/); if (!d.data("__set")) { d.bind(g[0], function () { clearTimeout(i); clearTimeout(j) }); g[1] && !a.is("input:not(:checkbox, :radio), textarea") && d.bind(g[1], function (n) { n.relatedTarget != a[0] && a.trigger(k[1].split(" ")[0]) }); d.data("__set", true) } return c
}, hide: function (e) {
    if (!d || !c.isShown()) return c;
    e = e || f.Event(); e.type = "onBeforeHide"; h.trigger(e); if (!e.isDefaultPrevented()) { l = false; o[b.effect][1].call(c, function () { e.type = "onHide"; h.trigger(e) }); return c } 
}, isShown: function (e) { return e ? l == "full" : l }, getConf: function () { return b }, getTip: function () { return d }, getTrigger: function () { return a } 
}); f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function (e, g) { f.isFunction(b[g]) && f(c).bind(g, b[g]); c[g] = function (n) { n && f(c).bind(g, n); return c } })
    } f.tools = f.tools || { version: "1.2.5" }; 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) { o[a] = [b, c] } }; var o = { 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 (a) {
    function t(d, b) {
        var c = this, j = 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"; j.trigger(e); if (e.isDefaultPrevented()) return c; m = true; g && a(f).expose(g); var i = b.top, r = b.left, u = f.outerWidth({ margin: true }), v = f.outerHeight({ margin: true }); if (typeof i == "string") i = i == "center" ? Math.max((o.height() - v) / 2, 0) : parseInt(i, 10) / 100 * o.height(); if (r == "center") r = Math.max((o.width() - u) / 2, 0); h[0].call(c, { top: i, left: r }, function () { if (m) { e.type = "onLoad"; j.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"; j.trigger(e); if (!e.isDefaultPrevented()) { m = false; q[b.effect][1].call(c, function () { e.type = "onClose"; j.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 (i) { i && a(c).bind(h, i); 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.5" }; 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(), j = a(window); if (!c.fixed) { d.top += j.scrollTop(); d.left += j.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]; if (/iPad/i.test(navigator.userAgent)) k -= e(window).scrollTop(); 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 y(a) { function b() { return this.getAttribute("type") == a } b.key = "[type=" + a + "]"; return b } function u(a,
b, c) {
        function k(g, d, i) { if (!(!c.grouped && g.length)) { var j; if (i === false || e.isArray(i)) { j = h.messages[d.key || d] || h.messages["*"]; j = j[c.lang] || h.messages["*"].en; (d = j.match(/\$\d/g)) && e.isArray(i) && e.each(d, function (m) { j = j.replace(this, i[m]) }) } else j = i[c.lang] || i; g.push(j) } } 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 i = []; e.each(g, function (j, m) { j = a.filter("[name='" + j + "']"); if (j.length) { j.trigger("OI", [m]); i.push({ input: j, messages: [m] }) } }); g = i; d = e.Event() } d.type = "onFail"; l.trigger(d, [g]); d.isDefaultPrevented() || q[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 + ".V").unbind("reset.V"); a.unbind(c.inputEvent + ".V").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 i = []; g.not(":radio:not(:checked)").each(function () {
                var m = [], n = e(this).data("messages", m), v = r && n.is(":date") ? "onHide.v" : c.errorInputEvent + ".v"; n.unbind(v); e.each(w, function () {
                    var o =
this, s = o[0]; if (n.filter(s).length) { o = o[1].call(f, n, n.val()); if (o !== true) { d.type = "onBeforeFail"; l.trigger(d, [n, s]); if (d.isDefaultPrevented()) return false; var x = n.attr(c.messageAttr); if (x) { m = [x]; return false } else k(m, s, o) } } 
                }); if (m.length) { i.push({ input: n, messages: m }); n.trigger("OI", [m]); c.errorInputEvent && n.bind(v, function (o) { f.checkValidity(n, o) }) } if (c.singleError && i.length) return false
            }); var j = q[c.effect]; if (!j) throw 'Validator: cannot find effect "' + c.effect + '"'; if (i.length) { f.invalidate(i, d); return false } else {
                j[1].call(f,
g, d); d.type = "onSuccess"; l.trigger(d, [g]); g.unbind(c.errorInputEvent + ".v")
            } 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 (i) { i && e(f).bind(d, i); return f } }); c.formEvent && b.bind(c.formEvent + ".V", 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 + ".V", 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()) q[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.5" }; var z = /\[type=([a-z]+)\]/, A = /^-?[0-9]*(\.[0-9]+)?$/, r = e.tools.dateinput, B = /^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i,
C = /^(https?:\/\/)?[\da-z\.\-]+\.[a-z\.]{2,6}[#&+_\?\/\w \.\-=]*$/i, h; h = 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) { h.messages[c] = h.messages[c] || {}; h.messages[c][a] = k }) },
    localizeFn: function (a, b) { h.messages[a] = h.messages[a] || {}; e.extend(h.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 = z.exec(a)) a = y(b[1]); w.push([a, c]) }, addEffect: function (a, b, c) { q[a] = [b, c] } 
}; var w = [], q = { "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" }).find("p").remove();
        e.each(k.messages, function (l, p) { e("<p/>").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) }; h.fn(":email", "Please enter a valid email address", function (a, b) { return !b || B.test(b) }); h.fn(":url", "Please enter a valid URL", function (a, b) { return !b || C.test(b) }); h.fn(":number", "Please enter a numeric value.", function (a, b) { return A.test(b) }); h.fn("[max]", "Please enter a value smaller than $1", function (a, b) { if (b === "" || r && a.is(":date")) return true; a = a.attr("max"); return parseFloat(b) <= parseFloat(a) ? true : [a] }); h.fn("[min]", "Please enter a value larger than $1",
function (a, b) { if (b === "" || r && a.is(":date")) return true; a = a.attr("min"); return parseFloat(b) >= parseFloat(a) ? true : [a] }); h.fn("[required]", "Please complete this mandatory field.", function (a, b) { if (a.is(":checkbox")) return a.is(":checked"); return !!b }); h.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, {}, h.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.5" }; 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);



/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function ($) { $.fn.hoverIntent = function (f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function (e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);




/*jslint browser: true */ /*global jQuery: true */

/**
* jQuery Cookie plugin
*
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/

// TODO JsDoc

jQuery.cookie = function (key, value, options) { if (arguments.length > 1 && (value === null || typeof value !== "object")) { options = jQuery.extend({}, options); if (value === null) { options.expires = -1 } if (typeof options.expires === 'number') { var days = options.expires, t = options.expires = new Date(); t.setDate(t.getDate() + days) } return (document.cookie = [encodeURIComponent(key), '=', options.raw ? String(value) : encodeURIComponent(String(value)), options.expires ? '; expires=' + options.expires.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join('')) } options = value || {}; var result, decode = options.raw ? function (s) { return s } : decodeURIComponent; return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null };
