// ================================================== // fancybox v3.3.5 // // licensed gplv3 for open source use // or fancybox commercial license for commercial use // // http://fancyapps.com/fancybox/ // copyright 2018 fancyapps // // ================================================== !function(t, e, n, o) { "use strict"; function i(t, e) { var o, i, a = [], s = 0; t && t.isdefaultprevented() || (t.preventdefault(), e = t && t.data ? t.data.options : e || {}, o = e.$target || n(t.currenttarget), i = o.attr("data-fancybox") || "", i ? (a = e.selector ? n(e.selector) : t.data ? t.data.items : [], a = a.length ? a.filter('[data-fancybox="' + i + '"]') : n('[data-fancybox="' + i + '"]'), s = a.index(o), s < 0 && (s = 0)) : a = [o], n.fancybox.open(a, e, s)) } if (t.console = t.console || { info: function(t) {} }, n) { if (n.fn.fancybox) return void console.info("fancybox already initialized"); var a = { loop: !1, gutter: 50, keyboard: !0, arrows: !0, infobar: !0, smallbtn: "auto", toolbar: "auto", buttons: ["zoom", "thumbs", "close"], idletime: 3, protect: !1, modal: !1, image: { preload: !1 }, ajax: { settings: { data: { fancybox: !0 } } }, iframe: { tpl: '', preload: !0, css: {}, attr: { scrolling: "auto" } }, defaulttype: "image", animationeffect: "zoom", animationduration: 366, zoomopacity: "auto", transitioneffect: "fade", transitionduration: 366, slideclass: "", baseclass: "", basetpl: '', spinnertpl: '
', errortpl: '

{{error}}

', btntpl: { download: '', zoom: '', close: '', smallbtn: '', arrowleft: '', arrowright: '' }, parentel: "body", autofocus: !1, backfocus: !0, trapfocus: !0, fullscreen: { autostart: !1 }, touch: { vertical: !0, momentum: !0 }, hash: null, media: {}, slideshow: { autostart: !1, speed: 4e3 }, thumbs: { autostart: !1, hideonclose: !0, parentel: ".fancybox-container", axis: "y" }, wheel: "auto", oninit: n.noop, beforeload: n.noop, afterload: n.noop, beforeshow: n.noop, aftershow: n.noop, beforeclose: n.noop, afterclose: n.noop, onactivate: n.noop, ondeactivate: n.noop, clickcontent: function(t, e) { return "image" === t.type && "zoom" }, clickslide: "close", clickoutside: "close", dblclickcontent: !1, dblclickslide: !1, dblclickoutside: !1, mobile: { idletime: !1, clickcontent: function(t, e) { return "image" === t.type && "togglecontrols" }, clickslide: function(t, e) { return "image" === t.type ? "togglecontrols" : "close" }, dblclickcontent: function(t, e) { return "image" === t.type && "zoom" }, dblclickslide: function(t, e) { return "image" === t.type && "zoom" } }, lang: "en", i18n: { en: { close: "close", next: "next", prev: "previous", error: "the requested content cannot be loaded.
please try again later.", play_start: "start slideshow", play_stop: "pause slideshow", full_screen: "full screen", thumbs: "thumbnails", download: "download", share: "share", zoom: "zoom" }, de: { close: "schliessen", next: "weiter", prev: "zurück", error: "die angeforderten daten konnten nicht geladen werden.
bitte versuchen sie es später nochmal.", play_start: "diaschau starten", play_stop: "diaschau beenden", full_screen: "vollbild", thumbs: "vorschaubilder", download: "herunterladen", share: "teilen", zoom: "maßstab" } } }, s = n(t), r = n(e), c = 0, l = function(t) { return t && t.hasownproperty && t instanceof n }, d = function() { return t.requestanimationframe || t.webkitrequestanimationframe || t.mozrequestanimationframe || t.orequestanimationframe || function(e) { return t.settimeout(e, 1e3 / 60) } }(), u = function() { var t, n = e.createelement("fakeelement"), i = { transition: "transitionend", otransition: "otransitionend", moztransition: "transitionend", webkittransition: "webkittransitionend" }; for (t in i) if (n.style[t] !== o) return i[t]; return "transitionend" }(), f = function(t) { return t && t.length && t[0].offsetheight }, p = function(t, e) { var o = n.extend(!0, {}, t, e); return n.each(e, function(t, e) { n.isarray(e) && (o[t] = e) }), o }, h = function(t, o, i) { var a = this; a.opts = p({ index: i }, n.fancybox.defaults), n.isplainobject(o) && (a.opts = p(a.opts, o)), n.fancybox.ismobile && (a.opts = p(a.opts, a.opts.mobile)), a.id = a.opts.id || ++c, a.currindex = parseint(a.opts.index, 10) || 0, a.previndex = null, a.prevpos = null, a.currpos = 0, a.firstrun = !0, a.group = [], a.slides = {}, a.addcontent(t), a.group.length && (a.$lastfocus = n(e.activeelement).trigger("blur"), a.init()) }; n.extend(h.prototype, { init: function() { var i, a, s, r = this, c = r.group[r.currindex], l = c.opts, d = n.fancybox.scrollbarwidth; n.fancybox.getinstance() || l.hidescrollbar === !1 || (n("body").addclass("fancybox-active"), !n.fancybox.ismobile && e.body.scrollheight > t.innerheight && (d === o && (i = n('
').appendto("body"), d = n.fancybox.scrollbarwidth = i[0].offsetwidth - i[0].clientwidth, i.remove()), n("head").append('"), n("body").addclass("compensate-for-scrollbar"))), s = "", n.each(l.buttons, function(t, e) { s += l.btntpl[e] || "" }), a = n(r.translate(r, l.basetpl.replace("{{buttons}}", s).replace("{{arrows}}", l.btntpl.arrowleft + l.btntpl.arrowright))).attr("id", "fancybox-container-" + r.id).addclass("fancybox-is-hidden").addclass(l.baseclass).data("fancybox", r).appendto(l.parentel), r.$refs = { container: a }, ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].foreach(function(t) { r.$refs[t] = a.find(".fancybox-" + t) }), r.trigger("oninit"), r.activate(), r.jumpto(r.currindex) }, translate: function(t, e) { var n = t.opts.i18n[t.opts.lang]; return e.replace(/\{\{(\w+)\}\}/g, function(t, e) { var i = n[e]; return i === o ? t : i }) }, addcontent: function(t) { var e, i = this, a = n.makearray(t); n.each(a, function(t, e) { var a, s, r, c, l, d = {}, u = {}; n.isplainobject(e) ? (d = e, u = e.opts || e) : "object" === n.type(e) && n(e).length ? (a = n(e), u = a.data() || {}, u = n.extend(!0, {}, u, u.options), u.$orig = a, d.src = i.opts.src || u.src || a.attr("href"), d.type || d.src || (d.type = "inline", d.src = e)) : d = { type: "html", src: e + "" }, d.opts = n.extend(!0, {}, i.opts, u), n.isarray(u.buttons) && (d.opts.buttons = u.buttons), s = d.type || d.opts.type, c = d.src || "", !s && c && ((r = c.match(/\.(mp4|mov|ogv)((\?|#).*)?$/i)) ? (s = "video", d.opts.videoformat || (d.opts.videoformat = "video/" + ("ogv" === r[1] ? "ogg" : r[1]))) : c.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? s = "image" : c.match(/\.(pdf)((\?|#).*)?$/i) ? s = "iframe" : "#" === c.charat(0) && (s = "inline")), s ? d.type = s : i.trigger("objectneedstype", d), d.contenttype || (d.contenttype = n.inarray(d.type, ["html", "inline", "ajax"]) > -1 ? "html" : d.type), d.index = i.group.length, "auto" == d.opts.smallbtn && (d.opts.smallbtn = n.inarray(d.type, ["html", "inline", "ajax"]) > -1), "auto" === d.opts.toolbar && (d.opts.toolbar = !d.opts.smallbtn), d.opts.$trigger && d.index === i.opts.index && (d.opts.$thumb = d.opts.$trigger.find("img:first")), d.opts.$thumb && d.opts.$thumb.length || !d.opts.$orig || (d.opts.$thumb = d.opts.$orig.find("img:first")), "function" === n.type(d.opts.caption) && (d.opts.caption = d.opts.caption.apply(e, [i, d])), "function" === n.type(i.opts.caption) && (d.opts.caption = i.opts.caption.apply(e, [i, d])), d.opts.caption instanceof n || (d.opts.caption = d.opts.caption === o ? "" : d.opts.caption + ""), "ajax" === d.type && (l = c.split(/\s+/, 2), l.length > 1 && (d.src = l.shift(), d.opts.filter = l.shift())), d.opts.modal && (d.opts = n.extend(!0, d.opts, { infobar: 0, toolbar: 0, smallbtn: 0, keyboard: 0, slideshow: 0, fullscreen: 0, thumbs: 0, touch: 0, clickcontent: !1, clickslide: !1, clickoutside: !1, dblclickcontent: !1, dblclickslide: !1, dblclickoutside: !1 })), i.group.push(d) }), object.keys(i.slides).length && (i.updatecontrols(), e = i.thumbs, e && e.isactive && (e.create(), e.focus())) }, addevents: function() { var o = this; o.removeevents(), o.$refs.container.on("click.fb-close", "[data-fancybox-close]", function(t) { t.stoppropagation(), t.preventdefault(), o.close(t) }).on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function(t) { t.stoppropagation(), t.preventdefault(), o.previous() }).on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function(t) { t.stoppropagation(), t.preventdefault(), o.next() }).on("click.fb", "[data-fancybox-zoom]", function(t) { o[o.isscaleddown() ? "scaletoactual" : "scaletofit"]() }), s.on("orientationchange.fb resize.fb", function(t) { t && t.originalevent && "resize" === t.originalevent.type ? d(function() { o.update() }) : (o.$refs.stage.hide(), settimeout(function() { o.$refs.stage.show(), o.update() }, n.fancybox.ismobile ? 600 : 250)) }), r.on("focusin.fb", function(t) { var o = n.fancybox ? n.fancybox.getinstance() : null; o.isclosing || !o.current || !o.current.opts.trapfocus || n(t.target).hasclass("fancybox-container") || n(t.target).is(e) || o && "fixed" !== n(t.target).css("position") && !o.$refs.container.has(t.target).length && (t.stoppropagation(), o.focus()) }), r.on("keydown.fb", function(t) { var e = o.current, i = t.keycode || t.which; if (e && e.opts.keyboard && !(t.ctrlkey || t.altkey || t.shiftkey || n(t.target).is("input") || n(t.target).is("textarea"))) return 8 === i || 27 === i ? (t.preventdefault(), void o.close(t)) : 37 === i || 38 === i ? (t.preventdefault(), void o.previous()) : 39 === i || 40 === i ? (t.preventdefault(), void o.next()) : void o.trigger("afterkeydown", t, i) }), o.group[o.currindex].opts.idletime && (o.idlesecondscounter = 0, r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function(t) { o.idlesecondscounter = 0, o.isidle && o.showcontrols(), o.isidle = !1 }), o.idleinterval = t.setinterval(function() { o.idlesecondscounter++, o.idlesecondscounter >= o.group[o.currindex].opts.idletime && !o.isdragging && (o.isidle = !0, o.idlesecondscounter = 0, o.hidecontrols()) }, 1e3)) }, removeevents: function() { var e = this; s.off("orientationchange.fb resize.fb"), r.off("focusin.fb keydown.fb .fb-idle"), this.$refs.container.off(".fb-close .fb-prev .fb-next"), e.idleinterval && (t.clearinterval(e.idleinterval), e.idleinterval = null) }, previous: function(t) { return this.jumpto(this.currpos - 1, t) }, next: function(t) { return this.jumpto(this.currpos + 1, t) }, jumpto: function(t, e) { var i, a, s, r, c, l, d, u = this, p = u.group.length; if (!(u.isdragging || u.isclosing || u.isanimating && u.firstrun)) { if (t = parseint(t, 10), a = u.current ? u.current.opts.loop : u.opts.loop, !a && (t < 0 || t >= p)) return !1; if (i = u.firstrun = !object.keys(u.slides).length, !(p < 2 && !i && u.isdragging)) { if (r = u.current, u.previndex = u.currindex, u.prevpos = u.currpos, s = u.createslide(t), p > 1 && ((a || s.index > 0) && u.createslide(t - 1), (a || s.index < p - 1) && u.createslide(t + 1)), u.current = s, u.currindex = s.index, u.currpos = s.pos, u.trigger("beforeshow", i), u.updatecontrols(), l = n.fancybox.gettranslate(s.$slide), s.ismoved = (0 !== l.left || 0 !== l.top) && !s.$slide.hasclass("fancybox-animated"), s.forcedduration = o, n.isnumeric(e) ? s.forcedduration = e : e = s.opts[i ? "animationduration" : "transitionduration"], e = parseint(e, 10), i) return s.opts.animationeffect && e && u.$refs.container.css("transition-duration", e + "ms"), u.$refs.container.removeclass("fancybox-is-hidden"), f(u.$refs.container), u.$refs.container.addclass("fancybox-is-open"), f(u.$refs.container), s.$slide.addclass("fancybox-slide--previous"), u.loadslide(s), s.$slide.removeclass("fancybox-slide--previous").addclass("fancybox-slide--current"), void u.preload("image"); n.each(u.slides, function(t, e) { n.fancybox.stop(e.$slide) }), s.$slide.removeclass("fancybox-slide--next fancybox-slide--previous").addclass("fancybox-slide--current"), s.ismoved ? (c = math.round(s.$slide.width()), n.each(u.slides, function(t, o) { var i = o.pos - s.pos; n.fancybox.animate(o.$slide, { top: 0, left: i * c + i * o.opts.gutter }, e, function() { o.$slide.removeattr("style").removeclass("fancybox-slide--next fancybox-slide--previous"), o.pos === u.currpos && (s.ismoved = !1, u.complete()) }) })) : u.$refs.stage.children().removeattr("style"), s.isloaded ? u.revealcontent(s) : u.loadslide(s), u.preload("image"), r.pos !== s.pos && (d = "fancybox-slide--" + (r.pos > s.pos ? "next" : "previous"), r.$slide.removeclass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"), r.iscomplete = !1, e && (s.ismoved || s.opts.transitioneffect) && (s.ismoved ? r.$slide.addclass(d) : (d = "fancybox-animated " + d + " fancybox-fx-" + s.opts.transitioneffect, n.fancybox.animate(r.$slide, d, e, function() { r.$slide.removeclass(d).removeattr("style") })))) } } }, createslide: function(t) { var e, o, i = this; return o = t % i.group.length, o = o < 0 ? i.group.length + o : o, !i.slides[t] && i.group[o] && (e = n('
').appendto(i.$refs.stage), i.slides[t] = n.extend(!0, {}, i.group[o], { pos: t, $slide: e, isloaded: !1 }), i.updateslide(i.slides[t])), i.slides[t] }, scaletoactual: function(t, e, i) { var a, s, r, c, l, d = this, u = d.current, f = u.$content, p = n.fancybox.gettranslate(u.$slide).width, h = n.fancybox.gettranslate(u.$slide).height, g = u.width, b = u.height; !d.isanimating && f && "image" == u.type && u.isloaded && !u.haserror && (n.fancybox.stop(f), d.isanimating = !0, t = t === o ? .5 * p : t, e = e === o ? .5 * h : e, a = n.fancybox.gettranslate(f), a.top -= n.fancybox.gettranslate(u.$slide).top, a.left -= n.fancybox.gettranslate(u.$slide).left, c = g / a.width, l = b / a.height, s = .5 * p - .5 * g, r = .5 * h - .5 * b, g > p && (s = a.left * c - (t * c - t), s > 0 && (s = 0), s < p - g && (s = p - g)), b > h && (r = a.top * l - (e * l - e), r > 0 && (r = 0), r < h - b && (r = h - b)), d.updatecursor(g, b), n.fancybox.animate(f, { top: r, left: s, scalex: c, scaley: l }, i || 330, function() { d.isanimating = !1 }), d.slideshow && d.slideshow.isactive && d.slideshow.stop()) }, scaletofit: function(t) { var e, o = this, i = o.current, a = i.$content; !o.isanimating && a && "image" == i.type && i.isloaded && !i.haserror && (n.fancybox.stop(a), o.isanimating = !0, e = o.getfitpos(i), o.updatecursor(e.width, e.height), n.fancybox.animate(a, { top: e.top, left: e.left, scalex: e.width / a.width(), scaley: e.height / a.height() }, t || 330, function() { o.isanimating = !1 })) }, getfitpos: function(t) { var e, n, o, i, a, s = this, r = t.$content, c = t.width || t.opts.width, l = t.height || t.opts.height, d = {}; return !!(t.isloaded && r && r.length) && (i = { top: parseint(t.$slide.css("paddingtop"), 10), right: parseint(t.$slide.css("paddingright"), 10), bottom: parseint(t.$slide.css("paddingbottom"), 10), left: parseint(t.$slide.css("paddingleft"), 10) }, e = parseint(s.$refs.stage.width(), 10) - (i.left + i.right), n = parseint(s.$refs.stage.height(), 10) - (i.top + i.bottom), c && l || (c = e, l = n), o = math.min(1, e / c, n / l), c = math.floor(o * c), l = math.floor(o * l), "image" === t.type ? (d.top = math.floor(.5 * (n - l)) + i.top, d.left = math.floor(.5 * (e - c)) + i.left) : "video" === t.contenttype && (a = t.opts.width && t.opts.height ? c / l : t.opts.ratio || 16 / 9, l > c / a ? l = c / a : c > l * a && (c = l * a)), d.width = c, d.height = l, d) }, update: function() { var t = this; n.each(t.slides, function(e, n) { t.updateslide(n) }) }, updateslide: function(t, e) { var o = this, i = t && t.$content, a = t.width || t.opts.width, s = t.height || t.opts.height; i && (a || s || "video" === t.contenttype) && !t.haserror && (n.fancybox.stop(i), n.fancybox.settranslate(i, o.getfitpos(t)), t.pos === o.currpos && (o.isanimating = !1, o.updatecursor())), t.$slide.trigger("refresh"), o.$refs.toolbar.toggleclass("compensate-for-scrollbar", t.$slide.get(0).scrollheight > t.$slide.get(0).clientheight), o.trigger("onupdate", t) }, centerslide: function(t, e) { var i, a, s = this; s.current && (i = math.round(t.$slide.width()), a = t.pos - s.current.pos, n.fancybox.animate(t.$slide, { top: 0, left: a * i + a * t.opts.gutter, opacity: 1 }, e === o ? 0 : e, null, !1)) }, updatecursor: function(t, e) { var o, i = this, a = i.current, s = i.$refs.container.removeclass("fancybox-is-zoomable fancybox-can-zoomin fancybox-can-drag fancybox-can-zoomout"); a && !i.isclosing && (o = i.iszoomable(), s.toggleclass("fancybox-is-zoomable", o), n("[data-fancybox-zoom]").prop("disabled", !o), o && ("zoom" === a.opts.clickcontent || n.isfunction(a.opts.clickcontent) && "zoom" === a.opts.clickcontent(a)) ? i.isscaleddown(t, e) ? s.addclass("fancybox-can-zoomin") : a.opts.touch ? s.addclass("fancybox-can-drag") : s.addclass("fancybox-can-zoomout") : a.opts.touch && "video" !== a.contenttype && s.addclass("fancybox-can-drag")) }, iszoomable: function() { var t, e = this, n = e.current; if (n && !e.isclosing && "image" === n.type && !n.haserror) { if (!n.isloaded) return !0; if (t = e.getfitpos(n), n.width > t.width || n.height > t.height) return !0 } return !1 }, isscaleddown: function(t, e) { var i = this, a = !1, s = i.current, r = s.$content; return t !== o && e !== o ? a = t < s.width && e < s.height : r && (a = n.fancybox.gettranslate(r), a = a.width < s.width && a.height < s.height), a }, canpan: function() { var t, e = this, n = !1, o = e.current; return "image" === o.type && (t = o.$content) && !o.haserror && (n = e.getfitpos(o), n = math.abs(t.width() - n.width) > 1 || math.abs(t.height() - n.height) > 1), n }, loadslide: function(t) { var e, o, i, a = this; if (!t.isloading && !t.isloaded) { switch (t.isloading = !0, a.trigger("beforeload", t), e = t.type, o = t.$slide, o.off("refresh").trigger("onreset").addclass(t.opts.slideclass), e) { case "image": a.setimage(t); break; case "iframe": a.setiframe(t); break; case "html": a.setcontent(t, t.src || t.content); break; case "video": a.setcontent(t, '