/*	ColorBox v1.3.5 - a full featured, light-weight, customizable lightbox based on jQuery 1.3 */

var hideClosehint = false;

(function(c) {
    function r(b, d) {
        d = d === "x" ? m.width() : m.height();
        return typeof b === "string" ? Math.round(b.match(/%/) ? d / 100 * parseInt(b, 10) : parseInt(b, 10)) : b
    }
    function N(b) {
        b = c.isFunction(b) ? b.call(i) : b;
        return a.photo || b.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i)
    }
    function Y() { for (var b in a) if (c.isFunction(a[b]) && b.substring(0, 2) !== "on") a[b] = a[b].call(i) }
    function Z(b) {
        i = b; a = c(i).data(q); Y();
        var d = a.rel || i.rel;
        if (d && d !== "nofollow") {
            h = c(".cboxElement").filter(function() { return (c(this).data(q).rel || this.rel) === d });
            j = h.index(i); if (j < 0) { h = h.add(i); j = h.length - 1 }
        } else { h = c(i); j = 0 }
        if (!C) {
            D = C = n; O = i; O.blur();
            c().bind("keydown.cbox_close", function(e) {
                if (e.keyCode === 27) {
                    e.preventDefault();
                    f.close()
                }
            }).bind("keydown.cbox_arrows", function(e) {
                if (h.length > 1)
                    if (e.keyCode === 37) { e.preventDefault(); E.click() }
                else if (e.keyCode === 39) { e.preventDefault(); F.click() }
            });
            a.overlayClose && s.css({ cursor: "pointer" }).one("click", f.close); c.event.trigger(aa);
            a.onOpen && a.onOpen.call(i); s.css({ opacity: a.opacity }).show(); a.w = r(a.initialWidth, "x");
            a.h = r(a.initialHeight, "y");
            f.position(0);
            P && m.bind("resize.cboxie6 scroll.cboxie6", function() {
                s.css({ width: m.width(), height: m.height(), top: m.scrollTop(), left: m.scrollLeft() })
            }).trigger("scroll.cboxie6")
        }
        Q.add(E).add(F).add(t).add(H).hide();
        R.html(a.close).show();
        f.slideshow();
        f.load()
    }

    var q = "colorbox",

x = "hover",
n = true,
f, y = !c.support.opacity,
P = y && !window.XMLHttpRequest,
aa = "cbox_open",
I = "cbox_load",
S = "cbox_complete",
T = "resize.cbox_resize", s, k, u, p, U, V, W, X, h, m, l, J, K, L, H, Q, t, F, E, R, z, A, v, w, i, O, j, a,
 C, D,
$ = { transition: "elastic", speed: 350, width: false, height: false, innerWidth: false,
    innerHeight: false, initialWidth: "400", initialHeight: "400", maxWidth: false, maxHeight: false,
    scalePhotos: n, scrolling: n, inline: false, html: false, iframe: false, photo: false, href: false,
    title: false,
    rel: false, opacity: 0.9, preloading: n, current: "image {current} of {total}",
    previous: "previous",
    next: "next",
    close: "close",
    open: false,
    overlayClose: n,
    slideshow: false,
    slideshowAuto: n,
    slideshowSpeed: 2500,
    slideshowStart: "start slideshow",
    slideshowStop: "stop slideshow",
    onOpen: false,
    onLoad: false,
    onComplete: false,
    onCleanup: false,
    onClosed: false
};
    f = c.fn.colorbox = function(b, d) {
        var e = this;
        if (!e.length)
            if (e.selector === "") { e = c(e); b.open = n }
        else return this;
        e.each(function() {
            var g = c.extend({}, c(this).data(q) ? c(this).data(q) : $, b);
            c(this).data(q, g).addClass("cboxElement"); if (d) c(this).data(q).onComplete = d
        });
        b && b.open && Z(e);
        return this
    };
    f.init = function() {
        function b(d) {
            return c('<div id="cbox' + d + '"/>')
        }
        m = c(window);
        k = c('<div id="colorbox"/>');
        s = b("Overlay").hide();
        u = b("Wrapper");

        if (hideClosehint) {
            p = b("Content").append(
                l = b("LoadedContent").css({ width: 0, height: 0 }),
                K = b("LoadingOverlay"),
                L = b("LoadingGraphic"),
                H = b("Title"),
                Q = b("Current"),
                t = b("Slideshow"),
                F = b("Next"),
                E = b("Previous"),
                R = b("Close")
            );
         } else {
            p = b("Content").append(
                l = b("LoadedContent").css({ width: 0, height: 0 }),
                K = b("LoadingOverlay"),
                L = b("LoadingGraphic"),
                H = b("Title"),
                Q = b("Current"),
                t = b("Slideshow"),
                F = b("Next"),
                E = b("Previous"),
                R = b("Close"),
                c("<div id='cboxCloseHint'>Click X to Go Back</div>")
            );
        }
        
        u.append(c("<div/>").append(b("TopLeft"), U = b("TopCenter"), b("TopRight")), c("<div/>").append(V = b("MiddleLeft"), p, W = b("MiddleRight")), c("<div/>").append(b("BottomLeft"), X = b("BottomCenter"), b("BottomRight"))).children().children().css({ "float": "left" });
        J = c("<div style='position:absolute; top:0; left:0; width:9999px; height:0;'/>");
        c("body").prepend(s, k.append(u, J));
        if (y) {
            k.addClass("cboxIE");
            P && s.css("position", "absolute")
        }
        p.children().addClass(x).mouseover(function() { c(this).addClass(x) }).mouseout(function() { c(this).removeClass(x) }); z = U.height() + X.height() + p.outerHeight(n) - p.height(); A = V.width() + W.width() + p.outerWidth(n) - p.width();
        v = l.outerHeight(n); w = l.outerWidth(n);
        k.css({ "padding-bottom": z, "padding-right": A }).hide();
        F.click(f.next);
        E.click(f.prev);
        R.click(f.close);
        p.children().removeClass(x);
        c(".cboxElement").live("click", function(d) {
            if (d.button !== 0 && typeof d.button !== "undefined") return n;
            else {
                Z(this);
                return false
            }
        })
    };
    f.position = function(b, d) {
        function e(B) { U[0].style.width = X[0].style.width = p[0].style.width = B.style.width; L[0].style.height = K[0].style.height = p[0].style.height = V[0].style.height = W[0].style.height = B.style.height }
        var g = m.height(); g = Math.max(g - a.h - v - z, 0) / 2 + m.scrollTop();
        var o = Math.max(document.documentElement.clientWidth - a.w - w - A, 0) / 2 + m.scrollLeft();
        b = k.width() === a.w + w && k.height() === a.h + v ? 0 : b; u[0].style.width = u[0].style.height = "9999px";
        k.dequeue().animate({ width: a.w + w, height: a.h + v, top: g, left: o }, { duration: b, complete: function() { e(this); D = false; u[0].style.width = a.w + w + A + "px"; u[0].style.height = a.h + v + z + "px"; d && d() }, step: function() { e(this) } })
    };
    f.resize = function(b) {
        function d() { a.w = a.w || l.width(); a.w = a.mw && a.mw < a.w ? a.mw : a.w; return a.w }
        function e() { a.h = a.h || l.height(); a.h = a.mh && a.mh < a.h ? a.mh : a.h; return a.h }
        function g(G) {
            f.position(G, function() {
                if (C) {
                    if (y) { B && l.fadeIn(100); k[0].style.removeAttribute("filter") } if (a.iframe) l.append("<iframe id='cboxIframe'" + (a.scrolling ? " " : "scrolling='no'") + " name='iframe_" + (new Date).getTime() + "' frameborder=0 src='" + (a.href || i.href) + "' " + (y ? "allowtransparency='true'" : "") + " />");
                    l.show(); H.html(a.title || i.title); H.show(); if (h.length > 1) {
                        Q.html(a.current.replace(/\{current\}/, j + 1).replace(/\{total\}/, h.length)).show();
                        F.html(a.next).show(); E.html(a.previous).show();
                        a.slideshow && t.show()
                    } K.hide(); L.hide(); c.event.trigger(S); a.onComplete && a.onComplete.call(i);
                    a.transition === "fade" && k.fadeTo(M, 1, function() { y && k[0].style.removeAttribute("filter") });
                    m.bind(T, function() { f.position(0) })
                }
            })
        } if (C) {
            var o, B, M = a.transition === "none" ? 0 : a.speed; m.unbind(T); if (b) {
                l.remove();
                l = c('<div id="cboxLoadedContent"/>').html(b);
                l.hide().appendTo(J).css({ width: d(), overflow: a.scrolling ? "auto" : "hidden" }).css({ height: e() }).prependTo(p); c("#cboxPhoto").css({ cssFloat: "none" });
                P && c("select:not(#colorbox select)").filter(function() { return this.style.visibility !== "hidden" }).css({ visibility: "hidden" }).one("cbox_cleanup", function() { this.style.visibility = "inherit" });
                a.transition === "fade" && k.fadeTo(M, 0, function() { g(0) }) || g(M);
                if (a.preloading && h.length > 1) {
                    b = j > 0 ? h[j - 1] : h[h.length - 1]; o = j < h.length - 1 ? h[j + 1] : h[0]; o = c(o).data(q).href || o.href; b = c(b).data(q).href || b.href; N(o) && c("<img />").attr("src", o);
                    N(b) && c("<img />").attr("src", b)
                }
            }
            else
                setTimeout(function() {
                    var G = l.wrapInner("<div style='overflow:auto'></div>").children();
                    a.h = G.height();
                    l.css({ height: a.h });
                    G.replaceWith(G.children());
                    f.position(M)
                }, 1)
        }
    };


    f.load = function() {
        var b, d, e,
        g = f.resize;
        D = n; i = h[j]; a = c(i).data(q); Y();
        c.event.trigger(I);
        a.onLoad && a.onLoad.call(i);
        a.h = a.height ? r(a.height, "y") - v - z : a.innerHeight ? r(a.innerHeight, "y") : false;
        a.w = a.width ? r(a.width, "x") - w - A : a.innerWidth ? r(a.innerWidth, "x") : false;
        a.mw = a.w; a.mh = a.h;
        if (a.maxWidth) { a.mw = r(a.maxWidth, "x") - w - A; a.mw = a.w && a.w < a.mw ? a.w : a.mw }
        if (a.maxHeight) { a.mh = r(a.maxHeight, "y") - v - z; a.mh = a.h && a.h < a.mh ? a.h : a.mh }
        b = a.href || c(i).attr("href"); K.show();
        L.show();
        if (a.inline)
        { c('<div id="cboxInlineTemp" />').hide().insertBefore(c(b)[0]).bind(I + " cbox_cleanup", function() { c(this).replaceWith(l.children()) }); g(c(b)) }
        else if (a.iframe) { g(" "); }
        else if (a.html) g(a.html);
        else if (N(b)) {
            d = new Image; d.onload = function() {
                var o; d.onload = null;
                d.id = "cboxPhoto";
                c(d).css({ margin: "auto", border: "none", display: "block", cssFloat: "left" });
                if (a.scalePhotos) {
                    e = function() { d.height -= d.height * o; d.width -= d.width * o };
                    if (a.mw && d.width > a.mw) { o = (d.width - a.mw) / d.width; e() }
                    if (a.mh && d.height > a.mh) { o = (d.height - a.mh) / d.height; e() }
                }
                if (a.h) d.style.marginTop = Math.max(a.h - d.height, 0) / 2 + "px"; g(d);
                h.length > 1 && c(d).css({ cursor: "pointer" }).click(f.next);
                if (y) d.style.msInterpolationMode = "bicubic"
            };
            d.src = b
        }
        else c("<div />").appendTo(J).load(b, function(o, B) { B === "success" ? g(this) : g(c("<p>Request unsuccessful.</p>")) })
    };
    f.next = function() { if (!D) { j = j < h.length - 1 ? j + 1 : 0; f.load() } };
    f.prev = function() { if (!D) { j = j > 0 ? j - 1 : h.length - 1; f.load() } };
    f.slideshow = function() {
        function b() { t.text(a.slideshowStop).bind(S, function() { e = setTimeout(f.next, a.slideshowSpeed) }).bind(I, function() { clearTimeout(e) }).one("click", function() { d(); c(this).removeClass(x) }); k.removeClass(g + "off").addClass(g + "on") }
        var d, e, g = "cboxSlideshow_";
        t.bind("cbox_closed", function() { t.unbind(); clearTimeout(e); k.removeClass(g + "off " + g + "on") });
        d = function() {
            clearTimeout(e);
            t.text(a.slideshowStart).unbind(S + " " + I).one("click", function() {
                b();
                e = setTimeout(f.next, a.slideshowSpeed);
                c(this).removeClass(x)
            }); k.removeClass(g + "on").addClass(g + "off")
        };
        if (a.slideshow && h.length > 1) a.slideshowAuto ? b() : d()
    };

    f.close = function() {
        c.event.trigger("cbox_cleanup");
        a.onCleanup && a.onCleanup.call(i);
        C = false;
        c().unbind("keydown.cbox_close keydown.cbox_arrows");
        m.unbind(T + " resize.cboxie6 scroll.cboxie6");
        s.css({ cursor: "auto" }).fadeOut("fast");
        k.stop(n, false).fadeOut("fast", function() {
            l.remove(); k.css({ opacity: 1 });
            try { O.focus() } catch (b) { }
            c.event.trigger("cbox_closed");
            a.onClosed && a.onClosed.call(i)
        })
    };
    f.element = function() { return c(i) };
    f.settings = $; c(f.init)
})(jQuery);