// ColorBox v1.3.19 - jQuery lightbox plugin
// (c) 2011 Jack Moore - jacklmoore.com
// License: http://www.opensource.org/licenses/mit-license.php
(function (a, b, c) {
    function Z(c, d, e) {
        var g = b.createElement(c);
        return d && (g.id = f + d), e && (g.style.cssText = e), a(g)
    }

    function $(a) {
        var b = y.length,
            c = (Q + a) % b;
        return c < 0 ? b + c : c
    }

    function _(a, b) {
        return Math.round((/%/.test(a) ? (b === "x" ? z.width() : z.height()) / 100 : 1) * parseInt(a, 10))
    }

    function ba(a) {
        return K.photo || /\.(gif|png|jpe?g|bmp|ico)((#|\?).*)?$/i.test(a)
    }

    function bb() {
        var b;
        K = a.extend({}, a.data(P, e));
        for (b in K) a.isFunction(K[b]) && b.slice(0, 2) !== "on" && (K[b] = K[b].call(P));
        K.rel = K.rel || P.rel || "nofollow", K.href = K.href || a(P).attr("href"), K.title = K.title || P.title, typeof K.href == "string" && (K.href = a.trim(K.href))
    }

    function bc(b, c) {
        a.event.trigger(b), c && c.call(P)
    }

    function bd() {
        var a, b = f + "Slideshow_",
            c = "click." + f,
            d, e, g;
        K.slideshow && y[1] ? (d = function () {
            F.text(K.slideshowStop).unbind(c).bind(j, function () {
                if (K.loop || y[Q + 1]) a = setTimeout(W.next, K.slideshowSpeed)
            }).bind(i, function () {
                clearTimeout(a)
            }).one(c + " " + k, e), r.removeClass(b + "off").addClass(b + "on"), a = setTimeout(W.next, K.slideshowSpeed)
        }, e = function () {
            clearTimeout(a), F.text(K.slideshowStart).unbind([j, i, k, c].join(" ")).one(c, function () {
                W.next(), d()
            }), r.removeClass(b + "on").addClass(b + "off")
        }, K.slideshowAuto ? d() : e()) : r.removeClass(b + "off " + b + "on")
    }

    function be(b) {
        U || (P = b, bb(), y = a(P), Q = 0, K.rel !== "nofollow" && (y = a("." + g).filter(function () {
            var b = a.data(this, e).rel || this.rel;
            return b === K.rel
        }), Q = y.index(P), Q === -1 && (y = y.add(P), Q = y.length - 1)), S || (S = T = !0, r.show(), K.returnFocus && a(P).blur().one(l, function () {
            a(this).focus()
        }), q.css({
            opacity: +K.opacity,
            cursor: K.overlayClose ? "pointer" : "auto"
        }).show(), K.w = _(K.initialWidth, "x"), K.h = _(K.initialHeight, "y"), W.position(), o && z.bind("resize." + p + " scroll." + p, function () {
            q.css({
                width: z.width(),
                height: z.height(),
                top: z.scrollTop(),
                left: z.scrollLeft()
            })
        }).trigger("resize." + p), bc(h, K.onOpen), J.add(D).hide(), I.html(K.close).show()), W.load(!0))
    }

    function bf() {
        !r && b.body && (Y = !1, z = a(c), r = Z(X).attr({
            id: e,
            "class": n ? f + (o ? "IE6" : "IE") : ""
        }).hide(), q = Z(X, "Overlay", o ? "position:absolute" : "").hide(), s = Z(X, "Wrapper"), t = Z(X, "Content").append(A = Z(X, "LoadedContent", "width:0; height:0; overflow:hidden"), C = Z(X, "LoadingOverlay").add(Z(X, "LoadingGraphic")), D = Z(X, "Title"), E = Z(X, "Current"), G = Z(X, "Next"), H = Z(X, "Previous"), F = Z(X, "Slideshow").bind(h, bd), I = Z(X, "Close")), s.append(Z(X).append(Z(X, "TopLeft"), u = Z(X, "TopCenter"), Z(X, "TopRight")), Z(X, !1, "clear:left").append(v = Z(X, "MiddleLeft"), t, w = Z(X, "MiddleRight")), Z(X, !1, "clear:left").append(Z(X, "BottomLeft"), x = Z(X, "BottomCenter"), Z(X, "BottomRight"))).find("div div").css({
            "float": "left"
        }), B = Z(X, !1, "position:absolute; width:9999px; visibility:hidden;"), J = G.add(H).add(E).add(F), a(b.body).append(q, r.append(s, B)))
    }

    function bg() {
        return r ? (Y || (Y = !0, L = u.height() + x.height() + t.outerHeight(!0) - t.height(), M = v.width() + w.width() + t.outerWidth(!0) - t.width(), N = A.outerHeight(!0), O = A.outerWidth(!0), r.css({
            "padding-bottom": L,
            "padding-right": M
        }), G.click(function () {
            W.next()
        }), H.click(function () {
            W.prev()
        }), I.click(function () {
            W.close()
        }), q.click(function () {
            K.overlayClose && W.close()
        }), a(b).bind("keydown." + f, function (a) {
            var b = a.keyCode;
            S && K.escKey && b === 27 && (a.preventDefault(), W.close()), S && K.arrowKey && y[1] && (b === 37 ? (a.preventDefault(), H.click()) : b === 39 && (a.preventDefault(), G.click()))
        }), a("." + g, b).live("click", function (a) {
            a.which > 1 || a.shiftKey || a.altKey || a.metaKey || (a.preventDefault(), be(this))
        })), !0) : !1
    }
    var d = {
        transition: "elastic",
        speed: 300,
        width: !1,
        initialWidth: "600",
        innerWidth: !1,
        maxWidth: !1,
        height: !1,
        initialHeight: "450",
        innerHeight: !1,
        maxHeight: !1,
        scalePhotos: !0,
        scrolling: !0,
        inline: !1,
        html: !1,
        iframe: !1,
        fastIframe: !0,
        photo: !1,
        href: !1,
        title: !1,
        rel: !1,
        opacity: .9,
        preloading: !0,
        current: "image {current} of {total}",
        previous: "previous",
        next: "next",
        close: "close",
        open: !1,
        returnFocus: !0,
        reposition: !0,
        loop: !0,
        slideshow: !1,
        slideshowAuto: !0,
        slideshowSpeed: 2500,
        slideshowStart: "start slideshow",
        slideshowStop: "stop slideshow",
        onOpen: !1,
        onLoad: !1,
        onComplete: !1,
        onCleanup: !1,
        onClosed: !1,
        overlayClose: !0,
        escKey: !0,
        arrowKey: !0,
        top: !1,
        bottom: !1,
        left: !1,
        right: !1,
        fixed: !1,
        data: undefined
    },
        e = "colorbox",
        f = "cbox",
        g = f + "Element",
        h = f + "_open",
        i = f + "_load",
        j = f + "_complete",
        k = f + "_cleanup",
        l = f + "_closed",
        m = f + "_purge",
        n = !a.support.opacity && !a.support.style,
        o = n && !c.XMLHttpRequest,
        p = f + "_IE6",
        q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X = "div",
        Y;
    if (a.colorbox) return;
    a(bf), W = a.fn[e] = a[e] = function (b, c) {
        var f = this;
        b = b || {}, bf();
        if (bg()) {
            if (!f[0]) {
                if (f.selector) return f;
                f = a("<a/>"), b.open = !0
            }
            c && (b.onComplete = c), f.each(function () {
                a.data(this, e, a.extend({}, a.data(this, e) || d, b))
            }).addClass(g), (a.isFunction(b.open) && b.open.call(f) || b.open) && be(f[0])
        }
        return f
    }, W.position = function (a, b) {
        function i(a) {
            u[0].style.width = x[0].style.width = t[0].style.width = a.style.width, t[0].style.height = v[0].style.height = w[0].style.height = a.style.height
        }
        var c = 0,
            d = 0,
            e = r.offset(),
            g = z.scrollTop(),
            h = z.scrollLeft();
        z.unbind("resize." + f), r.css({
            top: -9e4,
            left: -9e4
        }), K.fixed && !o ? (e.top -= g, e.left -= h, r.css({
            position: "fixed"
        })) : (c = g, d = h, r.css({
            position: "absolute"
        })), K.right !== !1 ? d += Math.max(z.width() - K.w - O - M - _(K.right, "x"), 0) : K.left !== !1 ? d += _(K.left, "x") : d += Math.round(Math.max(z.width() - K.w - O - M, 0) / 2), K.bottom !== !1 ? c += Math.max(z.height() - K.h - N - L - _(K.bottom, "y"), 0) : K.top !== !1 ? c += _(K.top, "y") : c += Math.round(Math.max(z.height() - K.h - N - L, 0) / 2), r.css({
            top: e.top,
            left: e.left
        }), a = r.width() === K.w + O && r.height() === K.h + N ? 0 : a || 0, s[0].style.width = s[0].style.height = "9999px", r.dequeue().animate({
            width: K.w + O,
            height: K.h + N,
            top: c,
            left: d
        }, {
            duration: a,
            complete: function () {
                i(this), T = !1, s[0].style.width = K.w + O + M + "px", s[0].style.height = K.h + N + L + "px", K.reposition && setTimeout(function () {
                    z.bind("resize." + f, W.position)
                }, 1), b && b()
            },
            step: function () {
                i(this)
            }
        })
    }, W.resize = function (a) {
        S && (a = a || {}, a.width && (K.w = _(a.width, "x") - O - M), a.innerWidth && (K.w = _(a.innerWidth, "x")), A.css({
            width: K.w
        }), a.height && (K.h = _(a.height, "y") - N - L), a.innerHeight && (K.h = _(a.innerHeight, "y")), !a.innerHeight && !a.height && (A.css({
            height: "auto"
        }), K.h = A.height()), A.css({
            height: K.h
        }), W.position(K.transition === "none" ? 0 : K.speed))
    }, W.prep = function (b) {
        function g() {
            return K.w = K.w || A.width(), K.w = K.mw && K.mw < K.w ? K.mw : K.w, K.w
        }

        function h() {
            return K.h = K.h || A.height(), K.h = K.mh && K.mh < K.h ? K.mh : K.h, K.h
        }
        if (!S) return;
        var c, d = K.transition === "none" ? 0 : K.speed;
        A.remove(), A = Z(X, "LoadedContent").append(b), A.hide().appendTo(B.show()).css({
            width: g(),
            overflow: K.scrolling ? "auto" : "hidden"
        }).css({
            height: h()
        }).prependTo(t), B.hide(), a(R).css({
            "float": "none"
        }), o && a("select").not(r.find("select")).filter(function () {
            return this.style.visibility !== "hidden"
        }).css({
            visibility: "hidden"
        }).one(k, function () {
            this.style.visibility = "inherit"
        }), c = function () {
            function q() {
                n && r[0].style.removeAttribute("filter")
            }
            var b, c, g = y.length,
                h, i = "frameBorder",
                k = "allowTransparency",
                l, o, p;
            if (!S) return;
            l = function () {
                clearTimeout(V), C.hide(), bc(j, K.onComplete)
            }, n && R && A.fadeIn(100), D.html(K.title).add(A).show();
            if (g > 1) {
                typeof K.current == "string" && E.html(K.current.replace("{current}", Q + 1).replace("{total}", g)).show(), G[K.loop || Q < g - 1 ? "show" : "hide"]().html(K.next), H[K.loop || Q ? "show" : "hide"]().html(K.previous), K.slideshow && F.show();
                if (K.preloading) {
                    b = [$(-1), $(1)];
                    while (c = y[b.pop()]) o = a.data(c, e).href || c.href, a.isFunction(o) && (o = o.call(c)), ba(o) && (p = new Image, p.src = o)
                }
            } else J.hide();
            K.iframe ? (h = Z("iframe")[0], i in h && (h[i] = 0), k in h && (h[k] = "true"), h.name = f + +(new Date), K.fastIframe ? l() : a(h).one("load", l), h.src = K.href, K.scrolling || (h.scrolling = "no"), a(h).addClass(f + "Iframe").appendTo(A).one(m, function () {
                h.src = "//about:blank"
            })) : l(), K.transition === "fade" ? r.fadeTo(d, 1, q) : q()
        }, K.transition === "fade" ? r.fadeTo(d, 0, function () {
            W.position(0, c)
        }) : W.position(d, c)
    }, W.load = function (b) {
        var c, d, e = W.prep;
        T = !0, R = !1, P = y[Q], b || bb(), bc(m), bc(i, K.onLoad), K.h = K.height ? _(K.height, "y") - N - L : K.innerHeight && _(K.innerHeight, "y"), K.w = K.width ? _(K.width, "x") - O - M : K.innerWidth && _(K.innerWidth, "x"), K.mw = K.w, K.mh = K.h, K.maxWidth && (K.mw = _(K.maxWidth, "x") - O - M, K.mw = K.w && K.w < K.mw ? K.w : K.mw), K.maxHeight && (K.mh = _(K.maxHeight, "y") - N - L, K.mh = K.h && K.h < K.mh ? K.h : K.mh), c = K.href, V = setTimeout(function () {
            C.show()
        }, 100), K.inline ? (Z(X).hide().insertBefore(a(c)[0]).one(m, function () {
            a(this).replaceWith(A.children())
        }), e(a(c))) : K.iframe ? e(" ") : K.html ? e(K.html) : ba(c) ? (a(R = new Image).addClass(f + "Photo").error(function () {
            K.title = !1, e(Z(X, "Error").text("This image could not be loaded"))
        }).load(function () {
            var a;
            R.onload = null, K.scalePhotos && (d = function () {
                R.height -= R.height * a, R.width -= R.width * a
            }, K.mw && R.width > K.mw && (a = (R.width - K.mw) / R.width, d()), K.mh && R.height > K.mh && (a = (R.height - K.mh) / R.height, d())), K.h && (R.style.marginTop = Math.max(K.h - R.height, 0) / 2 + "px"), y[1] && (K.loop || y[Q + 1]) && (R.style.cursor = "pointer", R.onclick = function () {
                W.next()
            }), n && (R.style.msInterpolationMode = "bicubic"), setTimeout(function () {
                e(R)
            }, 1)
        }), setTimeout(function () {
            R.src = c
        }, 1)) : c && B.load(c, K.data, function (b, c, d) {
            e(c === "error" ? Z(X, "Error").text("Request unsuccessful: " + d.statusText) : a(this).contents())
        })
    }, W.next = function () {
        !T && y[1] && (K.loop || y[Q + 1]) && (Q = $(1), W.load())
    }, W.prev = function () {
        !T && y[1] && (K.loop || Q) && (Q = $(-1), W.load())
    }, W.close = function () {
        S && !U && (U = !0, S = !1, bc(k, K.onCleanup), z.unbind("." + f + " ." + p), q.fadeTo(200, 0), r.stop().fadeTo(300, 0, function () {
            r.add(q).css({
                opacity: 1,
                cursor: "auto"
            }).hide(), bc(m), A.remove(), setTimeout(function () {
                U = !1, bc(l, K.onClosed)
            }, 1)
        }))
    }, W.remove = function () {
        a([]).add(r).add(q).remove(), r = null, a("." + g).removeData(e).removeClass(g).die()
    }, W.element = function () {
        return a(P)
    }, W.settings = d
})(jQuery, document, this);
