(function(t, e, i) {
function n(i, n, o) {
var r = e.createElement(i);
return n && (r.id = Z + n), o && (r.style.cssText = o), t(r)
}
function o() {
return i.innerHeight ? i.innerHeight : t(i).height()
}
function r(e, i) {
i !== Object(i) && (i = {}), this.cache = {}, this.el = e, this.value = function(e) {
var n;
return void 0 === this.cache[e] && (n = t(this.el).attr("data-cbox-" + e), void 0 !== n ? this.cache[e] = n : void 0 !== i[e] ? this.cache[e] = i[e] : void 0 !== X[e] && (this.cache[e] = X[e])), this.cache[e]
}, this.get = function(e) {
var i = this.value(e);
return t.isFunction(i) ? i.call(this.el, this) : i
}
}
function h(t) {
var e = W.length,
i = (A + t) % e;
return 0 > i ? e + i : i
}
function a(t, e) {
return Math.round((/%/.test(t) ? ("x" === e ? E.width() : o()) / 100 : 1) * parseInt(t, 10))
}
function s(t, e) {
return t.get("photo") || t.get("photoRegex").test(e)
}
function l(t, e) {
return t.get("retinaUrl") && i.devicePixelRatio > 1 ? e.replace(t.get("photoRegex"), t.get("retinaSuffix")) : e
}
function d(t) {
"contains" in y[0] && !y[0].contains(t.target) && t.target !== v[0] && (t.stopPropagation(), y.focus())
}
function c(t) {
c.str !== t && (y.add(v).removeClass(c.str).addClass(t), c.str = t)
}
function g(e) {
A = 0, e && e !== !1 && "nofollow" !== e ? (W = t("." + te).filter(function() {
var i = t.data(this, Y),
n = new r(this, i);
return n.get("rel") === e
}), A = W.index(_.el), -1 === A && (W = W.add(_.el), A = W.length - 1)) : W = t(_.el)
}
function u(i) {
t(e).trigger(i), ae.triggerHandler(i)
}
function f(i) {
var o;
if (!G) {
if (o = t(i).data(Y), _ = new r(i, o), g(_.get("rel")), !$) {
$ = q = !0, c(_.get("className")), y.css({
visibility: "hidden",
display: "block",
opacity: ""
}), I = n(se, "LoadedContent", "width:0; height:0; overflow:hidden; visibility:hidden"), b.css({
width: "",
height: ""
}).append(I), j = T.height() + k.height() + b.outerHeight(!0) - b.height(), D = C.width() + H.width() + b.outerWidth(!0) - b.width(), N = I.outerHeight(!0), z = I.outerWidth(!0);
var h = a(_.get("initialWidth"), "x"),
s = a(_.get("initialHeight"), "y"),
l = _.get("maxWidth"),
f = _.get("maxHeight");
_.w = (l !== !1 ? Math.min(h, a(l, "x")) : h) - z - D, _.h = (f !== !1 ? Math.min(s, a(f, "y")) : s) - N - j, I.css({
width: "",
height: _.h
}), J.position(), u(ee), _.get("onOpen"), O.add(S).hide(), y.focus(), _.get("trapFocus") && e.addEventListener && (e.addEventListener("focus", d, !0), ae.one(re, function() {
e.removeEventListener("focus", d, !0)
})), _.get("returnFocus") && ae.one(re, function() {
t(_.el).focus()
})
}
var p = parseFloat(_.get("opacity"));
v.css({
opacity: p === p ? p : "",
cursor: _.get("overlayClose") ? "pointer" : "",
visibility: "visible"
}).show(), _.get("closeButton") ? B.html(_.get("close")).appendTo(b) : B.appendTo("
").hide().insertBefore(c), ae.one(he, function() {
r.replaceWith(c)
}), h(c)
} else _.get("iframe") ? h(" ") : _.get("html") ? h(_.get("html")) : s(_, e) ? (e = l(_, e), U = _.get("createImg"), t(U).addClass(Z + "Photo").bind("error", function() {
h(n(se, "Error").html(_.get("imgError")))
}).one("load", function() {
d === le && setTimeout(function() {
var t;
_.get("retinaImage") && i.devicePixelRatio > 1 && (U.height = U.height / i.devicePixelRatio, U.width = U.width / i.devicePixelRatio), _.get("scalePhotos") && (o = function() {
U.height -= U.height * t, U.width -= U.width * t
}, _.mw && U.width > _.mw && (t = (U.width - _.mw) / U.width, o()), _.mh && U.height > _.mh && (t = (U.height - _.mh) / U.height, o())), _.h && (U.style.marginTop = Math.max(_.mh - U.height, 0) / 2 + "px"), W[1] && (_.get("loop") || W[A + 1]) && (U.style.cursor = "pointer", U.onclick = function() {
J.next()
}), U.style.width = U.width + "px", U.style.height = U.height + "px", h(U)
}, 1)
}), U.src = e) : e && L.load(e, _.get("data"), function(e, i) {
d === le && h("error" === i ? n(se, "Error").html(_.get("xhrError")) : t(this).contents())
})
}
var v, y, x, b, T, C, H, k, W, E, I, L, M, S, F, R, K, P, B, O, _, j, D, N, z, A, U, $, q, G, Q, J, V, X = {
html: !1,
photo: !1,
iframe: !1,
inline: !1,
transition: "elastic",
speed: 300,
fadeOut: 300,
width: !1,
initialWidth: "600",
innerWidth: !1,
maxWidth: !1,
height: !1,
initialHeight: "450",
innerHeight: !1,
maxHeight: !1,
scalePhotos: !0,
scrolling: !0,
opacity: .9,
preloading: !0,
className: !1,
overlayClose: !0,
escKey: !0,
arrowKey: !0,
top: !1,
bottom: !1,
left: !1,
right: !1,
fixed: !1,
data: void 0,
closeButton: !0,
fastIframe: !0,
open: !1,
reposition: !0,
loop: !0,
slideshow: !1,
slideshowAuto: !0,
slideshowSpeed: 2500,
slideshowStart: "start slideshow",
slideshowStop: "stop slideshow",
photoRegex: /\.|(gif|png|jp(e|geg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
retinaImage: !1,
retinaUrl: !1,
retinaSuffix: "@2x.$1",
current: "image {current} of {total}",
previous: "previous",
next: "next",
close: "close",
xhrError: "This content failed to load.",
imgError: "This image failed to load.",
returnFocus: !0,
trapFocus: !0,
onOpen: !1,
onLoad: !1,
onComplete: !1,
onCleanup: !1,
onClosed: !1,
rel: function() {
return this.rel
},
href: function() {
return t(this).attr("href")
},
title: function() {
return this.title
},
createImg: function() {
var e = new Image,
i = t(this).data("cbox-img-attrs");
return "object" == typeof i && t.each(i, function(t, i) {
e[t] = i
}), e
},
createIframe: function() {
var i = e.createElement("iframe"),
n = t(this).data("cbox-iframe-attrs");
return "object" == typeof n && t.each(n, function(t, e) {
i[t] = e
}), "frameBorder" in i && (i.frameBorder = 0), "allowTransparency" in i && (i.allowTransparency = "true"), i.name = (new Date).getTime(), i.allowFullScreen = !0, i
}
},
Y = "colorbox",
Z = "cbox",
te = Z + "Element",
ee = Z + "_open",
ie = Z + "_load",
ne = Z + "_complete",
oe = Z + "_cleanup",
re = Z + "_closed",
he = Z + "_purge",
ae = t("
"),
se = "div",
le = 0,
de = {},
ce = function() {
function t() {
clearTimeout(h)
}
function e() {
(_.get("loop") || W[A + 1]) && (t(), h = setTimeout(J.next, _.get("slideshowSpeed")))
}
function i() {
R.html(_.get("slideshowStop")).unbind(s).one(s, n), ae.bind(ne, e).bind(ie, t), y.removeClass(a + "off").addClass(a + "on")
}
function n() {
t(), ae.unbind(ne, e).unbind(ie, t), R.html(_.get("slideshowStart")).unbind(s).one(s, function() {
J.next(), i()
}), y.removeClass(a + "on").addClass(a + "off")
}
function o() {
r = !1, R.hide(), t(), ae.unbind(ne, e).unbind(ie, t), y.removeClass(a + "off " + a + "on")
}
var r, h, a = Z + "Slideshow_",
s = "click." + Z;
return function() {
r ? _.get("slideshow") || (ae.unbind(oe, o), o()) : _.get("slideshow") && W[1] && (r = !0, ae.one(oe, o), _.get("slideshowAuto") ? i() : n(), R.show())
}
}();
t[Y] || (t(p), J = t.fn[Y] = t[Y] = function(e, i) {
var n, o = this;
return e = e || {}, t.isFunction(o) && (o = t("
"), e.open = !0), o[0] ? (p(), m() && (i && (e.onComplete = i), o.each(function() {
var i = t.data(this, Y) || {};
t.data(this, Y, t.extend(i, e))
}).addClass(te), n = new r(o[0], e), n.get("open") && f(o[0])), o) : o
}, J.position = function(e, i) {
function n() {
T[0].style.width = k[0].style.width = b[0].style.width = parseInt(y[0].style.width, 10) - D + "px", b[0].style.height = C[0].style.height = H[0].style.height = parseInt(y[0].style.height, 10) - j + "px"
}
var r, h, s, l = 0,
d = 0,
c = y.offset();
if (E.unbind("resize." + Z), y.css({
top: -9e4,
left: -9e4
}), h = E.scrollTop(), s = E.scrollLeft(), _.get("fixed") ? (c.top -= h, c.left -= s, y.css({
position: "fixed"
})) : (l = h, d = s, y.css({
position: "absolute"
})), d += _.get("right") !== !1 ? Math.max(E.width() - _.w - z - D - a(_.get("right"), "x"), 0) : _.get("left") !== !1 ? a(_.get("left"), "x") : Math.round(Math.max(E.width() - _.w - z - D, 0) / 2), l += _.get("bottom") !== !1 ? Math.max(o() - _.h - N - j - a(_.get("bottom"), "y"), 0) : _.get("top") !== !1 ? a(_.get("top"), "y") : Math.round(Math.max(o() - _.h - N - j, 0) / 2), y.css({
top: c.top,
left: c.left,
visibility: "visible"
}), x[0].style.width = x[0].style.height = "9999px", r = {
width: _.w + z + D,
height: _.h + N + j,
top: l,
left: d
}, e) {
var g = 0;
t.each(r, function(t) {
return r[t] !== de[t] ? (g = e, void 0) : void 0
}), e = g
}
de = r, e || y.css(r), y.dequeue().animate(r, {
duration: e || 0,
complete: function() {
n(), q = !1, x[0].style.width = _.w + z + D + "px", x[0].style.height = _.h + N + j + "px", _.get("reposition") && setTimeout(function() {
E.bind("resize." + Z, J.position)
}, 1), t.isFunction(i) && i()
},
step: n
})
}, J.resize = function(t) {
var e;
$ && (t = t || {}, t.width && (_.w = a(t.width, "x") - z - D), t.innerWidth && (_.w = a(t.innerWidth, "x")), I.css({
width: _.w
}), t.height && (_.h = a(t.height, "y") - N - j), t.innerHeight && (_.h = a(t.innerHeight, "y")), t.innerHeight || t.height || (e = I.scrollTop(), I.css({
height: "auto"
}), _.h = I.height()), I.css({
height: _.h
}), e && I.scrollTop(e), J.position("none" === _.get("transition") ? 0 : _.get("speed")))
}, J.prep = function(i) {
function o() {
return _.w = _.w || I.width(), _.w = _.mw && _.mw < _.w ? _.mw : _.w, _.w
}
function a() {
return _.h = _.h || I.height(), _.h = _.mh && _.mh < _.h ? _.mh : _.h, _.h
}
if ($) {
var d, g = "none" === _.get("transition") ? 0 : _.get("speed");
I.remove(), I = n(se, "LoadedContent").append(i), I.hide().appendTo(L.show()).css({
width: o(),
overflow: _.get("scrolling") ? "auto" : "hidden"
}).css({
height: a()
}).prependTo(b), L.hide(), t(U).css({
"float": "none"
}), c(_.get("className")), d = function() {
function i() {
t.support.opacity === !1 && y[0].style.removeAttribute("filter")
}
var n, o, a = W.length;
$ && (o = function() {
clearTimeout(Q), M.hide(), u(ne), _.get("onComplete")
}, S.html(_.get("title")).show(), I.show(), a > 1 ? ("string" == typeof _.get("current") && F.html(_.get("current").replace("{current}", A + 1).replace("{total}", a)).show(), K[_.get("loop") || a - 1 > A ? "show" : "hide"]().html(_.get("next")), P[_.get("loop") || A ? "show" : "hide"]().html(_.get("previous")), ce(), _.get("preloading") && t.each([h(-1), h(1)], function() {
var i, n = W[this],
o = new r(n, t.data(n, Y)),
h = o.get("href");
h && s(o, h) && (h = l(o, h), i = e.createElement("img"), i.src = h)
})) : O.hide(), _.get("iframe") ? (n = _.get("createIframe"), _.get("scrolling") || (n.scrolling = "no"), t(n).attr({
src: _.get("href"),
"class": Z + "Iframe"
}).one("load", o).appendTo(I), ae.one(he, function() {
n.src = "//about:blank"
}), _.get("fastIframe") && t(n).trigger("load")) : o(), "fade" === _.get("transition") ? y.fadeTo(g, 1, i) : i())
}, "fade" === _.get("transition") ? y.fadeTo(g, 0, function() {
J.position(0, d)
}) : J.position(g, d)
}
}, J.next = function() {
!q && W[1] && (_.get("loop") || W[A + 1]) && (A = h(1), f(W[A]))
}, J.prev = function() {
!q && W[1] && (_.get("loop") || A) && (A = h(-1), f(W[A]))
}, J.close = function() {
// $ && !G && (G = !0, $ = !1, u(oe), _.get("onCleanup"), E.unbind("." + Z), v.fadeTo(_.get("fadeOut") || 0, 0), y.stop().fadeTo(_.get("fadeOut") || 0, 0, function() {
// y.hide(), v.hide(), u(he), I.remove(), setTimeout(function() {
// G = !1, u(re), _.get("onClosed")
// }, 1)
// }))
// alert($(".cboxPhoto").attr("src"));
$ && !G && (G = !0, $ = !1, u(oe), _.get("onCleanup"), E.unbind("." + Z), v.fadeTo(_.get("fadeOut") || 0, 0), y.stop().fadeTo(_.get("fadeOut") || 0, 0, function() {
y.hide(), v.hide(), u(he), endImgSrc = I.find(".cboxPhoto").attr("src"), I.remove(), setTimeout(function() {
G = !1
// u(re),
// _.get("onClosed")
}, 1)
}))
}, J.remove = function() {
y && (y.stop(), t[Y].close(), y.stop(!1, !0).remove(), v.remove(), G = !1, y = null, t("." + te).removeData(Y).removeClass(te), t(e).unbind("click." + Z).unbind("keydown." + Z))
}, J.element = function() {
return t(_.el)
}, J.settings = X)
})(jQuery, document, window);