1/*! Magnific Popup - v1.1.0 - 2016-02-20 2 * http://dimsemenov.com/plugins/magnific-popup/ 3 * Copyright (c) 2016 Dmitry Semenov; */ 4!(function (a) { 5 "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : window.jQuery || window.Zepto); 6})(function (a) { 7 var b, 8 c, 9 d, 10 e, 11 f, 12 g, 13 h = "Close", 14 i = "BeforeClose", 15 j = "AfterClose", 16 k = "BeforeAppend", 17 l = "MarkupParse", 18 m = "Open", 19 n = "Change", 20 o = "mfp", 21 p = "." + o, 22 q = "mfp-ready", 23 r = "mfp-removing", 24 s = "mfp-prevent-close", 25 t = function () {}, 26 u = !!window.jQuery, 27 v = a(window), 28 w = function (a, c) { 29 b.ev.on(o + a + p, c); 30 }, 31 x = function (b, c, d, e) { 32 var f = document.createElement("div"); 33 return (f.className = "mfp-" + b), d && (f.innerHTML = d), e ? c && c.appendChild(f) : ((f = a(f)), c && f.appendTo(c)), f; 34 }, 35 y = function (c, d) { 36 b.ev.triggerHandler(o + c, d), b.st.callbacks && ((c = c.charAt(0).toLowerCase() + c.slice(1)), b.st.callbacks[c] && b.st.callbacks[c].apply(b, a.isArray(d) ? d : [d])); 37 }, 38 z = function (c) { 39 return (c === g && b.currTemplate.closeBtn) || ((b.currTemplate.closeBtn = a(b.st.closeMarkup.replace("%title%", b.st.tClose))), (g = c)), b.currTemplate.closeBtn; 40 }, 41 A = function () { 42 a.magnificPopup.instance || ((b = new t()), b.init(), (a.magnificPopup.instance = b)); 43 }, 44 B = function () { 45 var a = document.createElement("p").style, 46 b = ["ms", "O", "Moz", "Webkit"]; 47 if (void 0 !== a.transition) return !0; 48 for (; b.length; ) if (b.pop() + "Transition" in a) return !0; 49 return !1; 50 }; 51 (t.prototype = { 52 constructor: t, 53 init: function () { 54 var c = navigator.appVersion; 55 (b.isLowIE = b.isIE8 = document.all && !document.addEventListener), 56 (b.isAndroid = /android/gi.test(c)), 57 (b.isIOS = /iphone|ipad|ipod/gi.test(c)), 58 (b.supportsTransition = B()), 59 (b.probablyMobile = b.isAndroid || b.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)), 60 (d = a(document)), 61 (b.popupsCache = {}); 62 }, 63 open: function (c) { 64 var e; 65 if (c.isObj === !1) { 66 (b.items = c.items.toArray()), (b.index = 0); 67 var g, 68 h = c.items; 69 for (e = 0; e < h.length; e++) 70 if (((g = h[e]), g.parsed && (g = g.el[0]), g === c.el[0])) { 71 b.index = e; 72 break; 73 } 74 } else (b.items = a.isArray(c.items) ? c.items : [c.items]), (b.index = c.index || 0); 75 if (b.isOpen) return void b.updateItemHTML(); 76 (b.types = []), 77 (f = ""), 78 c.mainEl && c.mainEl.length ? (b.ev = c.mainEl.eq(0)) : (b.ev = d), 79 c.key ? (b.popupsCache[c.key] || (b.popupsCache[c.key] = {}), (b.currTemplate = b.popupsCache[c.key])) : (b.currTemplate = {}), 80 (b.st = a.extend(!0, {}, a.magnificPopup.defaults, c)), 81 (b.fixedContentPos = "auto" === b.st.fixedContentPos ? !b.probablyMobile : b.st.fixedContentPos), 82 b.st.modal && ((b.st.closeOnContentClick = !1), (b.st.closeOnBgClick = !1), (b.st.showCloseBtn = !1), (b.st.enableEscapeKey = !1)), 83 b.bgOverlay || 84 ((b.bgOverlay = x("bg").on("click" + p, function () { 85 b.close(); 86 })), 87 (b.wrap = x("wrap") 88 .attr("tabindex", -1) 89 .on("click" + p, function (a) { 90 b._checkIfClose(a.target) && b.close(); 91 })), 92 (b.container = x("container", b.wrap))), 93 (b.contentContainer = x("content")), 94 b.st.preloader && (b.preloader = x("preloader", b.container, b.st.tLoading)); 95 var i = a.magnificPopup.modules; 96 for (e = 0; e < i.length; e++) { 97 var j = i[e]; 98 (j = j.charAt(0).toUpperCase() + j.slice(1)), b["init" + j].call(b); 99 } 100 y("BeforeOpen"), 101 b.st.showCloseBtn && 102 (b.st.closeBtnInside 103 ? (w(l, function (a, b, c, d) { 104 c.close_replaceWith = z(d.type); 105 }), 106 (f += " mfp-close-btn-in")) 107 : b.wrap.append(z())), 108 b.st.alignTop && (f += " mfp-align-top"), 109 b.fixedContentPos ? b.wrap.css({ overflow: b.st.overflowY, overflowX: "hidden", overflowY: b.st.overflowY }) : b.wrap.css({ top: v.scrollTop(), position: "absolute" }), 110 (b.st.fixedBgPos === !1 || ("auto" === b.st.fixedBgPos && !b.fixedContentPos)) && b.bgOverlay.css({ height: d.height(), position: "absolute" }), 111 b.st.enableEscapeKey && 112 d.on("keyup" + p, function (a) { 113 27 === a.keyCode && b.close(); 114 }), 115 v.on("resize" + p, function () { 116 b.updateSize(); 117 }), 118 b.st.closeOnContentClick || (f += " mfp-auto-cursor"), 119 f && b.wrap.addClass(f); 120 var k = (b.wH = v.height()), 121 n = {}; 122 if (b.fixedContentPos && b._hasScrollBar(k)) { 123 var o = b._getScrollbarSize(); 124 o && (n.marginRight = o); 125 } 126 b.fixedContentPos && (b.isIE7 ? a("body, html").css("overflow", "hidden") : (n.overflow = "hidden")); 127 var r = b.st.mainClass; 128 return ( 129 b.isIE7 && (r += " mfp-ie7"), 130 r && b._addClassToMFP(r), 131 b.updateItemHTML(), 132 y("BuildControls"), 133 a("html").css(n),
134 b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo || a(document.body)), 135 (b._lastFocusedEl = document.activeElement), 136 setTimeout(function () { 137 b.content ? (b._addClassToMFP(q), b._setFocus()) : b.bgOverlay.addClass(q), d.on("focusin" + p, b._onFocusIn); 138 }, 16), 139 (b.isOpen = !0), 140 b.updateSize(k), 141 y(m), 142 c 143 ); 144 }, 145 close: function () { 146 b.isOpen && 147 (y(i), 148 (b.isOpen = !1), 149 b.st.removalDelay && !b.isLowIE && b.supportsTransition 150 ? (b._addClassToMFP(r), 151 setTimeout(function () { 152 b._close(); 153 }, b.st.removalDelay)) 154 : b._close()); 155 }, 156 _close: function () { 157 y(h); 158 var c = r + " " + q + " "; 159 if ((b.bgOverlay.detach(), b.wrap.detach(), b.container.empty(), b.st.mainClass && (c += b.st.mainClass + " "), b._removeClassFromMFP(c), b.fixedContentPos)) { 160 var e = { marginRight: "" }; 161 b.isIE7 ? a("body, html").css("overflow", "") : (e.overflow = ""), a("html").css(e); 162 } 163 d.off("keyup" + p + " focusin" + p), 164 b.ev.off(p), 165 b.wrap.attr("class", "mfp-wrap").removeAttr("style"), 166 b.bgOverlay.attr("class", "mfp-bg"), 167 b.container.attr("class", "mfp-container"), 168 !b.st.showCloseBtn || (b.st.closeBtnInside && b.currTemplate[b.currItem.type] !== !0) || (b.currTemplate.closeBtn && b.currTemplate.closeBtn.detach()), 169 b.st.autoFocusLast && b._lastFocusedEl && a(b._lastFocusedEl).focus(), 170 (b.currItem = null), 171 (b.content = null), 172 (b.currTemplate = null), 173 (b.prevHeight = 0), 174 y(j); 175 }, 176 updateSize: function (a) { 177 if (b.isIOS) { 178 var c = document.documentElement.clientWidth / window.innerWidth, 179 d = window.innerHeight * c; 180 b.wrap.css("height", d), (b.wH = d); 181 } else b.wH = a || v.height(); 182 b.fixedContentPos || b.wrap.css("height", b.wH), y("Resize"); 183 }, 184 updateItemHTML: function () { 185 var c = b.items[b.index]; 186 b.contentContainer.detach(), b.content && b.content.detach(), c.parsed || (c = b.parseEl(b.index)); 187 var d = c.type; 188 if ((y("BeforeChange", [b.currItem ? b.currItem.type : "", d]), (b.currItem = c), !b.currTemplate[d])) { 189 var f = b.st[d] ? b.st[d].markup : !1; 190 y("FirstMarkupParse", f), f ? (b.currTemplate[d] = a(f)) : (b.currTemplate[d] = !0); 191 } 192 e && e !== c.type && b.container.removeClass("mfp-" + e + "-holder"); 193 var g = b["get" + d.charAt(0).toUpperCase() + d.slice(1)](c, b.currTemplate[d]); 194 b.appendContent(g, d), (c.preloaded = !0), y(n, c), (e = c.type), b.container.prepend(b.contentContainer), y("AfterChange"); 195 }, 196 appendContent: function (a, c) { 197 (b.content = a), 198 a ? (b.st.showCloseBtn && b.st.closeBtnInside && b.currTemplate[c] === !0 ? b.content.find(".mfp-close").length || b.content.append(z()) : (b.content = a)) : (b.content = ""), 199 y(k), 200 b.container.addClass("mfp-" + c + "-holder"), 201 b.contentContainer.append(b.content); 202 }, 203 parseEl: function (c) { 204 var d, 205 e = b.items[c]; 206 if ((e.tagName ? (e = { el: a(e) }) : ((d = e.type), (e = { data: e, src: e.src })), e.el)) { 207 for (var f = b.types, g = 0; g < f.length; g++) 208 if (e.el.hasClass("mfp-" + f[g])) { 209 d = f[g]; 210 break; 211 } 212 (e.src = e.el.attr("data-mfp-src")), e.src || (e.src = e.el.attr("href")); 213 } 214 return (e.type = d || b.st.type || "inline"), (e.index = c), (e.parsed = !0), (b.items[c] = e), y("ElementParse", e), b.items[c]; 215 }, 216 addGroup: function (a, c) { 217 var d = function (d) { 218 (d.mfpEl = this), b._openClick(d, a, c); 219 }; 220 c || (c = {}); 221 var e = "click.magnificPopup"; 222 (c.mainEl = a), c.items ? ((c.isObj = !0), a.off(e).on(e, d)) : ((c.isObj = !1), c.delegate ? a.off(e).on(e, c.delegate, d) : ((c.items = a), a.off(e).on(e, d))); 223 }, 224 _openClick: function (c, d, e) { 225 var f = void 0 !== e.midClick ? e.midClick : a.magnificPopup.defaults.midClick; 226 if (f || !(2 === c.which || c.ctrlKey || c.metaKey || c.altKey || c.shift
226Key)) { 227 var g = void 0 !== e.disableOn ? e.disableOn : a.magnificPopup.defaults.disableOn; 228 if (g) 229 if (a.isFunction(g)) { 230 if (!g.call(b)) return !0; 231 } else if (v.width() < g) return !0; 232 c.type && (c.preventDefault(), b.isOpen && c.stopPropagation()), (e.el = a(c.mfpEl)), e.delegate && (e.items = d.find(e.delegate)), b.open(e); 233 } 234 }, 235 updateStatus: function (a, d) { 236 if (b.preloader) { 237 c !== a && b.container.removeClass("mfp-s-" + c), d || "loading" !== a || (d = b.st.tLoading); 238 var e = { status: a, text: d }; 239 y("UpdateStatus", e), 240 (a = e.status), 241 (d = e.text), 242 b.preloader.html(d), 243 b.preloader.find("a").on("click", function (a) { 244 a.stopImmediatePropagation(); 245 }), 246 b.container.addClass("mfp-s-" + a), 247 (c = a); 248 } 249 }, 250 _checkIfClose: function (c) { 251 if (!a(c).hasClass(s)) { 252 var d = b.st.closeOnContentClick, 253 e = b.st.closeOnBgClick; 254 if (d && e) return !0; 255 if (!b.content || a(c).hasClass("mfp-close") || (b.preloader && c === b.preloader[0])) return !0; 256 if (c === b.content[0] || a.contains(b.content[0], c)) { 257 if (d) return !0; 258 } else if (e && a.contains(document, c)) return !0; 259 return !1; 260 } 261 }, 262 _addClassToMFP: function (a) { 263 b.bgOverlay.addClass(a), b.wrap.addClass(a); 264 }, 265 _removeClassFromMFP: function (a) { 266 this.bgOverlay.removeClass(a), b.wrap.removeClass(a); 267 }, 268 _hasScrollBar: function (a) { 269 return (b.isIE7 ? d.height() : document.body.scrollHeight) > (a || v.height()); 270 }, 271 _setFocus: function () { 272 (b.st.focus ? b.content.find(b.st.focus).eq(0) : b.wrap).focus(); 273 }, 274 _onFocusIn: function (c) { 275 return c.target === b.wrap[0] || a.contains(b.wrap[0], c.target) ? void 0 : (b._setFocus(), !1); 276 }, 277 _parseMarkup: function (b, c, d) { 278 var e; 279 d.data && (c = a.extend(d.data, c)), 280 y(l, [b, c, d]), 281 a.each(c, function (c, d) { 282 if (void 0 === d || d === !1) return !0; 283 if (((e = c.split("_")), e.length > 1)) { 284 var f = b.find(p + "-" + e[0]); 285 if (f.length > 0) { 286 var g = e[1]; 287 "replaceWith" === g ? f[0] !== d[0] && f.replaceWith(d) : "img" === g ? (f.is("img") ? f.attr("src", d) : f.replaceWith(a("<img>").attr("src", d).attr("class", f.attr("class")))) : f.attr(e[1], d); 288 } 289 } else b.find(p + "-" + c).html(d); 290 }); 291 }, 292 _getScrollbarSize: function () { 293 if (void 0 === b.scrollbarSize) { 294 var a = document.createElement("div"); 295 (a.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"), document.body.appendChild(a), (b.scrollbarSize = a.offsetWidth - a.clientWidth), document.body.removeChild(a); 296 } 297 return b.scrollbarSize; 298 }, 299 }), 300 (a.magnificPopup = { 301 instance: null, 302 proto: t.prototype, 303 modules: [], 304 open: function (b, c) { 305 return A(), (b = b ? a.extend(!0, {}, b) : {}), (b.isObj = !0), (b.index = c || 0), this.instance.open(b); 306 }, 307 close: function () { 308 return a.magnificPopup.instance && a.magnificPopup.instance.close(); 309 }, 310 registerModule: function (b, c) { 311 c.options && (a.magnificPopup.defaults[b] = c.options), a.extend(this.proto, c.proto), this.modules.push(b); 312 }, 313 defaults: { 314 disableOn: 0, 315 key: null, 316 midClick: !1, 317 mainClass: "", 318 preloader: !0, 319 focus: "", 320 closeOnContentClick: !1, 321 closeOnBgClick: !0, 322 closeBtnInside: !0, 323 showCloseBtn: !0, 324 enableEscapeKey: !0, 325 modal: !1, 326 alignTop: !1, 327 removalDelay: 0, 328 prependTo: null, 329 fixedContentPos: "auto", 330 fixedBgPos: "auto", 331 overflowY: "auto", 332 closeMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>', 333 tClose: "Close (Esc)", 334 tLoading: "Loading...", 335 autoFocusLast: !0, 336 }, 337 }), 338 (a.fn.magnificPopup = function (c) { 339 A(); 340 var d = a(this); 341 if ("string" == typeof c) 342 if ("open" === c) { 343 var e, 344 f = u ? d.data("magnificPopup") : d[0].magnificPopup, 345 g = parseInt(arguments[1], 10) || 0; 346 f.items ? (e = f.items[g]) : ((e = d), f.delegate && (e = e.find(f.delegate)), (e = e.eq
346(g))), b._openClick({ mfpEl: e }, d, f); 347 } else b.isOpen && b[c].apply(b, Array.prototype.slice.call(arguments, 1)); 348 else (c = a.extend(!0, {}, c)), u ? d.data("magnificPopup", c) : (d[0].magnificPopup = c), b.addGroup(d, c); 349 return d; 350 }); 351 var C, 352 D, 353 E, 354 F = "inline", 355 G = function () { 356 E && (D.after(E.addClass(C)).detach(), (E = null)); 357 }; 358 a.magnificPopup.registerModule(F, { 359 options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, 360 proto: { 361 initInline: function () { 362 b.types.push(F), 363 w(h + "." + F, function () { 364 G(); 365 }); 366 }, 367 getInline: function (c, d) { 368 if ((G(), c.src)) { 369 var e = b.st.inline, 370 f = a(c.src); 371 if (f.length) { 372 var g = f[0].parentNode; 373 g && g.tagName && (D || ((C = e.hiddenClass), (D = x(C)), (C = "mfp-" + C)), (E = f.after(D).detach().removeClass(C))), b.updateStatus("ready"); 374 } else b.updateStatus("error", e.tNotFound), (f = a("<div>")); 375 return (c.inlineElement = f), f; 376 } 377 return b.updateStatus("ready"), b._parseMarkup(d, {}, c), d; 378 }, 379 }, 380 }); 381 var H, 382 I = "ajax", 383 J = function () { 384 H && a(document.body).removeClass(H); 385 }, 386 K = function () { 387 J(), b.req && b.req.abort(); 388 }; 389 a.magnificPopup.registerModule(I, { 390 options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' }, 391 proto: { 392 initAjax: function () { 393 b.types.push(I), (H = b.st.ajax.cursor), w(h + "." + I, K), w("BeforeChange." + I, K); 394 }, 395 getAjax: function (c) { 396 H && a(document.body).addClass(H), b.updateStatus("loading"); 397 var d = a.extend( 398 { 399 url: c.src, 400 success: function (d, e, f) { 401 var g = { data: d, xhr: f }; 402 y("ParseAjax", g), 403 b.appendContent(a(g.data), I), 404 (c.finished = !0), 405 J(), 406 b._setFocus(), 407 setTimeout(function () { 408 b.wrap.addClass(q); 409 }, 16), 410 b.updateStatus("ready"), 411 y("AjaxContentAdded"); 412 }, 413 error: function () { 414 J(), (c.finished = c.loadError = !0), b.updateStatus("error", b.st.ajax.tError.replace("%url%", c.src)); 415 }, 416 }, 417 b.st.ajax.settings 418 ); 419 return (b.req = a.ajax(d)), ""; 420 }, 421 }, 422 }); 423 var L, 424 M = function (c) { 425 if (c.data && void 0 !== c.data.title) return c.data.title; 426 var d = b.st.image.titleSrc; 427 if (d) { 428 if (a.isFunction(d)) return d.call(b, c); 429 if (c.el) return c.el.attr(d) || ""; 430 } 431 return ""; 432 }; 433 a.magnificPopup.registerModule("image", { 434 options: { 435 markup: 436 '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', 437 cursor: "mfp-zoom-out-cur", 438 titleSrc: "title", 439 verticalFit: !0, 440 tError: '<a href="%url%">The image</a> could not be loaded.', 441 }, 442 proto: { 443 initImage: function () { 444 var c = b.st.image, 445 d = ".image"; 446 b.types.push("image"), 447 w(m + d, function () { 448 "image" === b.currItem.type && c.cursor && a(document.body).addClass(c.cursor); 449 }), 450 w(h + d, function () { 451 c.cursor && a(document.body).removeClass(c.cursor), v.off("resize" + p); 452 }), 453 w("Resize" + d, b.resizeImage), 454 b.isLowIE && w("AfterChange", b.resizeImage); 455 }, 456 resizeImage: function () { 457 var a = b.currItem; 458 if (a && a.img && b.st.image.verticalFit) { 459 var c = 0; 460 b.isLowIE && (c = parseInt(a.img.css("padding-top"), 10) + parseInt(a.img.css("padding-bottom"), 10)), a.img.css("max-height", b.wH - c); 461 } 462 }, 463 _onImageHasSize: function (a) { 464 a.img && ((a.hasSize = !0), L && clearInterval(L), (a.isCheckingImgSize = !1), y("ImageHasSize", a), a.imgHidden && (b.content && b.content.removeClass("mfp-loading"), (a.imgHidden = !1))); 465 }, 466 findImageSize: function (a) { 467 var c = 0, 468 d = a.img[0], 469 e = function (f) { 470 L && clearInterval(L), 471 (L = setInterval(function () {
472 return d.naturalWidth > 0 ? void b._onImageHasSize(a) : (c > 200 && clearInterval(L), c++, void (3 === c ? e(10) : 40 === c ? e(50) : 100 === c && e(500))); 473 }, f)); 474 }; 475 e(1); 476 }, 477 getImage: function (c, d) { 478 var e = 0, 479 f = function () { 480 c && 481 (c.img[0].complete 482 ? (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("ready")), (c.hasSize = !0), (c.loaded = !0), y("ImageLoadComplete")) 483 : (e++, 200 > e ? setTimeout(f, 100) : g())); 484 }, 485 g = function () { 486 c && (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("error", h.tError.replace("%url%", c.src))), (c.hasSize = !0), (c.loaded = !0), (c.loadError = !0)); 487 }, 488 h = b.st.image, 489 i = d.find(".mfp-img"); 490 if (i.length) { 491 var j = document.createElement("img"); 492 (j.className = "mfp-img"), 493 c.el && c.el.find("img").length && (j.alt = c.el.find("img").attr("alt")), 494 (c.img = a(j).on("load.mfploader", f).on("error.mfploader", g)), 495 (j.src = c.src), 496 i.is("img") && (c.img = c.img.clone()), 497 (j = c.img[0]), 498 j.naturalWidth > 0 ? (c.hasSize = !0) : j.width || (c.hasSize = !1); 499 } 500 return ( 501 b._parseMarkup(d, { title: M(c), img_replaceWith: c.img }, c), 502 b.resizeImage(), 503 c.hasSize 504 ? (L && clearInterval(L), c.loadError ? (d.addClass("mfp-loading"), b.updateStatus("error", h.tError.replace("%url%", c.src))) : (d.removeClass("mfp-loading"), b.updateStatus("ready")), d) 505 : (b.updateStatus("loading"), (c.loading = !0), c.hasSize || ((c.imgHidden = !0), d.addClass("mfp-loading"), b.findImageSize(c)), d) 506 ); 507 }, 508 }, 509 }); 510 var N, 511 O = function () { 512 return void 0 === N && (N = void 0 !== document.createElement("p").style.MozTransform), N; 513 }; 514 a.magnificPopup.registerModule("zoom", { 515 options: { 516 enabled: !1, 517 easing: "ease-in-out", 518 duration: 300, 519 opener: function (a) { 520 return a.is("img") ? a : a.find("img"); 521 }, 522 }, 523 proto: { 524 initZoom: function () { 525 var a, 526 c = b.st.zoom, 527 d = ".zoom"; 528 if (c.enabled && b.supportsTransition) { 529 var e, 530 f, 531 g = c.duration, 532 j = function (a) { 533 var b = a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), 534 d = "all " + c.duration / 1e3 + "s " + c.easing, 535 e = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" }, 536 f = "transition"; 537 return (e["-webkit-" + f] = e["-moz-" + f] = e["-o-" + f] = e[f] = d), b.css(e), b; 538 }, 539 k = function () { 540 b.content.css("visibility", "visible"); 541 }; 542 w("BuildControls" + d, function () { 543 if (b._allowZoom()) { 544 if ((clearTimeout(e), b.content.css("visibility", "hidden"), (a = b._getItemToZoom()), !a)) return void k(); 545 (f = j(a)), 546 f.css(b._getOffset()), 547 b.wrap.append(f), 548 (e = setTimeout(function () { 549 f.css(b._getOffset(!0)), 550 (e = setTimeout(function () { 551 k(), 552 setTimeout(function () { 553 f.remove(), (a = f = null), y("ZoomAnimationEnded"); 554 }, 16); 555 }, g)); 556 }, 16)); 557 } 558 }), 559 w(i + d, function () { 560 if (b._allowZoom()) {
561 if ((clearTimeout(e), (b.st.removalDelay = g), !a)) { 562 if (((a = b._getItemToZoom()), !a)) return; 563 f = j(a); 564 } 565 f.css(b._getOffset(!0)), 566 b.wrap.append(f), 567 b.content.css("visibility", "hidden"), 568 setTimeout(function () { 569 f.css(b._getOffset()); 570 }, 16); 571 } 572 }), 573 w(h + d, function () { 574 b._allowZoom() && (k(), f && f.remove(), (a = null)); 575 }); 576 } 577 }, 578 _allowZoom: function () { 579 return "image" === b.currItem.type; 580 }, 581 _getItemToZoom: function () { 582 return b.currItem.hasSize ? b.currItem.img : !1; 583 }, 584 _getOffset: function (c) { 585 var d; 586 d = c ? b.currItem.img : b.st.zoom.opener(b.currItem.el || b.currItem); 587 var e = d.offset(), 588 f = parseInt(d.css("padding-top"), 10), 589 g = parseInt(d.css("padding-bottom"), 10); 590 e.top -= a(window).scrollTop() - f; 591 var h = { width: d.width(), height: (u ? d.innerHeight() : d[0].offsetHeight) - g - f }; 592 return O() ? (h["-moz-transform"] = h.transform = "translate(" + e.left + "px," + e.top + "px)") : ((h.left = e.left), (h.top = e.top)), h; 593 }, 594 }, 595 }); 596 var P = "iframe", 597 Q = "//about:blank", 598 R = function (a) { 599 if (b.currTemplate[P]) { 600 var c = b.currTemplate[P].find("iframe"); 601 c.length && (a || (c[0].src = Q), b.isIE8 && c.css("display", a ? "block" : "none")); 602 } 603 }; 604 a.magnificPopup.registerModule(P, { 605 options: { 606 markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', 607 srcAction: "iframe_src", 608 patterns: { 609 youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" }, 610 vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" }, 611 gmaps: { index: "//maps.google.", src: "%id%&output=embed" }, 612 }, 613 }, 614 proto: { 615 initIframe: function () { 616 b.types.push(P), 617 w("BeforeChange", function (a, b, c) { 618 b !== c && (b === P ? R() : c === P && R(!0)); 619 }), 620 w(h + "." + P, function () { 621 R(); 622 }); 623 }, 624 getIframe: function (c, d) { 625 var e = c.src, 626 f = b.st.iframe; 627 a.each(f.patterns, function () { 628 return e.indexOf(this.index) > -1 ? (this.id && (e = "string" == typeof this.id ? e.substr(e.lastIndexOf(this.id) + this.id.length, e.length) : this.id.call(this, e)), (e = this.src.replace("%id%", e)), !1) : void 0; 629 }); 630 var g = {}; 631 return f.srcAction && (g[f.srcAction] = e), b._parseMarkup(d, g, c), b.updateStatus("ready"), d; 632 }, 633 }, 634 }); 635 var S = function (a) { 636 var c = b.items.length; 637 return a > c - 1 ? a - c : 0 > a ? c + a : a; 638 }, 639 T = function (a, b, c) { 640 return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c); 641 }; 642 a.magnificPopup.registerModule("gallery", { 643 options: { 644 enabled: !1, 645 arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 646 preload: [0, 2], 647 navigateByImgClick: !0, 648 arrows: !0, 649 tPrev: "Previous (Left arrow key)", 650 tNext: "Next (Right arrow key)", 651 tCounter: "%curr% of %total%", 652 }, 653 proto: { 654 initGallery: function () { 655 var c = b.st.gallery, 656 e = ".mfp-gallery"; 657 return ( 658 (b.direction = !0), 659 c && c.enabled 660 ? ((f += " mfp-gallery"), 661 w(m + e, function () { 662 c.navigateByImgClick && 663 b.wrap.on("click" + e, ".mfp-img", function () { 664 return b.items.length > 1 ? (b.next(), !1) : void 0; 665 }), 666 d.on("keydown" + e, function (a) { 667 37 === a.keyCode ? b.prev() : 39 === a.keyCode && b.next(); 668 }); 669 }), 670 w("UpdateStatus" + e, function (a, c) { 671 c.text && (c.text = T(c.text, b.currItem.index, b.items.length)); 672 }), 673 w(l + e, function (a, d, e, f) { 674 var g = b.items.length; 675 e.counter = g > 1 ? T(c.tCounter, f.index, g) : ""; 676 }), 677 w("BuildControls" + e, function () { 678 if (b.items.length > 1 && c.arrows && !b.arrowLeft) { 679 var d = c.arrowMarkup, 680 e = (b.arrowLeft = a(d.replace(/%title%/gi, c.tPrev).replace(/%dir%/gi, "left")).addClass(s)), 681 f = (b.arrowRight = a(d.replace(/%title%/gi, c.tNext).replace(/%dir%/gi, "right")).addClass(s)); 682 e.click(function () { 683 b.prev(); 684 }), 685 f.click(function () { 686 b.next(); 687 }), 688 b.container.append(e.add(f)); 689 } 690 }), 691 w(n + e, function () { 692 b._preloadTimeout && clearTimeout(b._preloadTimeout), 693 (b._preloadTimeout = setTimeout(function () { 694 b.preloadNearbyImages(), (b._preloadTimeout = null); 695 }, 16)); 696 }), 697 void w(h + e, function () { 698 d.off(e), b.wrap.off("click" + e), (b.arrowRight = b.arrowLeft = null); 699 })) 700 : !1 701 ); 702 }, 703 next: function () { 704 (b.direction = !0), (b.index = S(b.index + 1)), b.updateItemHTML(); 705 }, 706 prev: function () { 707 (b.direction = !1), (b.index = S(b.index - 1)), b.updateItemHTML(); 708 }, 709 goTo: function (a) { 710 (b.direction = a >= b.index), (b.index = a), b.updateItemHTML(); 711 }, 712 preloadNearbyImages: function () { 713 var a, 714 c = b.st.gallery.preload, 715 d = Math.min(c[0], b.items.length), 716 e = Math.min(c[1], b.items.length); 717 for (a = 1; a <= (b.direction ? e : d); a++) b._preloadItem(b.index + a); 718 for (a = 1; a <= (b.direction ? d : e); a++) b._preloadItem(b.index - a); 719 }, 720 _preloadItem: function (c) { 721 if (((c = S(c)), !b.items[c].preloaded)) { 722 var d = b.items[c]; 723 d.parsed || (d = b.parseEl(c)), 724 y("LazyLoad", d),
725 "image" === d.type && 726 (d.img = a('<img class="mfp-img" />') 727 .on("load.mfploader", function () { 728 d.hasSize = !0; 729 }) 730 .on("error.mfploader", function () { 731 (d.hasSize = !0), (d.loadError = !0), y("LazyLoadError", d); 732 }) 733 .attr("src", d.src)), 734 (d.preloaded = !0); 735 } 736 }, 737 }, 738 }); 739 var U = "retina"; 740 a.magnificPopup.registerModule(U, { 741 options: { 742 replaceSrc: function (a) { 743 return a.src.replace(/\.\w+$/, function (a) { 744 return "@2x" + a; 745 }); 746 }, 747 ratio: 1, 748 }, 749 proto: { 750 initRetina: function () { 751 if (window.devicePixelRatio > 1) { 752 var a = b.st.retina, 753 c = a.ratio; 754 (c = isNaN(c) ? c() : c), 755 c > 1 && 756 (w("ImageHasSize." + U, function (a, b) { 757 b.img.css({ "max-width": b.img[0].naturalWidth / c, width: "100%" }); 758 }), 759 w("ElementParse." + U, function (b, d) { 760 d.src = a.replaceSrc(d, c); 761 })); 762 } 763 }, 764 }, 765 }), 766 A(); 767});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.