1function guid(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function killgrowler(e,t){var i=$("#growler #growleritem_"+e);t?i.find(".js-growler-close").click():i.remove()}function growler(e,t,i,a,n){var o="";a&&i&&!n&&(o='<div class="growler-actions js-growler-actions"><hr class="growler-actions-separator"><div class="growler-actions-row"><button class="btn btn-link js-growler-dont-show-month">30 TAGE nicht mehr anzeigen</button><button class="btn btn-link js-growler-dont-show-today">HEUTE nicht mehr zeigen</button></div></div>');var r,s=i||guid(),c=`growleritem js-growleritem ${t||""}`,l=$("#growler"),d=function(){r.stop().fadeOut(400,function(){r.remove(),l.children().length||l.removeClass("active")})},u="growler-status-icon icon-l ";return u+="warning"===t?"la-exclamation-triangle":"success"===t?"la-check":"la-info-circle",$("body").hasClass("js-is-v5")?r=$(`<div id="growleritem_${s}" class="${c}"><span class="las ${u}"></span><span>${e}</span><span class="las la-times growler-close-icon js-growler-close"></span></div>`):$("body").hasClass("js-is-lp")?r=$(`<div id="growleritem_${s}" class="toast show ${c}" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false"><div class="toast-header bg-${t??"warning"} text-white"><i class="las ${u} fs-lg me-2"></i><span class="fw-medium me-auto">Informationen</span><button type="button" class="growler-close-icon js-growler-close btn-close btn-close-white ms-2" data-bs-dismiss="toast" aria-label="Close"></button></div><div class="toast-body">${e}</div></div>`):(c+=" acts-on-hc-border animation-pending clearfix",r=$(`<div id="growleritem_${s}" class="${c}"><i class="glyphicon glyphicon-remove icon-remove pull-right js-growler-close"></i> ${e} ${o}</div>`)),killgrowler(s),l.addClass("active").append(r),a?(r.find(".js-growler-close").click(d),o&&(r.find(".js-growler-dont-show-month").click(function(){d(),$.cookie(s,1,{expires:30,path:"/"})}),r.find(".js-growler-dont-show-today").click(function(){d(),$.cookie(s,1,{expires:1,path:"/"})}))):r.click(d).animate({opacity:1},9e3,d),window.setTimeout(function(){r.animationTiming("onTransEnd",function(){r.animationTiming("doAnimWith","quick-zoom-in")}).removeClass("animation-pending")},500),s}function stickyGrowler(e,t,i){return growler(e,"warning",t,!0,i)}function defaultErrorGrowler(){growler("Leider ist etwas schief gegangen, probieren Sie es bitte sp\xe4ter nochmal oder kontaktieren Sie unseren Support.","warning",null,!0)}function jsonErrorMsgOrDefaultGrowler(e,t){var i=e.detail,a=i?i[0]:e.responseJSON,n=i?i[2].status:e.status;(_.isArray(t)?_.contains(t,n):n===t)&&a&&a.msg?growler(a.msg,"warning"):defaultErrorGrowler()}function PicLightbox(e){var t,i=e,a="pic-lightbox",n=[],o=_.template(i.find(".js-lightbox-modal-slider-templ").html()),r=function(e){return o({src:e.src})},s=function(){if(!t||t.activeIndex<0)return;const e=n[t.activeIndex].title;i.find(".js-modal-title").text(e).toggleClass("hide",!e)},c=function(e){n=e,t&&(t.virtual.removeAllSlides(),t.virtual.appendSlide(n),s())},l=function(e){if(t)t.slideTo(e);else{var a=i.find(".js-lightbox-modal-slider");t=new Swiper(a[0],{initialSlide:e,zoom:!0,on:{slideChange:s},virtual:{enabled:!0,slides:n,renderSlide:r}}),s()}},d=function(e){i.modal(e?"show":"hide")},u=function(){i.find(".js-modal-prev, .js-modal-next").toggleClass("hide",1===n.length)},g=function(){i.find(".swiper-slide-active").animationTiming("doAnimWith","shake")},h=function(){0!==t.activeIndex?t.slideTo(t.activeIndex-1):g()},p=function(){t.activeIndex!==n.length-1?t.slideTo(t.activeIndex+1):g()},m=function(){$(this).animationTiming("doAnimWith","quick-zoom-out-small-item").blur()},f=function(){$(window).on("keyup.pic-lightbox",function(e){37===e.keyCode?h():39===e.keyCode&&p()}),Pubsub.trigger("escape-listener:start",{id:a,callback:function(){d(!1)}})},v=function(){$(window).off("keyup.pic-lightbox"),Pubsub.trigger("escape-listener:stop",{id:a})},b=function(e,t){c(e),l(t),u(),d(!0)}
1,w=function(e){$(e.target).closest(".js-modal-image, .js-modal-prev, .js-modal-next").length||d(!1)};return function(){i.on("shown.bs.modal",f).on("hidden.bs.modal",v).on("click",w).on("click",".js-modal-prev",h).on("click",".js-modal-next",p).on("click",".js-modal-prev, .js-modal-next",m)}(),{open:b}}function PicRaceEQ(){var e="";this.push=function(t){var i=e=Math.random().toString(36).substring(7);return function(){i===e&&t.apply(this,arguments)}}}$.fn.animationTiming=function(e,t,i){var a=function(e){var t=document.createElement("div");for(var i in e)if(e.hasOwnProperty(i)&&void 0!==t.style[i])return e[i]},n=function(e,t,a){e.one(t,function(){e.removeClass(a),"function"==typeof i&&i()}).addClass(a)},o=a({animation:"animationend",OAnimation:"oanimationend",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd",MSAnimation:"MSAnimationEnd"}),r=a({transition:"transitionend",OTransition:"otransitionend",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"});return this.each(function(){"onTransEnd"===e?$(this).one(r,t):"offTransEnd"===e?$(this).off(r):"onTransEndStrict"===e?$(this).on(r,function(e){e.currentTarget===e.target&&($(this).off(e),$.proxy(t,this)())}):"doAnimWith"===e?n($(this),o,t):"doTransWith"===e&&n($(this),r,t)})},$(document).ready(function(){$(".js-check-domain-typos-form").on("submit",function(){var e=$
1(this),t=e.find(".js-check-domain-typos-input"),i=t.val().replace(/.*@/,""),a=PIC_DOMAIN_TYPOS[i];if(a){var n=t.val();e.append('<input type="hidden" name="corrected_mail_domain" value="'+n+'" />'),t.val(n.replace(/(?=@).*/,"@"+a))}})});var CookieConsent=function(){var e,t={},i=function(){var t=$("#biscuit-hint-modal");t.length&&!e.hasClass("hide")&&("undefined"!=typeof bootstrap?new bootstrap.Modal(t).show():t.modal("show"))},a=function(t){t.preventDefault(),e.removeClass("hide"),i()},n=function(t){var i=$(".js-biscuit-prefs-option");t&&i.prop("checked",!0),i=i.filter(":checked"),$.post(e.data("url"),{cookie_types:_.map(i,"value")},function(e){_.each(e.markup_changes||[],function(e){e.append?$(e.target).append(e.html):$(e.target).html(e.html)})})},o=function(){$("#biscuit-prefs-allow-all").click(_.partial(n,!0)),$("#biscuit-prefs-save").click(_.partial(n,!1)),$("#biscuit-modal-trigger").click(a),$("#language-choice-stay").click(function(){growler(PicI18n.get("language.saved"),"success")})};return t.init=function(){e=$("#alert-biscuit-hint"),i(),o()},t}();$(function(){$("#alert-biscuit-hint").length&&CookieConsent.init()}),$.fn.cropper.setDefaults({viewMode:1,dragMode:"none",movable:!1,guides:!1,cropBoxResizable:!1,zoomable:!1,background:!1,center:!1,minContainerWidth:1,minContainerHeight:1,checkCrossOrigin:!1,checkOrientation:!1,rotatable:!1,scalable:!1,toggleDragModeOnDblclick:!1}),$(function(){$("[data-invalid-message]").on("invalid",function(){this.setCustomValidity($(this).data("invalid-message"))}).on("input",function(){this.setCustomValidity("")})});var NumberFormatter=function(){var e={sumAsText:function(e,t,i){var a=String(e.toFixed(t||2)).replace(".",",");return i&&(a+=" "+i),a},centsAsPrice:function(e){return accounting.formatMoney(e/100)}};return e}();$(function(){var e,t,i,a,n,o,r,s,c,l,d,u,g,h,p;(s=function(){n.addClass("hide"),a.addClass("hide")},c=function(e){o.text(e),n.removeClass("hide"),a.removeClass("hide")},l=function(){c(PicI18n.get("payment.paypal.cancelled"))},d=function(e){var t=e.message;"Detected popup close"!==t&&"Native popup closed"!==t?c(t):l()},u=async function(e,t){const i=await fetch(e,{method:t?.isPatch?"PATCH":"POST",headers:{"Content-Type":"application/json"}}),a=await i.json();if(i.ok)return a;throw new Error(a.error)},g=async function(){s();const t=await u(i.data("url"));return e=t.captureURL,t.id},h=async function(){s();const t=await u(e,{isPatch:!0});window.location.href=t.redirectURL},p=function(){try{paypal.Buttons({createOrder:g,onApprove:h,onError:d,onCancel:l}).render(t)}catch(e){d(e)}},(r={}).init=function(){t="#paypal-element",i=$(t),n=$("#payment-errors"),a=$("#payment-alternative"),0===(o=$("#payment-error-message")).length&&(o=n),i.length&&p()},r).init()});var Payrexx={init:function(){$(function(){$(".payrexx-modal-button").each(function(){var e=$
1(this).data("cancelled-url"),t=$(this).data("success-url");$(this).payrexxModal({hideObjects:["footer"],hidden:function(i){console.log(i),i.status&&("confirmed"===i.status?window.location.href=t+"&"+$.param(i):window.location.href=e)}})})})}};$(function(){function e(){$(document).ready(function(){$("body").on("contextmenu",function(){return!1})})}function t(){o||(o=!0,devtoolsDetector.addListener(function(e){e&&(r||(r=!0,window.location.href=a.data("blocked-url")||"/blocked"))}))}const i=$("body"),a=$("#photo-protection");let n=new URLSearchParams(document.location.search).has("dt-old"),o=!1,r=!1;if(0!==a.length&&!MobileOrderCheck.run())if($(document).on("keydown",function(e){const t=e.ctrlKey||e.shiftKey||e.altKey||e.metaKey,a=e.ctrlKey||e.metaKey,n="PrintScreen"===e.key||"Snapshot"===e.key||"PrintScreen"===e.code||44===e.keyCode,o="F12"===e.key,r="Escape"===e.key||27===e.keyCode,s=e.key.toLowerCase(),c=a&&("u"===s||e.altKey&&"u"===s),l=(e.ctrlKey&&e.shiftKey||e.metaKey&&e.altKey)&&("i"===s||73===e.keyCode);(o||l||c)&&(e.preventDefault(),e.stopPropagation()),t&&(i.addClass("blurrify"),i.attr("oncontextmenu","return false;")),n&&(i.addClass("blurrify"),i.attr("oncontextmenu","return false;")),r&&(i.removeClass("blurrify"),i.attr("oncontextmenu","return true;"))}),$(document).on("contextmenu",function(){i.addClass("blurrify"),i.attr("oncontextmenu","return false;")}),$(window).on("blur",function(){i.addClass("blurrify"),i.attr("oncontextmenu","return false;")}),window.addEventListener("keyup",e=>{"PrintScreen"!==e.key&&"Snapshot"!==e.key&&"PrintScreen"!==e.code&&44!==e.keyCode||(e.preventDefault(),i.addClass("blurrify"))}),$(".js-photo-protection-unblur").on("click",function(e){e.preventDefault(),i.removeClass("blurrify")}),n){const t=()=>{i.remove(),$("html div").remove(),$("html").append('<div class="protect-alert"><b>Sicherheitshinweis</b>: Bitte deaktiviere die DEV-Tools und lade die Seite neu.<br> Oder schlie\xdfen Sie ggf. Seitenleisten in Ihrem Browser.<br><br> <b>Stellen Sie au\xdferdem sicher, dass Sie keinen Zoom im Browser aktiviert haben.</b></div> ')},a=()=>{const e=160,i=window.outerWidth-window.innerWidth>e,a=window.outerHeight-window.innerHeight>e;(i||a)&&(console.log("DevTools sind vermutlich offen und angedockt."),t())};window.addEventListener("resize",_.debounce(a,200)),a();const n=()=>{const e=new Image;Object.defineProperty(e,"id",{get:function(){console.log("DevTools erkannt!"),t()}}),console.log(e)};e(),setInterval(n,2e3)}else{const i=()=>{t(),devtoolsDetector.stop(),devtoolsDetector.setDetectDelay(2e3),devtoolsDetector.launch()};i(),window.addEventListener("pageshow",function(e){e.persisted&&(r=!1),i()}),window.addEventListener("focus",i),document.addEventListener("visibilitychange",function(){document.hidden||i()}),e()}});var PhotoProtectionHintOnImage=function(){const e={},t=[];let i="";return e.fit=function(e){const t=e.querySelector(".js-photo-protection-hint-on-image"),i=t?.querySelector(".js-photo-protection-hint-on-image-text"),a=t?.querySelector(".js-photo-protection-hint-on-image-move-hint"),n=8,o=13;if(!i||!t.offsetHeight)return;i.hidden=!0;const r=t.offsetHeight;i.hidden=!1;const s=function(e){return i.style.fontSize=e+"px",t.offsetHeight<=r&&t.scrollWidth<=t.clientWidth},c=function(){let e=n,t=r;if(!s(e))return e;for(;t-e>.5;){const i=(e+t)/2;s(i)?e=i:t=i}return s(e),e};a.classList.remove("hide"),c()<o&&(a.classList.add("hide"),c())},e.setIp=function(a){i=a,$(".js-photo-protection-hint-on-image-ip").text(a),$(".js-photo-protection-hint-on-image").each(function(){e.fit(this.parentElement)}),t.forEach(function(e){e(a)})},e.getIp=function(){return i},e.onSetIp=function(e){t.push(e)},e.createObserver=function(){return new ResizeObserver(function(t){t.forEach(function(t){e.fit(t.target)})})},$(function(){const t=$(".js-photo-protection-hint-on-image");if(!t.length)return;const i=e.createObserver();t.each(function(){i.observe(this.parentElement)}),$(document).on("click",".js-photo-protection-hint-on-image",function(){$("body").toggleClass("photo-protection-hint-on-top")})}),e}(),PicI18n={get:function(e){return PIC_I18N_TRANSLATIONS[e]}},PicIBAN=function(){var e={},t={DE:"\\d{18}",AT:"\\d{16}"};return e.isValid=function(e){if(!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(e))return!1;var i=e.replace(/ /g,""),a=i.substring(0,2),n=t[a];if(void 0!==n&&!new RegExp("^[A-Z]{2}\\d{2}"+n+"$","").test(i))return!1;for(var o=i.substring(4,i.length)+i.substring(0,4),r="",s=!0,c=0;c<o.length;c++){var l=o.charAt(c);"0"!==l&&(s=!1),s||(r+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(l))}for(var d="",u=0;u<r.length;u++){d=(""+d+r.charAt(u))%97}return 1===d},e}(),PicRateLimit=function(){var e={},t=100,i=0,a=function(){i--};return e.rateLimit=function(n){i<t?(n(),i++,setTimeout(a,1e3)):setTimeout(_.partial(e.rateLimit,n),1e3)},e}(),PicScroll=function(){var e={to:function(e,t,i){var a="function"!=typeof i;$("body, html").stop(!0,!0).animate({scrollTop:e},t,function(){a||(a=!0,i())})},toElement:function(t,i,a,n){var o=0,r=function(){return t.offset().top-(i||0)-30}
1,s=function(){var e=$(document).height()-$(window).height();if($("html").scrollTop()===e)return!1;var t=$("html").scrollTop()-r();return Math.abs(t)>10},c=function(){e.to(r(),a,function(){o<3&&s()?(o++,c()):"function"==typeof n&&n()})};c()}};return e}(),PicStorage=function(){var e,t={},i="",a="",n="",o="",r="",s="",c=!1,l=!1,d="",u="",g="",h="",p="",m="",f="",v="",b="",w="",k="",C="lastProductData",$=function(e){var t=localStorage.getItem(e);return!!t&&JSON.parse(t)},P=function(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch(e){JSON.stringify(localStorage).length;alert("\xc4nderungen gehen eventuell verloren, da Ihr lokaler Speicher (sog. localStorage) voll ist! Bitte benachrichtigen Sie das Support-Team.")}},I=function(e,t){return a+e+"_"+t},y=function(){t.setLocalTs(),P(u,{lastUpdateTs:e})},A=function(e){localStorage.removeItem(e)},D=function(){var t=2592e6,i=$(u);if(i&&e>i.lastUpdateTs+t)return localStorage.clear(),void console.log("deleted all localStorage data because it was outdated");for(var n in localStorage)if(n.indexOf(r)>-1||n.indexOf(a)>-1){var o=$(n);(!o.ts||e>o.ts+t)&&(A(n),console.log("deleted old pt or package data",n,o.ts))}};return t.getOrdered=function(){return $(i)||{}},t.getPricetableData=function(e,i,a){var n=$(r+e);return!!n&&(a||n.killswitch&&n.killswitch===i?n.data:(t.deletePricetableData(e),!1))},t.getPackageData=function(e,t){var i=I(e,t),a=$(i);return!!a&&a.data},t.getComposedPackages=function(){return $(n)||{}},t.getAlbumPackagesInCart=function(){return $(o)||[]},t.getCustomArticles=function(){return $(s)||{}},t.setOrdered=function(e){P(i,e),y()},t.setPricetableData=function(t,i,a){a||(a=$(r+t).killswitch),P(r+t,{ts:e,killswitch:a,data:i})},t.setPackageData=function(t,i,a){P(I(t,i),{data:a,ts:e})},t.setComposedPackages=function(e){P(n,e),y()},t.setAlbumPackagesInCart=function(e){P(o,e),y()},t.setLocalTs=function(){e=(new Date).getTime()},t.setCustomArticles=function(e){P(s,e),y()},t.deleteOrdered=function(){A(i),y()},t.deletePricetableData=function(e){A(r+e)},t.getWished=function(){return $(d)||{}},t.getLog=function(){return $(g)||[]},t.getShopdesignerVersion=function(){return $(v)},t.getShopdesignerSettings=function(){return $(f)||{}},t.getStartpagePositions=function(){return $(m)||[]},t.getShopdesignerUploads=function(){return $(b)||{}},t.getExpandedSections=function(){return $(w)||{}},t.getPinnedSdStatus=function(){return $(k)||!1},t.hasBeenUpdatedInOtherTab=function(){var t=$(u);return!!t&&t.lastUpdateTs>e},t.hasSeenCategoryHint=function(){return!!$(h)},t.hasSeenScrollHint=function(){return!!$(p)},t.setWished=function(e){P(d,e),y()},t.setLog=function(e){P(g,e)},t.setSeenCategoryHint=function(){P(h,!0)},t.setSeenScrollHint=function(){P(p,!0)},t.setShopdesignerVersion=function(e){P(v,e)},t.setShopdesignerSettings=function(e){P(f,e)},t.setStartpagePositions=function(e){P(m,e)},t.setShopdesignerUploads=function(e){P(b,e)},t.setExpandedSections=function(e){P(w,e)},t.setPinnedSdStatus=function(e){P(k,e)},t.deleteAllOrderedPackages=function(){var e=t.getComposedPackages(),i={};_.each(e,function(e,t){e.isProcessing&&(i[t]=e)}),t.setComposedPackages(i),t.setAlbumPackagesInCart([])},t.deleteLog=function(){A(g)},t.getDefaultProductData=function(){return $(C)||{}},t.setLastProductData=function(e){P(C,e)},t.makeMobile=function(){l=!0},t.init=function(e){if(!c){i="ordered"+e,n="composedPackages"+e,o="albPackInCart"+e,s="customArticles"+e,r=(l?"pt_m":"pt")+e+"_",a="packageData"+e+"_";var C="_v5_sd";d="wishlist"+e,u="update"+e,g="log"+e,h="knowsCategoryHint",p="knowsScrollHint",m="startPos"+e+C,f="sdSettings"+e+C,v="sdVersion"+e+C,b="sdUploads"+e+C,w="sdExpandedSections",k="sdPinned",t.setLocalTs(),D(),c=!0}},t}(),PicTempl={get:function(e,t){var i=$("#"+e),a=i.html();return i.remove(),a&&t&&(a=a.replace(/(src="" )?data-src="{{ ?src ?}}"/,'src="{{src}}"').replace(/data-poster="{{ ?poster ?}}"/,'poster="{{poster}}"')),_.template($.trim(a))}};_.templateSettings={escape:/\{\{\{(.+?)\}\}\}/g,interpolate:/\{\{(.+?)\}\}/g,evaluate:/\{%(.+?)%\}/g};var PicUpload=function(){var e,t,i,a,n,o,r,s,c={},l="",d=0,u=0,g=function(e){o.toggleClass("disabled",e).find("input").prop("disabled",e)},h=function(){s||(s=$('<progress class="fileupload-overall-progress" value="
10" max="100" ></progress>'),o.after(s),r.text("Bitte warten..."),g(!0))},p=function(){u===d&&(s&&(s.remove(),s=null),d=0,r.text(l),g(!1),t&&t())},m=function(e){"function"==typeof stickyGrowler?stickyGrowler(e):alert(e)},f=function(){var t={beforeSend:h,complete:function(){u++,p(),a&&a()},add:function(e,a){0===d&&(d=a.originalFiles.length,u=0,i&&i(d));var n=a.files[0];/(\.|\/)(gif|jpe?g|png)$/i.test(n.type||n.name)?a.submit():(m(n.name+": Es werden nur Bilder in den Formaten jpg, png und gif akzeptiert."),t.complete())},progressall:function(e,t){var i=parseInt(t.loaded/t.total*100,10);if(s.val(i),100===i){var a=$('<span class="fileupload-processing">Verarbeite...</span>');s.replaceWith(a),s=a}},fail:function(e,t){var i=t.jqXHR,a="Es ist ein Fehler bei der Verarbeitung aufgetreten.";400===i.status&&(a=i.responseText),m(t.files[0].name+": "+a)}};n.fileupload(_.extend(t,e))};return c.init=function(s,c){n=(o=s).find(".js-pic-upload-input"),r=o.find(".js-pic-upload-label"),l=r.text(),t=c.allDone,i=c.addFiles,a=c.complete,delete c.allDone,delete c.addFiles,delete c.complete,e=c,f()},c}();$(function(){$(document).on("click",".js-show-productinfo",function(e){e.preventDefault();var t=$(this),i=$("#pricing-productinfo"),a=".js-cat-"+t.attr("data-pc"),n=t.attr("data-pb"),o=t.attr("data-pp");n?a+="-pb-"+n:o&&(a+="-pp-"+o);var r=i.find(".modal-title, .productinfo-wrap").hide().filter(a).show().filter(".productinfo-wrap"),s=r.find("img"),c=r.find("iframe"),l=s.data("src"),d=c.data("src"),u=function(e,t){e.prop("src",t).removeData("src").removeAttr("data-src")};l&&u(s,l),d&&u(c,d),$("#productinfo-cat-images-link").toggleClass("hide",!!o),i.modal("show")})}),reloadOnMissingLib("_");var Pubsub=_.extend({},Backbone.Events);$(function(){if($("#payment-element").length){var e=document.getElementById("stripe-wrap"),t=$("body").hasClass("js-is-v5"),i=[],a=window.getComputedStyle(document.body),n=!1,o=document.getElementById("stripe-submit"),r=o.dataset.secret,s=o.dataset.returnurl,c=o.dataset.primarycolor,l=function(e){return a.getPropertyValue(e)},d=function(){"undefined"==typeof Rails?$("#stripe-submit").picDisableWithText("reenable"):Rails.enableElement(e)};if(t)for(var u=0;l(`--font-face-${++u}-name`);)i.push({family:l(`--font-face-${u}-name`),src:l(`--font-face-${u}-url`).replaceAll("\\",""),weight:l(`--font-face-${u}-weight`)});const g={theme:"flat",variables:{colorPrimary:c,colorText:t?l("--text-color-dark"):"",colorTextSecondary:t?l("--text-color-dark"):"",colorDanger:t?l("--danger-red"):"#d00",fontFamily:t?l("--font-face-1-name")+', "system-ui", sans-serif':'"Apfel Grotezk", "system-ui", "Open Sans", "Helvetica Neue", sans-serif',borderRadius:"0",spacingGridRow:l("--form-group-margin-bottom")},rules:{".Input":{fontSize:t?l("--label-font-size"):"",padding:t?l("--form-control-padding"):"12px",backgroundColor:t?l("--light-gray"):"white",border:t?"none":"1px solid #d9d9d9",borderBottom:t?l("--input-border-bottom"):"",lineHeight:t?l("--form-control-line-height"):""},".Input:focus":{boxShadow:t?l("--input-focus-box-shadow"):""},".Tab":{backgroundColor:t?l("--light-gray"):"white",border:t?"none":"1px solid #d9d9d9",fontSize:t?l("--label-font-size"):""},".Tab:hover":{backgroundColor:t?"":"#f9f9f9",color:t?l("--hc"):"",boxShadow:t?"":"0px 2px 2px rgba(0, 0, 0, 0.05)"},".Tab--selected, .Tab--selected:focus, .Tab--selected:hover":{borderColor:t?l("--hover-gray"):c,backgroundColor:t?l("--hover-gray"):c,boxShadow:"none"},".Label":t?{fontSize:l("--label-font-size"),fontWeight:l("--label-font-weight"),textTransform:l("--label-text-transform"),letterSpacing:l("--label-letter-spacing")}:{fontWeight:"500"}}},h=stripe.elements({clientSecret:r,appearance:g,fonts:i}),p="undefined"!=typeof DEFAULT_STRIPE_PAYMENT_TYPE?DEFAULT_STRIPE_PAYMENT_TYPE:"card";h.create("payment",{paymentMethodOrder:[p]}).mount("#payment-element"),e.addEventListener("submit",async e=>{if(e.preventDefault(),n)return;n=!0;const{error:t}=await stripe.confirmPayment({elements:h,confirmParams:{return_url:s}});t&&(n=!1,d(),document.getElementById("payment-errors").textContent=t.message)})}}),$(function(){$(document).on("click",".js-toggle-trigger",function(e){function t(e){return!0===e||""===e}e.preventDefault();var i=$(this).blur(),a=$(i.data("toggle-target")||i.attr("href")),n=t(i.data("toggle-slide")),o=t(i.data("toggle-fade")),r=i.data("toggle-once"),s=i.data("toggle-text"),c=i.data("toggle-always-hide");void 0!==r&&(t(r)?i:$(r)).remove();if(s){var l=i.text();i.text(s),i.data("toggle-text",l)}n?a.slideToggle(125):o?a.fadeToggle(125):a.toggleClass("hide"),c&&$(c).addClass("hide")})});var AbstractCropperModel=Backbone.Model.extend({MODE_MATCH:"match",MODE_CROP:"crop",MODE_VARIABLE:"variable",MODE_CANVAS_NO_FRAME:"canvas-noframe",MODE_CANVAS_REFLECT:"canvas-reflect",VAL_VERT:"vertical",VAL_HORI:"horizontal",RATIO_MATCH_TOLERANCE:2,getDefaultCropData:function(){var e=this._getFormatRatioWithFrame();return{data:this._calculateCropData(e),aspectRatio:e}},isCanvasNoFrame:function(){return this.get("mode")===this.MODE_CANVAS_NO_FRAME},_getFormatRatioWithFrame:function(){var e=this.get("formatData"),t=e.ratio,i=e.forceOrientation||this.get("mode")===this.MODE_CROP&&this.get("customOrientation");
1return this.isCanvasNoFrame()&&(t=(e=this._getFormatWidthAndHeightWithFrame()).width/e.height),this._fixFormatRatio(t,i)},_getFormatWidthAndHeightWithFrame:function(){var e=this.get("formatData"),t=e.width,i=e.height,a=0;return this.isCanvasNoFrame()&&(a=2*CANVAS_FRAME_WIDTH_MM/10),{width:t+a,height:i+a}},_fixFormatRatio:function(e,t){var i=e;if(t)(t===this.VAL_HORI&&e<1||t===this.VAL_VERT&&e>1)&&(i=1/e);else{var a=this.get("imgRatio");(a<1&&e>1||a>1&&e<1)&&(i=1/e)}return i},_calculateCropData:function(e){var t,i=this.get("imgWidth"),a=this.get("imgHeight");if(this.get("imgRatio")>e){var n=Math.floor(a*e);t={width:n-.1,height:a,x:(i-n)/2,y:0}}else{var o=Math.floor(i/e);t={width:i,height:o,x:0,y:(a-o)/2}}return t}}),CropperModel=AbstractCropperModel.extend({defaults:{imgRatio:null,imgWidth:null,imgHeight:null,formatData:null,mode:null},initialize:function(e){var t=e.isDigital?{}:this._ensureRatioIsFloat(e.formatData);this.set({formatData:t,mode:this._calculateCropMode(t,e.isDigital,e.isSticker)})},_ensureRatioIsFloat:function(e){return $.extend({},e,{ratio:parseFloat(e.ratio)})},_calculateCropMode:function(e,t,i){return t||this._isRatioMatch(e,i)?this.MODE_MATCH:e.frame?this.MODE_CANVAS_REFLECT:this.MODE_CROP},_isRatioMatch:function(e,t){var i=e.ratio,a=!e.forceOrientation,n=!!e.frame;if(i&&!n&&!t){var o=this.RATIO_MATCH_TOLERANCE/100,r=this.get("imgRatio"),s=r*(1-o),c=r*(1+o),l=function(e){return e>=s&&e<=c};if(l(i)||a&&l(1/i))return!0}return!1}}),PackageComposerImageModel=Backbone.Model.extend({defaults:{imageId:null,ratio:null,url:"",title:"",width:null,height:null,isActive:!1,resolveSizeBy:null,cropData:null,albumId:0,albumUrl:"",albumTitle:"",minOrderVal:0,isQr:!1,isSticker:!1,allowKf:!0,isKfAutofilled:!1,isFromKfAlbum:!1,classAlbumID:null,isAllowedForAlbum:!0,showKfOverwriteHint:!1},initialize:function(){this.listenTo(this,"change",this.updateDebugCropper)},updateDataAfterImageSelection:function(e,t){var i=new CropperModel({formatData:this.collection.formatData,isDigital:this.collection.isDigital,isSticker:this.collection.isSticker,imgWidth:e.width,imgHeight:e.height,imgRatio:e.ratio}),a={imageId:e.id,ratio:e.ratio,url:e.url,title:e.title||e.filename,width:e.width,height:e.height,isActive:!1,resolveSizeBy:i.get("mode"),albumId:e.albumId,albumUrl:e.albumUrl,albumTitle:e.albumTitle,minOrderVal:e.minOrderVal,isQr:e.isQr,isSticker:this.collection.isSticker,isFromKfAlbum:this.isKfAlbum()||t&&t.isKfAutofill,classAlbumID:$("body").data("class-album-id")};"match"!==a.resolveSizeBy&&(a.cropData=i.getDefaultCropData()),this.set(a),t&&(t.isSameImageForAll||t.isKfAutofill)||this.trigger("update-after-selection-completed",e)},reset:function(e){this.set(_.extend(_.clone(this.defaults),{allowKf:this.get("allowKf")},e||{}))},updateDebugCropper:function(){var e=this.get("url");(this.changed.isActive&&e||this.changed.url)&&Pubsub.trigger("package-image:show-debug-cropper",e,this.get("resolveSizeBy"),this.get("cropData"))},isKfAlbum:function(){return"undefined"!=typeof IS_KF_ALBUM},isAllowed:function(){return!!this.get("isAllowedForAlbum")&&(!this.isKfAlbum()||this.get("allowKf"))},isNotAllowedForKf:function(){return this.isKfAlbum()&&!this.get("allowKf")}}),PackageModel=Backbone.Model.extend({defaults:{packageId:null,uuid:null,name:"",discount:"",price:0,count:1,color:"",isAlbumPackage:!1,isCalendarPackage:!1,startMonth:null,startYear:null,isBrightCalendar:!1,forbidMultipleAlbums:!1,sameImageForAllProducts:!1,withFreeDownload:!1,withFreeGalleryDownload:!1,withKfDownloadMode:"never",isActive:!1,isProcessing:!1,isInCart:!1,products:[],startedProcessingTs:null},initialize:function(){if(this._addNewUUID(),this.on("change:isActive",this.updateAllowedForAlbum),this.on("change:isActive",this.updateShowKfOverwriteHint),this.listenTo(Pubsub,"package-image:remove-url",this.updateAllowedForAlbum),this.listenTo(Pubsub,"package-collection:decorated",this.markProcessingOnImageChange),this.listenTo(Pubsub,"cart:delete-ordered-packages",this.removeFromCart),this.listenTo(Pubsub,"package-image:remove-url",this.cancelIfNoImages),this.get("sameImageForAllProducts")&&this._listenToSameImageForAllEvents(),this.get("isCalendarPackage")){var e=new Date,t=e.getFullYear(),i=e.getMonth()<4;this.set({startMonth:0,startYear:i?t:t+1})}},markProcessingOnImageChange:function(){this.get("isProcessing")||this.forEachImage(function(e){this.listenTo(e,"change",this._markAsProcessing)})},removeFromCart:function(){this.set("isInCart",!1)},resetOnComposerHideComplete:function(){this.listenToOnce(Pubsub,"package-composer:hide-complete",this._reset)},cancelIfNoImages:function(){this.get("isActive")&&!this.get("products").hasImages()&&(this.cancel(!0),this.markProcessingOnImageChange())},updateAllowedForAlbum:function(){if(this.get("isActive")&&this.get("forbidMultipleAlbums")){var e=$
1("body"),t=PackageAlbumRestrictionHelper.isCurrentAlbumAllowed({currentAlbumID:e.data("album-id"),currentClassID:e.data("class-album-id"),isInKfAlbum:this._isKfAlbum(),package:this});this.forEachImage(function(e){e.set({isAllowedForAlbum:t})})}},updateShowKfOverwriteHint:function(){const e=this.get("products").where({isKlassenfoto:!0}).length>0,t=-1!==("undefined"==typeof ALLOWED_KF_PACKAGE_IDS?[]:ALLOWED_KF_PACKAGE_IDS).indexOf(this.get("packageId"));this.forEachImage(function(i){i.set({showKfOverwriteHint:e&&t&&i.get("allowKf")})})},applySameImage:function(e,t){this._forEachNonKlassenfotoImage(function(i){i.cid!==e&&i.updateDataAfterImageSelection(t,{isSameImageForAll:!0})})},resetImageForAll:function(){this._forEachNonKlassenfotoImage(function(e){""!==e.get("url")&&e.reset()})},cancel:function(e){this.set({isProcessing:!1}),e||this.resetOnComposerHideComplete(),Pubsub.trigger("package:cancel",this.get("uuid"))},addToCart:function(){this._removeEmptyDynamicImages(),this.set({isInCart:!0,isProcessing:!1}),this.resetOnComposerHideComplete(),Pubsub.trigger("package:add-to-cart",this)},getProgressInPercent:function(){var e=0,t=0;return this.forEachImage(function(i){i.get("url").length>0&&e++,t++}),Math.round(100*e/t)},isDigitalOnly:function(){return 0===this.get("products").where({isDigital:!1}).length}
1,forEachImage:function(e){var t=this;this.get("products").forEachImage(function(i){e.call(t,i)})},_addNewUUID:function(){var e=this.get("packageId")+"-"+(Math.random()+1).toString(36).substring(5);this.set({uuid:e})},_stopListeningForImageChanges:function(){this.forEachImage(function(e){this.stopListening(e,"change")})},_markAsProcessing:function(){this.get("products").hasImages()&&(this.set({isProcessing:!0,startedProcessingTs:(new Date).getTime()}),this._stopListeningForImageChanges())},_reset:function(){var e=this.get("products").getDynamicQuantityProduct();if(e){var t=e.get("origCount"),i=e.get("images"),a=i.filter(function(e,i){return i>=t});i.remove(a),e.set({count:t})}var n=!0;this.forEachImage(function(e){e.reset({isActive:n}),n=!1}),this._addNewUUID(),this.markProcessingOnImageChange()},_removeEmptyDynamicImages:function(){var e=this.get("products").getDynamicQuantityProduct();if(e){var t=e.get("images"),i=t.filter({url:""});t.remove(i),e.set({count:t.length})}},_listenToSameImageForAllEvents:function(){const e=this._isKfAlbum(),t=_.bind(this.resetImageForAll,this);this.forEachImage(function(i){e||this.listenTo(i,"update-after-selection-completed",_.partial(this.applySameImage,i.cid)),this.listenTo(i,"remove-url",function(){i.previous("isFromKfAlbum")||t()})})},_isKfAlbum:function(){return"undefined"!=typeof IS_KF_ALBUM},_forEachNonKlassenfotoImage:function(e){var t=this;this.get("products").each(function(i){i.get("images").each(function(a){(!i.get("isKlassenfoto")||!a.get("isFromKfAlbum")&&a.get("url"))&&e.call(t,a)})})}}),PackageProductModel=Backbone.Model.extend({defaults:{itemId:null,variationId:null,count:0,origCount:0,name:"",options:"",formatData:null,isDigital:!1,isVideo:!1,isKlassenfoto:!1,infoContent:null,shortDescription:null,isDynamicQuantity:!1,images:[]},getInfoContent:function(e,t){var i=this.get("infoContent");if(i)t(i);else{var a=this;$.ajax({url:e,data:{ppitem_id:this.get("itemId")},success:function(e){a.set({infoContent:e}),t(e)},error:function(){t(!1)}})}},addImages:function(e){this.set({count:this.get("count")+e}),this.get("images").addImages(e)}});const kfDownloadExcludedHintMethods={_showKfDownloadExcludedHint:function(){const e=this.model.attributes;return!("never"!==e.withKfDownloadMode||!e.withFreeDownload&&!e.withFreeGalleryDownload)&&(!(!this.collection||!this.collection.anyFromKfAlbum())||(!("undefined"==typeof IS_KF_ALBUM||!IS_KF_ALBUM)||"undefined"!=typeof ALLOWED_KF_PACKAGE_IDS&&ALLOWED_KF_PACKAGE_IDS.includes(e.packageId)))}};var scrollPosRestorableMethods={_height:function(e){return(e||this.$el).outerHeight(!0)},_restoreScrollPos:function(e,t){var i=this._height(t)-e,a=$(window).scrollTop();0!==i&&$(window).scrollTop(a+i)}},PackageComposerImageCollection=Backbone.Collection.extend({model:PackageComposerImageModel,formatData:null,isDigital:!1,isSticker:!1,initialize:function(e,t){this.formatData=t.formatData,this.isDigital=t.isDigital,this.isSticker=t.isSticker,t.dummyCount&&this.addImages(t.dummyCount,t)},addImages:function(e,t){var i=this;_.times(e,function(e){var a={};t&&(a={isActive:0===e&&t.makeFirstActive,allowKf:t.allowKf,isSticker:t.isSticker}),i.add(new PackageComposerImageModel(a))})}}),PackageProductsCollection=Backbone.Collection.extend({model:PackageProductModel,initialize:function(e,t){var i=this,a=!0,n=_.every(t.productsData,function(e){return!e.isKlassenfoto});t.productsData.forEach(function(e){i.add(new PackageProductModel({itemId:e.id,variationId:e.variationId,name:e.name,options:e.options,count:e.count,origCount:e.origCount||e.count,formatData:e.formatData,isDigital:e.isDigital,isVideo:e.isVideo,isKlassenfoto:e.isKlassenfoto,shortDescription:e.shortDescription,isDynamicQuantity:e.isDynamicQuantity,images:new PackageComposerImageCollection(null,{ 2dummyCount:e.count,makeFirstActive:a,formatData:e.formatData,isDigital:e.isDigital,allowKf:n||e.isKlassenfoto,isSticker:e.isSticker})})),a=!1})},forEachImage:function(e){this.each(function(t){t.get("images").each(e)})},getActive:function(){return this._findProductByImageWhere({isActive:!0})},getDynamicQuantityProduct:function(){return this.findWhere({isDynamicQuantity:!0})},setNextActiveImage:function(){var e=this._findImageWhere({url:""});e&&e.set({isActive:!0})},hasImages:function(){return!!this._findByImage(function(e){return e.get("url").length>0})},isDone:function(){return!this._findImageWhere({url:""})},anyFromKfAlbum:function(){return this.any(function(e){return e.get("images").any(e=>e.get("isFromKfAlbum"))})},allowAddToCart:function(){return this.isDone()||this.every(function(e){var t=e.get("images");return e.get("isDynamicQuantity")?t.some("url"):t.every("url")})},ensureActive:function(){this.getActive()||this.isDone()||this.setNextActiveImage()},_findImageWhere:function(e){return this._findByImage(e,!0)},_findProductByImageWhere:function(e){return this._findByImage(e,!1)},_findByImage:function(e,t){var i,a,n="function"==typeof e;return a=this.find(function(t){var a=t.get("images");return!!(i=n?a.find(e):a.findWhere(e))}),t?i:a}}),PackagesCollection=Backbone.Collection.extend({model:PackageModel,cookieKey:"hide-packages",initialize:function(e,t){var i=this;return t.packagesData.forEach(function(e){const{id:t,discountPercent:a,...n}=e;i.add(new PackageModel({...n,packageId:t,discount:a,products:new PackageProductsCollection(null,{productsData:e.products})}))}),this.listenTo(Pubsub,"package:change-active",this.changeActive),this.listenTo(Pubsub,"package-composer:hide",this.resetActive),this.listenTo(this,"change:isProcessing",this.pubHasUnfinished),this},changeActive:function(e){this.resetActive(),e.set({isActive:!0})},resetActive:function(){var e=this._findActive();e&&e.set({isActive:!1})},pubHasUnfinished:function(){Pubsub.trigger("package:update-has-unfinished",{hasUnfinishedPackages:this.countUnfinished()>0,hasUnfinishedCalendars:this.countUnfinished(!0)>0})},isHiddenByCookie:function(){return!!$.cookie(this.cookieKey)},setHiddenCookie:function(){$.cookie(this.cookieKey,"1",{path:"/"}),this.trigger("change")},removeHiddenCookie:function(){$.cookie(this.cookieKey,"",{expires:-1,path:"/"}),this.trigger("change")},countUnfinished:function(e){return this.reduce(function(t,i){return t+(!!e===i.get("isCalendarPackage")&&i.get("isProcessing")?1:0)},0)},_findActive:function(){return this.findWhere({isActive:!0})}}),DynamicAutofill=function(){var e={},t=function(e){Pubsub.trigger("package-collection:request-image-data",function(t){var i=e.get("images").length,a=e.get("images").findLastIndex(e=>e.get("url"))+1,n=t.length-i+a;n>0&&e.addImages(n),_.each(t,function(t,i){e.get("images").at(a+i).updateDataAfterImageSelection(t)})})},i=function(e,i){var a=e.get("products").getDynamicQuantityProduct();!a||i&&e.getProgressInPercent()>0||(t(a),Pubsub.trigger("package-composer:dynamic-fill-complete"))},a=function(){e.listenTo(Pubsub,"package:change-active",e=>i(e,!0)),e.listenTo(Pubsub,"package-composer:fill-dynamic",e=>i(e,!1))};return e.init=function(){"undefined"!=typeof ALLOW_DYNAMIC_AUTOFILL&&(e=_.extend(e,Backbone.Events),a())},e}(),KlassenfotoAutofill=function(){var e,t={},i=function(t){var i=t.get("products").where({isKlassenfoto:!0});i.length&&_.contains(ALLOWED_KF_PACKAGE_IDS,t.get("packageId"))&&_.each(i,function(t){t.get("images").each(function(t){t.get("url")||(t.updateDataAfterImageSelection(e,{isKfAutofill:!0}),t.set("isKfAutofilled",!0),Pubsub.trigger("package-image:url-changed"))})})},a=function(){t.listenTo(Pubsub,"package:change-active",i)};return t.init=function(i){e=i,t=_.extend(t,Backbone.Events),a()},t}(),PackageAlbumRestrictionHelper=function(){var e={isCurrentAlbumAllowed:function(e){if(!e||!e.package.get("forbidMultipleAlbums"))return!0;var t=!0,i=+e.currentAlbumID,a=+e.currentClassID,n=!!e.isInKfAlbum;return e.package.forEachImage(function(e){t&&e.get("url")&&(t=n||e.get("isFromKfAlbum")?a===+e.get("
2classAlbumID"):i===+e.get("albumId"))}),t}};return e}(),PackageCollectionFetcher=function(){var e,t,i,a,n,o={},r=[],s=[],c=function(){var t=_.partition(r,function(e){return e.isAlbumPackage}),i=t[0],a=_.chain(t[1]).sortBy("price").sortBy("position").value();e&&(a=[...a,...i]),PackageStore.init({packagesData:a,callback:function(t){e?n(t):n(t,i)}})},l=function(e){_.each(e,function(e,t){var i=PicStorage.getPackageData(t,e);i?r.push(i):s.push(t)})},d=function(){$.getJSON(a,{album_id:t,package_ids:s}).done(function(e){_.each(e,function(e){var t=e.hash;delete e.hash,PicStorage.setPackageData(e.id,t,e),r.push(e)}),c()})};return o.init=function(o){var r=$("body").data();e=!!o.isV5,t=r.albumId,i=r.shopId,a=o.fetchUrl,n=o.callback,$.loadTokens(t,!1,"package collection fetcher").done(function(e){e.package_hashes&&0!==_.keys(e.package_hashes).length&&(PicStorage.init(i),l(e.package_hashes),0===s.length?c():d())})},o}(),PackageStore=function(){var e={},t=function(){return PicStorage.getComposedPackages()},i=function(e){return e.map(function(e){var t=e.toJSON();return delete t.infoContent,t.images=e.get("images").toJSON(),t})},a=function(e){var t=e.toJSON();return delete t.discount,delete t.isActive,delete t.isInCart,t.products=i(e.get("products")),t},n=function(e){PicStorage.setComposedPackages(e),Pubsub.trigger("package:save-complete")},o=function(e,i){if(!i||e.get("isProcessing")){var o=t(),r=a(e);o[r.uuid]=r,n(o)}},r=function(e){o(e),Pubsub.trigger("package:add-to-cart-complete")},s=function(e){var i=t();delete i[e],n(i)},c=function(e,t){return _.some(e,function(e){return!e.isProcessing&&e.packageId===t.packageId&&e.price===t.price})},l=function(e){var t=7776e6,i=new Date(2021,8,22).getTime();return(e||i)+t<(new Date).getTime()},d=function(e){var i=t();_.each(i,function(t,a){var o=e.findWhere({packageId:t.packageId});if(o&&t.price===o.get("price"))if(t.isProcessing){if(l(t.startedProcessingTs))return console.info('Das angefangene Paket "'+t.name+'" war \xe4lter als 3 Monate und wurde verworfen.'),delete i[a],void n(i);o.set({uuid:a,isProcessing:!0,isInCart:c(i,t),startMonth:t.startMonth,startYear:t.startYear,startedProcessingTs:t.startedProcessingTs}),o.get("products").each(function(e,i){var a=t.products[i],n=a.images,o=e.get("images");a.origCount&&(e.set({count:a.count,origCount:a.origCount}),o.addImages(a.count-a.origCount)),o.each(function(e,t){e.set(n[t])})})}else o.set({isInCart:!0})}),Pubsub.trigger("package-collection:decorated")},u=function(t){var i=_.debounce(o,500);t.each(function(t){var a=_.bind(i,e,t,!0);t.get("products").each(function(t){e.listenTo(t.get("images"),"change",a),e.listenTo(t,"change:count",a)}),e.listenTo(t,"change:startMonth",a),e.listenTo(t,"change:startYear",a)}),e.listenTo(Pubsub,"package:cancel",s),e.listenTo(Pubsub,"package:add-to-cart",r)};return e.init=function(t){e=_.extend(e,Backbone.Events);var i=new PackagesCollection(null,{packagesData:t.packagesData});d(i),u(i),t.callback(i)},e}(),CartPackageCropperModel=AbstractCropperModel.extend({defaults:{mode:"crop",formatData:null,imgRatio:null,imgWidth:null,imgHeight:null,imageUrl:null,cropData:null,useSavedCropData:!1,customOrientation:null,isSticker:!1},setCropData:function(e){var t=this.get("cropData");t.data=e,this.set({cropData:t})},getCropperOpts:function(){var e=this._getSavedOrDefaultCropData();return{aspectRatio:e.aspectRatio,data:e.data,cropBoxResizable:this.get("isSticker"),minCropBoxWidth:Math.min(100,this.get("imgWidth")),minCropBoxHeight:Math.min(100,this.get("imgHeight"))}},allowVariable:function(){var e=this.get("formatData");return e.variable&&this._validMaxRatio(e.maxratio)},getFixedImageRatio:function(){var e=this.get("imgRatio");return e<1&&(e=1/e),e},getLongerSideWithFrame:function(){var e=this._getFormatWidthAndHeightWithFrame();return Math.max(e.width,e.height)},getShorterSide:function(){var e=this.get("formatData");return Math.min(e.width,e.height)},reset:function(){this.set({customOrientation:null},{silent:!0})},_getSavedOrDefaultCropData:function(){var e={};return this.get("useSavedCropData")?(this.set({useSavedCropData:!1}),e=this.get("cropData")):(e=this.getDefaultCropData(),this.set({cropData:e})),e}
2,_validMaxRatio:function(e){return!e||this.getFixedImageRatio()<=e}}),CartPackageImageModel=Backbone.Model.extend({defaults:{imageId:null,ratio:null,url:"",width:null,height:null,resolveSizeBy:null,cropData:null,cropConfirmed:!1,albumUrl:"",albumTitle:"",isSticker:!1,isFromKfAlbum:!1,productIndex:0,imageIndex:0},needsCropWarning:function(){if(!this.isUnconfirmedCrop())return!1;if(this.get("isSticker"))return!0;var e=this.get("cropData").data;return e.width*e.height/(this.get("width")*this.get("height"))<.8},isUnconfirmedCrop:function(){var e=this.get("resolveSizeBy");return"match"!==e&&"fit"!==e&&"variable"!==e&&!this.get("cropConfirmed")}}),CartPackageModel=Backbone.Model.extend({defaults:{packageId:null,uuid:null,name:null,isProcessing:null,price:null,count:null,color:"",isCalendarPackage:!1,startMonth:null,startYear:null,isBrightCalendar:!1,withFreeDownload:!1,withFreeGalleryDownload:!1,withKfDownloadMode:"never",products:null},getImageCount:function(){return this.get("products").reduce(function(e,t){return e+t.get("images").size()},0)},forEachImage:function(e){var t=0;this.get("products").each(function(i){i.get("images").each(function(i){e(i,t++)})})},anyFromKfAlbum:function(){return this.get("products").any(function(e){return e.get("images").any(e=>e.get("isFromKfAlbum"))})}}),CartPackageProductModel=Backbone.Model.extend({defaults:{name:"",options:"",images:null}}),CartPackageStore=function(){var e={},t=function(){return PicStorage.getComposedPackages()},i=function(e){PicStorage.setComposedPackages(e)},a=function(e){var a=t();delete a[e],i(a),_.defer(function(){Pubsub.trigger("package:delete-complete",e)})},n=function(e,a){var n=t();n[e].count=a,i(n),Pubsub.trigger("package:update-amount-complete")},o=function(e,a){var n=t(),o=n[e].products[a.productIndex].images[a.imageIndex];o.resolveSizeBy=a.resolveSizeBy,o.cropData=a.cropData,o.cropConfirmed=a.cropConfirmed,i(n)},r=function(e,a){var n=t();n[e].price=a,i(n)},s=function(e,a,n,o){var r=t();r[e].products[a].images[n].minOrderVal=o,i(r)},c=function(e,a){var n=t();n[e].isProcessing=!0,_.each(a,function(t){n[e].products[t.productIndex].images[t.imageIndex]={}}),i(n),Pubsub.trigger("package:delete-missing-image-complete")},l=function(){e.listenTo(Pubsub,"package:delete",a),e.listenTo(Pubsub,"package:update-amount",n),e.listenTo(Pubsub,"package-image:change-crop-data",o),e.listenTo(Pubsub,"package:update-price",r),e.listenTo(Pubsub,"package:update-min-order-val",s),e.listenTo(Pubsub,"package:delete-missing-image",c)};return e.init=function(){e=_.extend(e,Backbone.Events),l()},e}(),CartPackageImagesCollection=Backbone.Collection.extend({model:CartPackageImageModel,formatData:null,isDigital:!1,packageUuid:null,shortDescription:null,initialize:function(e,t){this.formatData=t.formatData,this.isDigital=t.isDigital,this.packageUuid=t.packageUuid,this.shortDescription=t.shortDe
2scription;var i=this;_.each(t.imagesData,function(e,a){i.add(new CartPackageImageModel({...e,albumUrl:e.albumUrl?e.albumUrl+"#hl"+e.imageId:"",productIndex:t.productIndex,imageIndex:a}))})}}),CartPackageProductsCollection=Backbone.Collection.extend({model:CartPackageProductModel,initialize:function(e,t){var i=this;_.each(t.productsData,function(e,a){i.add(new CartPackageProductModel({name:e.name,options:e.options,images:new CartPackageImagesCollection(null,{imagesData:e.images,formatData:e.formatData,isDigital:e.isDigital,shortDescription:e.shortDescription,productIndex:a,packageUuid:t.packageUuid})}))})}}),CartPackagesCollection=Backbone.Collection.extend({model:CartPackageModel,initialize:function(e,t){var i=this;_.each(t.packagesData,function(e,t){i.add(new CartPackageModel({...e,count:e.count||1,products:new CartPackageProductsCollection(null,{productsData:e.products,packageUuid:t})}))}),this.listenTo(Pubsub,"package:update-price",this.updatePrice),this.listenTo(Pubsub,"package:delete-missing-image",this.makeProcessing),this.listenTo(Pubsub,"package:delete",this.delete)},updatePrice:function(e,t){this._findPackage(e).set({price:t})},makeProcessing:function(e,t){var i=this._findPackage(e),a=i.get("products"),n=this;_.each(t,function(e){n._findImageByIndexes(a,e.productIndex,e.imageIndex).clear({silent:!0})}),i.set({isProcessing:!0})},delete:function(e){this.remove(this._findPackage(e))},getInCartImageCount:function(){return this.reduce(function(e,t){return e+(t.get("isProcessing")?0:t.getImageCount())},0)},getCropWarningData:function(){var e,t=!1;return this.each(function(i){i.get("isCalendarPackage")||i.get("isProcessing")||i.forEachImage(function(a){a.needsCropWarning()&&(e=e||i.get("uuid"),t=t||a.get("isSticker"),a.trigger("cart:show-crop-warning"))})}),e?{uuid:e,showStickerWarning:t}:{}},_findPackage:function(e){return this.findWhere({uuid:e})},_findImageByIndexes:function(e,t,i){return e.at(t).get("images").at(i)}}),ColorConvert=function(){var e={},t=function(e,t,i){e/=255,t/=255,i/=255;var a=Math.min(Math.min(e,t),i),n=Math.max(Math.max(e,t),i),o=n-a;if(0===o)return[null,0,100*n];var r=e===a?3+(i-t)/o:t===a?5+(e-i)/o:1+(t-e)/o;return[60*(6===r?0:r),o/n*100,100*n]},i=function(e,t,i){var a=i/100*255;if(null===e)return[a,a,a];e/=60,t/=100;var n=Math.floor(e),o=a*(1-t),r=a*(1-t*(n%2?e-n:1-(e-n)));switch(n){case 6:case 0:return[a,r,o];case 1:return[r,a,o];case 2:return[o,a,r];case 3:return[o,r,a];case 4:return[r,o,a];case 5:return[a,o,r];default:return!1}};return e.normalizeRgb=function(e){var t=[];return e.forEach(function(e){t.push(Math.floor(e))}),t},e.darken=function(a,n){var o=t(a[0],a[1],a[2]),r=i(o[0],o[1],Math.max(o[2]-n,0));return e.normalizeRgb(r)},e}(),Escaper=function(){var e={},t=[],i={},a=function(e){i[e.id]?(t=t.concat(i[e.id]),delete i[e.id]):t.push({id:e.id,callback:e.callback})},n=function(e){if(t.length)for(var a=t.length-1;a>=0;a--)if(t[a].id===e.id){var n=e.allowStash?t.length:1,o=t.splice(a,n);e.allowStash&&(i[e.id]=o);break}},o=function(){t.length&&t.pop().callback()},r=function(){$(window).on("keyup",function(e){27===e.keyCode&&o()}),Pubsub.on("escape-listener:start",a),Pubsub.on("escape-listener:stop",n)};return e.init=function(){r()},e}();Escaper.init();var NavToggle=function(){var e,t={},i=!1,a=!0,n="nav-main",o=function(){e&&$("#navi-link-to-"+e).addClass("active").parents("li").children(".js-nav-toggle-sub").trigger("click")},r=function(e){e.preventDefault(),$(this).toggleClass("la-plus la-minus").closest("li").children("ul").stop().slideToggle()},s=function(){if(a){a=!1;var e=$("#nav-main-album-loading");e.length&&$.ajax({url:e.data("url"),dataType:"html",success:function(t){e.replaceWith(t),$(".js-nav-toggle-sub, .js-nav-toggle-root").click(r),o()},error:function(t){var i=PicI18n.get("cart.submit.error");403===t.status&&(i+="<br /><br />Haben Sie sich vielleicht zwischenzeitlich ausgeloggt?"),growler(i,"warning"),e.text(e.data("error-text"))}})}},c=function(){i&&l()},l=function(e){var t=$("#nav-main-wrap"),a=$("#nav-main-backdrop"),o=$("#nav-main");i||t.removeClass("hide"),_.defer(function(){$("html").toggleClass("is-nav-open"),(i=!i)?(Pubsub.trigger("escape-listener:start",{id:n,callback:l}),a.on("click",c),o.animationTiming("onTransEnd",function(){o.addClass("animation-done"),"function"==typeof e&&e()})):(Pubsub.trigger("escape-listener:stop",{id:n}
2),a.off("click"),o.removeClass("animation-done").animationTiming("onTransEnd",function(){t.addClass("hide")}))}),s()},d=function(e){e.preventDefault(),l(function(){$("#nav-main-album-header").animationTiming("doAnimWith","shake")})},u=function(e){l(function(){$("#nav-main").find(".js-header-pages-item").eq(e).animationTiming("doAnimWith","shake")})};return t.init=function(){e=$("body").data("album-id"),$("#nav-main-toggle, #nav-main-close").click(l),$(".js-link-to-galleries-in-nav").click(d),Pubsub.on("nav-main:open-and-highlight",u)},t}(),ScrollPolice=function(){var e={},t=!1,i=[];return e.activate=function(){t=!0},e.deactivate=function(){t=!1,_.each(i,function(e){e()}),i=[]},e.execWhenAllowed=function(e){t?i.push(e):e()},e}(),ImageItems=function(){var e,t,i,a,n,o={},r=40,s=!0,c=function(){return e.hasClass("js-album-images-squared")},l=function(){return e.hasClass("js-album-images-justify-very-large")},d=function(){return e.hasClass("js-album-images-masonry")},u=function(e){return"png"===/.*\.([a-zA-z]+)/.exec(e.src)[1].toLowerCase()},g=function(t){return parseInt(getComputedStyle(e[0]).getPropertyValue(t),10)},h=function(){const e=document.documentElement.clientHeight,t=Math.min(768,e-40);return{rowHeight:g("--justify-row-height"),maxRowHeight:t}},p=function(){return g("--image-item-gap")},m=function(t){e.toggleClass("is-loading",t)},f=function(){echo.init({offset:100,debounce:!1,callback:function(e){_.defer(function(){var t=function(){var t=$(e).animationTiming("onTransEnd",function(){u(e)||t.closest(".js-thumba").css("background","transparent")}).removeClass("not-loaded")};"VIDEO"===e.tagName?e.load():e.naturalWidth>0?t():$(e).load(t)})}}),s=!1,Pubsub.trigger("album-grid-render-complete")},v=function(t){var i=h(),a=p(),n=e.width(),o=0,s=!1,c=$('<div id="justified-gallery-wrap"></div>');e.html(c),c.justifiedGallery({rowHeight:i.rowHeight,maxRowHeight:i.maxRowHeight,updateRowHeightSettings:()=>h(),margins:a,updateMarginSetting:()=>p(),border:0,selector:".imageitem, div:not(.spinner)",thumbnailSelector:".js-picthumbs",captions:!1,waitThumbnailsLoad:!1,lastRow:"center",sortedEntries:s?t.slice(0,r):t,refreshTime:500,renderFunc:w}).on("jg.complete",function(){m(!1),o++<5&&n!==e.width()?(n=e.width(),$(this).justifiedGallery()):s?(s=!1,c.append(w(t.slice(r))).justifiedGallery({sortedEntries:t})):f()})},b=function(t){const i=e.width(),n=g("--masonry-min-width"),o=g("--masonry-max-column-count"),r=Math.min(t.length,Math.floor(i/n),o),s=i/r,c=Array(r).fill(0),l=[...Array(r)].map(()=>[]),d=e=>s/e.imgW*e.imgH;return t.forEach(e=>{const t=Math.min(...c),i=c.indexOf(t);l[i].push(e),c[i]+=d(e,200)}),a=s,l},w=function(e){return e.map(e=>t(e)).join("")},k=_.debounce(function(){var t=c(),n=l(),o=d(),r=[];if(_.each(_.sortBy(i,"index"),function(e){var i,a=e.mediumUrl,s=e.width,c=e.height;t?(a=e.srcSq280,i=1):o?i=s/c:(i=!1,n?(s=e.h420w,c=420):(s=e.h280w,c=280),s/c>=2&&(a=e.largeUrl)),r.push({id:e.id,videoClass:e.isVideo?"is-video js-is-video":"",siUrl:e.siUrl,title:_.escape(e.title),alt:_.escape(e.alt),styles:e.styles,aspectRatioStyles:i?`aspect-ratio: ${i};`:"",itemStyles:"",imageStyles:"",allowDelete:e.allowDelete,allowExtraDownload:"undefined"!=typeof EXTRA_DOWNLOAD_ENABLED&&EXTRA_DOWNLOAD_ENABLED,isVideo:e.isVideo,src:a,imgW:s,imgH:c})}),t||o){var s="";t?s=w(r):b(r).forEach(function(e){const t=w(e),i=Math.min(...e.map(e=>e.imgW)),n=Math.min(i,a,g("--masonry-max-width"));s+=`<div class="imageitem-masonry-column" ${`style="max-width: ${n}px;"`}>${t}</div>`}),e.html(s),m(!1),f()}else v(r)},0),C=function(){m(!0),echo.detach(),k()},P=function(e){$("#justified-gallery-wrap").toggleClass("is-highlighting",!!e)},I=function(e){e.preventDefault();var t=$($(this).attr("href"));PicScroll.toElement(t,40)},y=function(){return document.documentElement.clientWidth},A=function(){Pubsub.on("sd-change:imageitem-layout",C),$(window).resize(_.debounce(function(){if(s)return;const e=y();e!==n&&(n=e,echo.render(),d()&&C())},400)),Pubsub.on("gallery-grid:highlight-start",_.partial(P,!0)),Pubsub.on("gallery-grid:highlight-end",_.partial(P,!1)),$("#album-headline-scroll-to-subalbums").click(I)};return o.init=function(a,o,r){s?(e=a,t=PicTempl.get(o),i=r,n=y(),A(),k()):(i=r,C())},o}(),Shortlinks=function(){var e,t,i={}
2,a=!1,n=!1,o=function(){var e=$(".js-packages-list-item-price-wrapper").css("height",""),t=_.map(e,e=>$(e).outerHeight());e.css("height",_.max(t))},r=function(){var i=a||n;e.toggleClass("btn-primary",a),t.toggleClass("btn-primary",n),$("#packages-list-wrap").toggleClass("hide",!i).toggleClass("showing-slow",i),Pubsub.trigger("show-calendars:change",a),i&&o()},s=function(){var e=$(this).blur().is("#shortlinks-toggle-calendars");a=e&&!a,n=!e&&!n,r()},c=function(i){t.find(".js-unfinished-badge").toggleClass("hide",!i.hasUnfinishedPackages),e.find(".js-unfinished-badge").toggleClass("hide",!i.hasUnfinishedCalendars)},l=function(){e.add(t).click(s),Pubsub.on("package:update-has-unfinished",c),Pubsub.on("package-list:render",r)};return i.init=function(){e=$("#shortlinks-toggle-calendars"),t=$("#shortlinks-toggle-packages"),l()},i}(),DiashowSwiper=function(){var e,t,i,a,n,o={},r=[],s=function(){return e.hasClass("diashow-square")},c=function(){$(".js-diashow-dia-img").each(function(){const e=$(this);r.push({srcSq280:e.data("src-sq280"),srcDiashow:e.data("src-diashow"),width:e.attr("width"),height:e.attr("height")})})},l=function(e){r=[],_.each(e.urls,function(e){r.push({srcSq280:e.sq280,srcDiashow:e.diashow,width:e.width,height:e.height})})},d=function(){i=new Swiper("#diashow-dia-scroller",{slidesPerView:"auto",spaceBetween:20,centeredSlides:!s(),centerInsufficientSlides:s(),pagination:{el:"#diashow-pagination-numbers",type:"fraction"},navigation:{nextEl:"#diashow-btn-right",prevEl:"#diashow-btn-left"},rewind:!0,autoplay:{delay:6e3,pauseOnMouseEnter:!0}})},u=function(){var t=_.map(r,function(e){return n({...e,src:s()?e.srcSq280:e.srcDiashow})});$("#diashow-swiper-wrapper").html(t.join("")),i.destroy(),e.toggleClass("has-no-dias",!r.length),r.length&&d()},g=function(){$(document).on("click",".js-diashow-dia",function(){const e=_.map(r,e=>({src:e.srcDiashow}));a.open(e,$(this).index())}),t.on("show.bs.modal",()=>i.autoplay.stop()).on("hide.bs.modal",()=>i.autoplay.start()),Pubsub.on("sd-change:diashow-style",u),Pubsub.on("sd-change:diashow-content",function(e){l(e),u()})};return o.init=function(){(e=$("#startpage-diashow")).length&&($("#templ-diashow-dia").length&&(n=PicTempl.get("templ-diashow-dia",!0)),t=$("#dia-lightbox-modal"),a=new PicLightbox(t),c(),g(),d())},o}(),StartnumberSearchBox=function(){var e={},t=function(){const e=$("#startnumber-search-btn");e.on("click",function(e){$(this).hasClass("disabled")&&e.preventDefault()}),$("#startnumber-form-select").on("change",function(t){t.preventDefault();var i=$("#startnumber-form-select").val();i&&e.attr("href",i),e.toggleClass("disabled",!i)})};return e.init=function(){t()},e}(),deferredTokenLoaderPromise={};$.loadTokens=function(e,t){return t?deferredTokenLoaderPromise[e]=$.Deferred(function(e){e.resolve({price_hash:t})}):deferredTokenLoaderPromise[e]||(deferredTokenLoaderPromise[e]=$.getJSON("/service/get_tokens",{album_id:e})),deferredTokenLoaderPromise[e]};var deferredImageRenderer=null;$.renderImgGrid=function(){return deferredImageRenderer||(deferredImageRenderer=$.Deferred(function(e){Pubsub.once("album-grid-render-complete",function(){e.resolve()})}).promise()),deferredImageRenderer};var deferredAllImagesLoader=null;$.getAllImages=function(e){return deferredAllImagesLoader||(deferredAllImagesLoader=$.Deferred(function(t){$.ajax({dataType:"json",url:e,success:function(e){t.resolve(e.data)},error:function(){t.reject()}})})),deferredAllImagesLoader.promise()};var doDebug=!1,AlbumPackages=function(){var e={},t={},i=function(e){return e+"-"+(Math.random()+1).toString(36).substring(5)}
2,a=function(){var e=$("body").data(),a={uuid:i(t.packageId),price:t.price,packageId:t.packageId,packageName:t.name,ppItemId:t.products[0].itemId,albumId:e.albumId,albumUrl:e.albumUrl,albumName:e.albumTitle,imagesCount:e.imagesCountForAlbumPackage,basketText:e.albumPackageBasketText};e.isQr&&(a.isQr=!0),$.loadTokens(e.albumId).done(function(e){a.minOrderVal=e.minimum_order_value;var t=PicStorage.getAlbumPackagesInCart();t.push(a),PicStorage.setAlbumPackagesInCart(t),Pubsub.trigger("album-package:add")})},n=function(){$("#album-package-confirm-modal").modal("show")},o=function(e,t){e.find(".article-list-product-options").html(t)},r=function(e,t){const i=[".article-list-duplicate",".article-list-edit",".article-list-img-inner",".js-article-list-actions",".js-article-list-open-voldisc-modal",".js-article-list-package-promo",".js-article-list-product-info",".js-article-list-product-title-wrap",".js-on-custom-only",".js-white-border-wrap"];return e.find(i.join(", ")).remove(),e.find(".js-article-list-img-outer").html('<span class="las la-arrow-circle-down"></span>'),e.find(".article-list-product-name").text("Galerie als Download"),o(e,t.basketText),e.find(".article-list-amount").addClass("on-digital"),e.find(".js-article-list-amount-input").val(1),e.find(".article-list-amount-static").text(1),e.find(".article-list-sum").data("single-price",t.price),e},s=function(e){var t=$("#article-list"),i=[];_.each(PicStorage.getAlbumPackagesInCart(),function(t){var a=$(e.template).prop("id","album-package-"+t.uuid).data("uuid",t.uuid).addClass("is-album-package js-is-album-package");a=r(a,t),i.push(a)}),t.prepend(i)},c=function(e,t){return _.findIndex(e,function(e){return e.uuid===t})},l=function(e,t){var i=PicStorage.getAlbumPackagesInCart();t(i,c(i,e)),PicStorage.setAlbumPackagesInCart(i)},d=function(e){l(e,function(e,t){e.splice(t,1)})},u=function(e,t){l(e,function(e,i){e[i].price=t})},g=function(e,t,i,a){l(t,function(e,t){e[t].imagesCount=i,e[t].basketText=a}),o(e,a)},h=function(e,t){l(e,function(e,i){e[i].minOrderVal=t})},p=function(){$("#album-package-confirm-modal-ok-action").click(a),Pubsub.on("album-package:open-modal",n)};return e.init=function(e,i){e?(t=i,p()):i&&(Pubsub.on("cart-ordered-table:render",s),Pubsub.on("album-package:remove",d),Pubsub.on("album-package:update-price",u),Pubsub.on("album-package:update-images-count",g),Pubsub.on("album-package:update-mov",h))},e}(),ContinueComposing=function(){var e,t,i={},a="continue-composing",n="_",o=function(){},r=function(){return{path:"/"}},s=function(e,t){if(t){var i=e.get("packageId")+n+e.get("price");o("_setCookie ja",i),$.cookie(a,i,r())}
2else o("_setCookie nope")},c=function(){o("_removeCookie"),$.removeCookie(a,r())},l=function(e){o("hide composer"),t.removeClass("js-continue-composing"),e&&(t.removeClass("visible").addClass("hide"),c())},d=function(){if((t=$("#packages-composer")).hasClass("js-continue-composing")){var i=$.cookie(a);if(!i)return o("kein cookie val da"),void l(!0);var r=i.split(n),s=parseInt(r[0]),c=parseInt(r[1]),d=e.where({packageId:s,price:c})[0];if(!d)return o("kein model da"),void l(!0);o("triggere click");var u=d.get("isCalendarPackage")?"#shortlinks-toggle-calendars":"#shortlinks-toggle-packages";$(u).first().click(),l(),Pubsub.trigger("package:change-active",d)}else o("composer hat keine JS klasse")},u=function(){e.on("change:isActive",s),Pubsub.on("package-composer:hide",c)};return i.init=function(t){o("init"),e=t,d(),u()},i}(),OpenPackagesList=function(){var e,t={},i=function(){PicScroll.toElement(e)},a=function(){$("#packages-list-wrap").hasClass("hide")&&e.trigger("click")};return t.closeModalAndShow=function(t){e.length&&(t.preventDefault(),a(),$("#modal-order").one("hidden.bs.modal",i).modal("hide"))},t.init=function(){e=$("#shortlinks-toggle-packages"),"#open-packages-list"===window.location.hash&&(a(),i())},t}(),AlbumsGridPackageLockView=Backbone.View.extend({el:"#albums-grid-list",itemSelector:".js-albums-grid-item",events:{"click .js-albums-grid-item.is-disabled-for-package":"showNotAllowedTooltip"},initialize:function(e){this.collection=e.collection,this.activePackModel=null,this.listenTo(Pubsub,"package:change-active",this.setActivePackage),this.listenTo(Pubsub,"package-image:url-changed",this.render),this.listenTo(Pubsub,"package-image:remove-url",this.render),this.listenTo(Pubsub,"package-composer:hide-complete",this.resetActivePackage)},setActivePackage:function(e){this.activePackModel=e||null,this.render()},resetActivePackage:function(){this.activePackModel=null,this._hideNotAllowedTooltip(),this.render()},showNotAllowedTooltip:function(e){this._isCompactView()&&this.activePackModel?.get("forbidMultipleAlbums")&&(e.preventDefault(),e.stopPropagation(),this._hideNotAllowedTooltip(),this.$tooltipTarget=$(e.currentTarget),this.$tooltipTarget.tooltip({title:PicI18n.get("order.packages.composer.noMultiAlbums"),placement:"bottom",trigger:"manual",container:"#albums-grid-list"}).tooltip("show"),this.tooltipTimeout=setTimeout(function(){this._hideNotAllowedTooltip()}.bind(this),5e3))},render:function(){var e=this.$(this.itemSelector);return e.length?this.activePackModel?(e.each(function(e,t){var i=$(t),a=+i.data("id"),n=+i.data("class-album-id"),o=!!i.data("is-kf-album"),r=PackageAlbumRestrictionHelper.isCurrentAlbumAllowed({currentAlbumID:a,currentClassID:n,isInKfAlbum:o,package:this.activePackModel});i.toggleClass("is-disabled-for-package",!r)}.bind(this)),this):(this.$(this.itemSelector).removeClass("is-disabled-for-package"),this):this},_hideNotAllowedTooltip:function(){this.tooltipTimeout&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=null),this.$tooltipTarget&&this.$tooltipTarget.length&&(this.$tooltipTarget.tooltip("destroy"),this.$tooltipTarget=null)},_isCompactView:function(){return $("#albums-grid").hasClass("albums-grid-compact")}}),PackagesComposerCloseBtnsView=Backbone.View.extend({events:{"click #packages-composer-hide":"hide","click #packages-composer-cancel":"cancel"},template:"",initialize:function(){this.template=PicTempl.get("packages-composer-close-btns-templ"),this.listenTo(Pubsub,"package:add-to-cart",this.hide),this.listenTo(Pubsub,"package:change-active",this.setPackage)},render:function(){return this.$el.html(this.template()),this.toggleCancelButton(),this.delegateEvents(),this},hide:function(){OrderLogger.log("hide in composer",{uuid:this.model.get("uuid")}),Pubsub.trigger("package-composer:hide")},cancel:function(){OrderLogger.log("cancel in composer",{uuid:this.model.get("uuid")}),this.model.cancel(),this.hide()},toggleCancelButton:function(){this.$("#packages-composer-cancel").toggleClass("hide",!this.collection.hasImages())},setPackage:function(e){this.model&&this.stopListening(this.model),this.model=e,this.collection=e.get("products"),this.listenTo(this.model,"change:isProcessing",this.toggleCancelButton)}}),PackagesComposerGuideView=Backbone.View.extend(_.extend({},kfDownloadExcludedHintMethods,{events:{"click #packages-composer-guide-submit":"pubSubmit","click #packages-composer-fill-dynamic":"fillDynamic"},templatePackage:"",templateCalendar:"",initialize:function(){this.templatePackage=PicTempl.get("packages-composer-guide-templ"),this.templateCalendar=PicTempl.get("packages-composer-guide-for-calendar-templ")},render:function(){var e=this.collection.allowAddToCart(),t=this.model.get("isCalendarPackage")?this.templateCalendar:this.templatePackage,i=!!this.collection.getDynamicQuantityProduct(),a=i&&0===this.model.getProgressInPercent();return this.$el.html(t({hideTextClass:e?"hide":"",sameImageForAllHintClass:this.model.get("sameImageForAllProducts")?"":"hide",withFreeDownload:this.model.get("withFreeDownload"),withFreeGalleryDownload:this.model.get("withFreeGalleryDownload"),showKfDownloadExcludedHint:this._showKfDownloadExcludedHint(),showFillDynamicButton:a,hideAddToCartBtnClass:e?"":"hide",isDynamicPackage:i})),this.delegateEvents(),this},pubSubmit:function(){OrderLogger.log("save in composer",{uuid:this.model.get("uuid")}),this.model.addToCart()},fillDynamic:function(){Pubsub.trigger("package-composer:fill-dynamic",this.model)},setPackage:function(e){var t=this;this.stopListening(),this.model=e,this.collection=this.model.get("products"),this.collection.each(function(e){var i=e.get("images");t.listenTo(i,"change",t.render)})}})),PackagesComposerImageView=Backbone.View.extend({isCalPack:!1,events:{click:"setActive",mouseenter:"pubMouseenter",mouseleave:"pubMouseleave","click .js-packages-composer-image-delete":"removeUrl"},isListeningForChooseImage:!1,initialize:function(e){this.isCalPack=e.isCalPack,this.listenForChooseImage(),this.listenTo(this.model,"change",this.listenForChooseImage),this.listenTo(this.model,"change",this.render),this.listenTo(Pubsub,"package-image:reset-active",this.resetActive),this.listenTo(Pubsub,"package:change-active",this.remove),this.listenTo(Pubsub,"package-composer:hide-complete",this.remove)},render:function(){var e=this.model.get("isActive"),t=this.model.get("url"),i=!!t,a=this.isCalPack?this.$(".js-calendar-package-image"):this.$el;return this.$el.toggleClass("active",e).toggleClass("not-allowed",e&&!this.model.isAllowed()).toggleClass("has-url",i).toggleClass("is-landscape",i&&this.isCalPack&&this.model.get("ratio")>=1).toggleClass("is-kf",this.model.get("showKfOverwriteHint")),a.css("background-image",i?this._urlAsProp(t):""), 3this.$(".js-packages-composer-image-delete").toggleClass("hide",!i),this},setActive:function(){this.model.get("isActive")||(Pubsub.trigger("package-image:reset-active"),this.model.set({isActive:!0}))},pubMouseenter:function(){var e=this.model.get("url");e&&Pubsub.trigger("package-image:mouseenter",e)},pubMouseleave:function(){Pubsub.trigger("package-image:mouseleave")},removeUrl:function(e){var t=PicI18n.get("order.packages.composer.remove");
3if(!this.model.get("isKfAutofilled")||window.confirm(t)){e.stopPropagation(),$(e.currentTarget).blur();var i={isActive:!0,showKfOverwriteHint:this.model.get("showKfOverwriteHint")};this.model.reset(i),this.model.trigger("remove-url"),Pubsub.trigger("package-image:remove-url")}},listenForChooseImage:function(){this.model.get("isActive")?this.isListeningForChooseImage||(this.listenTo(Pubsub,"package-image:choose",this.animateItemToComposer),this.isListeningForChooseImage=!0):this.isListeningForChooseImage&&(this.stopListening(Pubsub,"package-image:choose"),this.isListeningForChooseImage=!1)},animateItemToComposer:function(e,t){this.model.isAllowed()?this.model.get("showKfOverwriteHint")?this._showKfOverwriteModal(e,t):this._animateBird(e,t):this._showNotAllowedTooltip()},resetActive:function(){this.model.set({isActive:!1}),this.tooltipTimeout&&(clearTimeout(this.tooltipTimeout),this.$el.tooltip("destroy"))},_urlAsProp:function(e){return'url("'+e+'")'},_animateBird:function(e,t){var i=this._generateBird(e,t.url);this._makeBirdFly(i,function(){this.model.updateDataAfterImageSelection(t),Pubsub.trigger("package-image:url-changed"),i.remove()})},_generateBird:function(e,t){var i=e.offset();return $('<div class="packages-image-bird" />').css({top:i.top,left:i.left,width:e.width(),height:e.height(),backgroundImage:this._urlAsProp(t)})},_makeBirdFly:function(e,t){var i=this.$el.offset(),a=6;e.addClass("flying").animationTiming("onTransEnd",_.bind(t,this)).appendTo("body").css({top:i.top+a,left:i.left+a,width:this.$el.width(),height:this.$el.height()})},_showNotAllowedTooltip:function(){var e=this.model.isNotAllowedForKf()?"order.packages.composer.noKf":"order.packages.composer.noMultiAlbums";this.$el.tooltip({title:PicI18n.get(e),placement:"bottom",trigger:"manual",container:"#packages-composer"}).tooltip("show");var t=this.$el;this.tooltipTimeout=setTimeout(function(){t.tooltip("destroy")},5e3)},_showKfOverwriteModal:function(e,t){const i=this,a=$("#kf-overwrite-modal").modal("show");$("#kf-overwrite-confirm").one("click",function(){a.one("hidden.bs.modal",function(){i._animateBird(e,t)}).modal("hide")})}}),PackagesComposerLargePreviewView=Backbone.View.extend({el:"#packages-composer-large-preview",isVisible:!1,isAboutToHide:!1,initialize:function(){this.listenToOnce(Pubsub,"package:change-active",this.render),this.listenTo(Pubsub,"package-image:mouseenter",this.show),this.listenTo(Pubsub,"package-image:mouseleave",this.hide),this.listenTo(Pubsub,"package-image:remove-url",this.hide)},render:function(){this.$el.appendTo("body")},show:function(e){if(MobileOrderCheck.run()&&TouchDetector.isTouch())return;this.$("img").prop("src",e),this.isAboutToHide=!1,this.isVisible?this._show():this.isVisible||this._toggleDelayed(!0);const t=parseInt(this.$el.css("padding-top")),i=$("#packages-composer").outerHeight();this.$el.css("padding-bottom",`${i+t}px`)},hide:function(){this.isAboutToHide=!0,this.isVisible&&this._toggleDelayed(!1)},_toggleDelayed:_.debounce(function(e){!e||this.isVisible||this.isAboutToHide?!e&&this.isVisible&&this.isAboutToHide&&this._hide():this._show()},200),_show:function(){this.$el.addClass("soft-visible").addClass("visible"),this.isVisible=!0},_hide:function(){var e=this;this.$el.animationTiming("onTransEnd",function(){e.isAboutToHide&&(e.isVisible=!1,e.isAboutToHide=!1,e.$el.removeClass("soft-visible"))}).removeClass("visible")}}),PackagesComposerProductTextView=Backbone.View.extend({events:{"change .js-packages-composer-start-month":"setCalStartDate","change .js-packages-composer-start-year":"setCalStartDate"},template:"",packageModel:null,productInfoView:null,initialize:function(){this.template=PicTempl.get("packages-composer-product-text-templ")},render:function(){var e=this.packageModel.get("products"),t=e.getActive(),i={hasProductsLeft:!!t};if(t){var a=t.get("images"),n=a.findIndex(function(e){return e.get("isActive")}),o=this.packageModel.get("isCalendarPackage")&&e.at(1)===t;_.extend(i,{current:n+1,max:a.size(),name:t.get("name"),isCalPackProduct:o,startMonth:this.packageModel.get("startMonth"),startYear:this.packageModel.get("startYear"),shortDescription:t.get("shortDescription")})}this.setElement($("#packages-composer-progress-text")),this.$el.html(this.template(i)),this._updateProductinfoView(t)},setPackage:function(e){this.packageModel=e},setCalStartDate:function(){this.packageModel.set({startMonth:parseInt(this.$(".js-packages-composer-start-month").val()),startYear:parseInt(this.$(".js-packages-composer-start-year").val())})}
3,_updateProductinfoView:function(e){this.productInfoView&&(this.productInfoView.remove(),this.productInfoView=null),e&&(this.productInfoView=new PackagesComposerProductinfoView({model:e,el:"#packages-composer-product-info-mobile"}))}}),PackagesComposerProductinfoView=Backbone.View.extend({events:{click:"openInfoModal"},initialize:function(){this.listenTo(Pubsub,"package:change-active",this.remove),this.listenTo(Pubsub,"package-composer:hide-complete",this.remove)},openInfoModal:function(){Pubsub.trigger("product:show-info",this.model),this.$el.tooltip("hide")}}),calPackMethods={_calPackImageTemplateOpts:function(e){var t=this.model.get("startMonth"),i=this.model.get("startYear"),a=!!e.imageModel.get("url"),n=a&&e.imageModel.get("ratio")>=1,o=0===e.productIndex,r=[],s="";if(e.isBrightCal&&r.push("is-bright"),n&&r.push("is-landscape"),o)s=PicI18n.get("calendar.caption.cover"),r.push("is-title"),r.push(0===t?"spans-one-year":"spans-two-years");else{var c=i,l=(t+e.imageIndex)%12;s=MONTHS_ABBR[l],t>l&&c++,r.push("is-year-"+c)}return{extraClasses:r.join(" "),month:s,titleText:o&&a?this._makeTitleText(t,i,n):""}},_makeTitleText:function(e,t,i){if(0===e)return t;var a=new Date(t,e),n=new Date(t+1,e-1),o=a.toLocaleString("de-de",{month:"long"}),r=n.toLocaleString("de-de",{month:"long"});return i?o+" "+t+"\n\u2013\n"+r+" "+(t+1):o+"\n"+t+"\n\n\u2013\n\n"+r+"\n"+(t+1)}},PackagesComposerView=Backbone.View.extend(_.extend({},calPackMethods,{el:"#packages-composer",events:{"change .js-is-for-desktop.js-packages-composer-start-month":"setCalStartDate","change .js-is-for-desktop.js-packages-composer-start-year":"setCalStartDate","click #packages-composer-add-image-button":"addImage","click #packages-composer-add-all-button":"addAllImages","click .js-hide-tooltip-on-click":"hideTooltip"},templateProduct:"",templateImage:"",isKfAlbum:!1,showAddAllButton:"undefined"!=typeof ALLOW_DYNAMIC_AUTOFILL,guideView:null,closeBtnsView:null,calPackTitleImageModel:null,initialize:function(){this.isKfAlbum="undefined"!=typeof IS_KF_ALBUM,this.templateProduct=PicTempl.get("packages-composer-product-templ"),this.templateImage=PicTempl.get("packages-composer-image-templ"),this.textView=new PackagesComposerProductTextView,this.guideView=new PackagesComposerGuideView,this.closeBtnsView=new PackagesComposerCloseBtnsView,this.listenTo(Pubsub,"package:change-active",this.setPackage),this.listenTo(Pubsub,"package-image:url-changed",this.setNextActiveImage),this.listenTo(Pubsub,"package-composer:dynamic-fill-complete",this.renderAfterDynamicFill),this.listenTo(Pubsub,"package-composer:hide",this.hide)},render:function(e){const t=$("#packages-composer-carousel").scrollLeft();this.$el.html(this._getMarkup()),$("#packages-composer-carousel").scrollLeft(t);var i=this,a=0,n=0,o=this.model.get("isCalendarPackage");this.collection.each(function(e){new PackagesComposerProductinfoView({model:e,el:"#packages-composer-product-info-"+a++}),e.get("images").each(function(t){0===n&&o&&i._listenToCalPackTitleChanges(t),i._listenToActiveImageChanges(t,e.get("isVideo")),new PackagesComposerImageView({el:"#packages-composer-image-"+n++,model:t,isCalPack:o}).render()})}),this.$el.append(this.guideView.render().el,this.closeBtnsView.render().el),this.textView.render(),this._centerActivePlaceholder(),this._updateProgressBarDebounced(),this._addDocumentMargin();var r=this.$el.removeClass("hide");_.defer(function(){r.addClass("visible")}),e&&e.scrollToFirstImage&&PicScroll.toElement($("#album-images"),30)},setPackage:function(e){this.model=e,this.collection=e.get("products"),this.collection.ensureActive(),this._pubVideoUpdate(this.collection.getActive()?.get("isVideo")),this._listenToCalPackStartChanges(),this.guideView.setPackage(this.model),this.closeBtnsView.setPackage(this.model),this.textView.setPackage(this.model),this.render({scrollToFirstImage:!0})},setNextActiveImage:function(){this.collection.setNextActiveImage()},setCalStartDate:function(){this.model.set({startMonth:parseInt(this.$(".js-is-for-desktop.js-packages-composer-start-month").val()),startYear:parseInt(this.$(".js-is-for-desktop.js-packages-composer-start-year").val())})},hide:function(){this._removeDocumentMargin();var e=this.$el.removeClass("visible");e.animationTiming("onTransEnd",function(){e.addClass("hide"),Pubsub.trigger("package-composer:hide-complete")}
3)},addImage:function(e){this._hideTooltip(e),this.collection.getDynamicQuantityProduct().addImages(1),this.collection.ensureActive(),this.render()},addAllImages:function(e){this._hideTooltip(e),Pubsub.trigger("package-composer:fill-dynamic",this.model)},renderAfterDynamicFill:function(){this.showAddAllButton=!1,this.render()},_getMarkup:function(){var e="",t=this,i=0,a=this.model.get("isCalendarPackage"),n=this.model.get("isBrightCalendar"),o=this.model.get("startMonth"),r=this.model.get("startYear");return this.collection.each(function(s,c){var l=a&&1===c,d=a&&0===c,u=!t.isKfAlbum||s.get("images").first().get("allowKf"),g=[],h=s.get("count"),p={imagesColl:s.get("images"),allImagesIndex:i,isCalPack:a,isBrightCal:n,productIndex:c};u||g.push("not-allowed"),l&&g.push("is-calendar-product"),e+=t.templateProduct({wrapClasses:g.join(" "),name:s.get("name"),count:h,isCalPackTitle:d,isCalPackProduct:l,startMonth:o,startYear:r,images:t._imageMarkup(p),index:c,showAddButton:s.get("isDynamicQuantity"),showAddAllButton:t.showAddAllButton}),i+=h}),`<div id="packages-composer-progress-bar" class="packages-composer-progress-bar"></div>\n <div id="packages-composer-progress-text" class="hide-over-m padded-inline-big"></div>\n <div id="packages-composer-carousel" class="packages-composer-carousel">${e}</div>`},_imageMarkup:function(e){var t=this,i="";return e.imagesColl.each(function(a,n){var o={index:e.allImagesIndex+n,isCalender:e.isCalPack};e.isCalPack&&_.extend(o,t._calPackImageTemplateOpts({isBrightCal:e.isBrightCal,productIndex:e.productIndex,imageModel:a,imageIndex:n})),i+=t.templateImage(o)}),i},_listenToCalPackTitleChanges:function(e){if(this.calPackTitleImageModel!==e){this.calPackTitleImageModel&&this.stopListening(this.calPackTitleImageModel),this.calPackTitleImageModel=e;var t=this;this.listenTo(e,"change:url",function(e,i){i&&t.render()})}},_listenToActiveImageChanges:function(e,t){var i=this;this.stopListening(e,"change:isActive"),this.stopListening(e,"change:url"),this.listenTo(e,"change:isActive",function(){i._renderTextViewDebounced(),e.get("isActive")&&(i._pubVideoUpdate(t),i._centerActivePlaceholder())}),this.listenTo(e,"change:url",function(){i._updateProgressBarDebounced()})},_listenToCalPackStartChanges:function(){this.stopListening(this.model,"change:startMonth change:startYear"),this.listenTo(this.model,"change:startMonth change:startYear",this.render)},_pubVideoUpdate:function(e){Pubsub.trigger("package-composer:update-is-video",e)},_updateProgressBarDebounced:_.debounce(function(){$("#packages-composer-progress-bar").css("width",this.model.getProgressInPercent()+"%")},100),_renderTextViewDebounced:_.debounce(function(){this.textView.render()},100),_centerActivePlaceholder:_.debounce(function(){_.defer(function(){var e=$
3("#packages-composer-carousel"),t=e.outerWidth(),i=e.find(".active");if(i.length||(i=e.find(".packages-composer-image, .packages-composer-add-image-button").last()),i.length){var a=i[0].getBoundingClientRect().width,n=i.offset().left+a/2-t/2,o=(n>0?"+":"-")+"="+Math.abs(n);e.animate({scrollLeft:o},400)}})},100),_height:function(){return this.$el.outerHeight()},_addDocumentMargin:function(){DocumentMarginHelper.addMin("package-composer",this._height())},_removeDocumentMargin:function(){DocumentMarginHelper.removeMin("package-composer")},_hideTooltip:function(e){$(e.currentTarget).tooltip("hide")}})),PackagesCropperDebugView=Backbone.View.extend({className:"packages-cropper-debug",template:"",initialize:function(){this.template=PicTempl.get("packages-cropper-debug-templ"),this.listenTo(Pubsub,"package-image:show-debug-cropper",this.updateCropper)},render:function(){this.$el.html(this.template()).appendTo("body")},updateCropper:function(e,t,i){var a=$("#packages-cropper-debug-img").prop("src",e);a.data("cropper")&&a.cropper("destroy"),this.$el.toggleClass("is-match","match"===t),"match"!==t&&a.cropper(i)}}),PackagesImageitemSelectionView=Backbone.View.extend({el:"#album-images",events:{"click .js-imageitem-inner":"pubChosenUrl"},isAllowLarge:!1,albumId:0,albumUrl:"",albumTitle:"",minOrderVal:0,isQr:!1,isActive:!1,isVideo:!1,initialize:function(e){this.isAllowLarge=e.isAllowLarge,this.albumId=e.albumId,this.albumUrl=e.albumUrl,this.albumTitle=e.albumTitle,this.isQr=e.isQr,this.listenTo(Pubsub,"package:change-active",this.enable),this.listenTo(Pubsub,"package-composer:hide",this.disable),this.listenTo(Pubsub,"package-composer:update-is-video",this.updateIsVideo),this.listenTo(Pubsub,"package-collection:request-image-data",this.deliverImageData),$("body").data("show-filename-in-composer")&&(this.$el.on("mouseenter",".js-imageitem",_.bind(this.showFilenameTooltip,this)),this.$el.on("mouseout",".js-imageitem",_.bind(this.hideFilenameTooltip,this)))},pubChosenUrl:function(e){if(this.isActive){var t=$(e.currentTarget),i=t.closest(".js-imageitem"),a=i.data("id");i.hasClass("js-is-video")===this.isVideo?(OrderLogger.log("choose image in composer",{id:a}),Pubsub.trigger("package-image:choose",t,this._dataForChoose(IMAGE_ITEMS_DATA[a]))):t.animationTiming("doAnimWith","shake")}},deliverImageData:function(e){var t=this,i=[];_.each(_.sortBy(IMAGE_ITEMS_DATA,"index"),function(e){e.isVideo||i.push(t._dataForChoose(e))}),e(i)},enable:function(){this._toggle(!0)},disable:function(){this._toggle(!1)},updateIsVideo:function(e){this.isVideo=!!e,this.$el.toggleClass("is-package-composing-video",!!e)},showFilenameTooltip:function(e){if(this.isActive){var t=$(e.target).closest(".js-imageitem"),i=IMAGE_ITEMS_DATA[t.data("id")];t.tooltip({title:i.title||i.filename,placement:"bottom",trigger:"manual",container:"#album-images"}).tooltip("show")}},hideFilenameTooltip:function(e){$(e.target).closest(".js-imageitem").tooltip("destroy")},setMinOrderVal:function(e){this.minOrderVal=e},_toggle:function(e){this.isActive=e,this.$el.toggleClass("is-package-composing",e),e||this.$el.removeClass("is-package-composing-video")},_dataForChoose:function(e){return{id:e.id,width:e.width,height:e.height,ratio:e.ratio,url:this.isAllowLarge?e.largeUrl:e.mediumUrl,title:e.title||e.filename,albumId:this.albumId,albumUrl:this.albumUrl,albumTitle:this.albumTitle,minOrderVal:this.minOrderVal,isQr:this.isQr}}}),PackagesItemView=Backbone.View.extend(_.extend({},kfDownloadExcludedHintMethods,{className:"packages-list-item bg-light-gray",template:"",showCalendarPackages:!1,events:{click:"setActive"},initialize:function(e){this.template=e.template,this.listenTo(this.model,"change",this.updateActiveAndBadges),this.listenTo(Pubsub,"show-calendars:change",this.updateCalendarsActive)},render:function(){var e=this.model.attributes,t=!!e.products.getDynamicQuantityProduct(),i="";return e.isCalendarPackage||t||(i=e.products.map(function(e){return"<strong>"+e.get("count")+"x</strong> "+e.get("name")}).join("<br />")),this.$el.html(this.template({name:e.name,price:NumberFormatter.centsAsPrice(e.price),isPrint:!this.model.isDigitalOnly(),isDigitalOnly:this.model.isDigitalOnly(),discount:e.discount,discountClass:e.discount?"":"hide",showDynamicDesc:t,products:i,withFreeDownload:e.withFreeDownload,withFreeGalleryDownload:e.withFreeGalleryDownload,showKfDownloadExcludedHint:this._showKfDownloadExcludedHint(),isAlbumPackage:e.isAlbumPackage,isCalendarPackage:e.isCalendarPackage,isBrightCalendar:e.isBrightCalendar,isProcessing:e.isProcessing})),this.updateActiveAndBadges(),this},setActive:function(){if(this.model.get("isAlbumPackage"))Pubsub.trigger("album-package:open-modal");else{var e={id:this.model.get("packageId"),name:this.model.get("name")};OrderLogger.log("starte package composing",e),Pubsub.trigger("package:change-active",this.model)}},updateActiveAndBadges:function(){var e=this.model.attributes;this.$el.toggleClass("active",e.isActive),this.$el.toggleClass("hide",this.showCalendarPackages!==e.isCalendarPackage),this.$(".js-packages-started-label").toggleClass("hide",!e.isProcessing),this.$(".js-packages-in-cart-label").toggleClass("hide",e.isProcessing||!e.isInCart)},updateCalendarsActive:function(e){this.showCalendarPackages=e,this.updateActiveAndBadges()}})),PackagesListView=Backbone.View.extend(_.extend({},scrollPosRestorableMethods,{templateItem:"",initialize:function(){this.templateItem=PicTempl.get("packages-list-item-templ",!0),this.listenTo(this.collection,"change:isActive",this.updateActive)},render:function(){var e=this,t=[],i=0;
3this.collection.each(function(a){if(!a.get("isAlbumPackage")||0!==$("#shortlinks-album-package").length){var n={model:a,template:e.templateItem};a.get("isCalendarPackage")&&(n.showDimmedIcon=1===++i);var o=new PackagesItemView(n);t.push(o.render().$el)}}),this.$("#packages-list").append(t),Pubsub.trigger("package-list:render")},updateActive:function(){var e=!!this.collection.findWhere({isActive:!0});this.$el.toggleClass("has-active",e)}})),PackagesProductinfoModalView=Backbone.View.extend({el:"#packages-productinfo",events:{"hidden.bs.modal":"restoreInitialState"},template:"",raceEQ:null,initialize:function(){this.template=PicTempl.get("packages-productinfo-templ",!0),this.raceEQ=new PicRaceEQ,this.listenTo(Pubsub,"product:show-info",this.showContents),this.restoreInitialState()},restoreInitialState:function(){this._setTitle(),this._setContent()},showContents:function(e){this.$el.modal("show");var t=this;e.getInfoContent(this.$el.data("url"),this.raceEQ.push(function(e){e?(t._setTitle(e.cat_name),t._setContent(t.template({header:e.header,text:e.text,header2:e.header2,text2:e.text2,src:e.img_src,videoID:e.video_id})),t._setVideo(e.video_id),t._cleanEmptyContent(e)):t._setContent(!1,!0)}))},_setTitle:function(e){var t=$("#packages-productinfo-header");t.text(e||t.data("default-text"))},_setContent:function(e,t){var i=$("#packages-productinfo-body");if(i.html(e||i.data(t?"error-text":"loading-text")),!t){var a=this.$(".js-productinfo-img");a.attr("src")||a.remove()}},_setVideo:function(e){var t=this.$(".js-productinfo-video");if(e){var i=t.data("src");t.prop("src",i).removeData("src").removeAttr("data-src")}else t.remove()},_cleanEmptyContent:function(e){e.header||this.$(".js-productinfo-header").remove(),e.header2||this.$(".js-productinfo-header2").remove(),e.text2||this.$(".js-productinfo-text2").remove()}});$(function(){"undefined"!=typeof PACKAGES_FETCH_URL&&PackageCollectionFetcher.init({isV5:!0,fetchUrl:PACKAGES_FETCH_URL,callback:function(e){var t=$("#packages-list-wrap");if(t.length){new PackagesListView({collection:e,el:t}).render(),new PackagesComposerView,new PackagesComposerLargePreviewView,new PackagesProductinfoModalView,$("#albums-grid-list").length&&new AlbumsGridPackageLockView({collection:e});var i=$("body"),a={isAllowLarge:i.data("show-large-preview"),albumId:i.data("album-id"),albumUrl:i.data("album-url"),albumTitle:i.data("album-title"),isQr:i.data("is-qr")},n=new PackagesImageitemSelectionView(a);if($.loadTokens(i.data("album-id"),!1,"packages index").done(function(e){n.setMinOrderVal(e.minimum_order_value)}),i.data("is-qr")&&"undefined"!=typeof KLASSENFOTO_IMAGE_DATA){var o=_.values(KLASSENFOTO_IMAGE_DATA)[0],r={id:o.id,width:o.width,height:o.height,ratio:o.ratio,url:a.isAllowLarge?o.largeUrl:o.mediumUrl,title:o.title||o.filename};KlassenfotoAutofill.init(_.extend(r,a))}DynamicAutofill.init(),ContinueComposing.init(e),OpenPackagesList.init()}if($("#shortlinks-album-package").length){var s=e.find({isAlbumPackage:!0})?.attributes;s&&(s.products=s.products.toJSON()),AlbumPackages.init(!0,s)}}})});var CartPackageCalendarView=Backbone.View.extend(_.extend({},calPackMethods,{className:"cart-package-calendar",template:"",initialize:function(e){this.template=e.template},render:function(){var e=this,t=[],i=this.model.get("isBrightCalendar");return this.model.get("products").each(function(a,n){a.get("images").each(function(a,o){var r=_.extend({url:a.get("url")},e._calPackImageTemplateOpts({isBrightCal:i,productIndex:n,imageModel:a,imageIndex:o}));t.push(e.template(r))}),0===n&&t.push('<div class="calendar-package-image-title-separator"></div>')}),this.$el.html(t.join("")),this},removeChildren:function(){}})),CartPackageCropperModalView=Backbone.View.extend({el:"#modal-package-cropper",cropView:null,resolverView:null,orientationView:null,imageModel:null,events:{"click #modal-package-cropper-save":"save","hide.bs.modal":"pubHide","hidden.bs.modal":"resetCropper"},initialize:function(){var e={model:this.model,$modal:this.$el};this.cropView=new CartPackageCropperView(e),this.resolverView=new CartPackageCropperResolverView(e),this.orientationView=new CartPackageCropperOrientationView(e),this.listenTo(Pubsub,"package-cropper:open",this.render),this.listenTo(Pubsub,"package-cropper:enable",this.enable),$(window).on("resize",_.bind(_.debounce(this.resetAndRenderCropper,200),this))},render:function(e){this.imageModel=e,this.$el.modal("show"),this.model.set({formatData:e.collection.formatData,imgRatio:e.get("ratio"),imgWidth:e.get("width"),imgHeight:e.get("height"),imageUrl:e.get("url"),cropData:this._deepClone(e.get("cropData")),useSavedCropData:!0,isSticker:e.get("isSticker")});var t=e.collection.shortDescription;
3this.$(".js-product-short-desc-text").toggleClass("hide",!t).html(t),this.orientationView.render(),this.resolverView.render().triggerInitialOption(e.get("resolveSizeBy")),this._disable(),OrderLogger.log("open in cart package cropper",this._loggerOpts())},save:function(){var e=this.model.get("mode"),t=e===this.model.MODE_VARIABLE,i=this.imageModel.collection.packageUuid;this.imageModel.set({resolveSizeBy:e,cropData:t?{}:this.model.get("cropData"),cropConfirmed:!0}),OrderLogger.log("save in cart package cropper",this._loggerOpts()),Pubsub.trigger("package-image:change-crop-data",i,this.imageModel.attributes),this.$el.modal("hide")},resetCropper:function(){this.model.reset(),this.cropView.removeCropper(),this._disable()},resetAndRenderCropper:function(){this.$el.is(":hidden")||(this.cropView.removeCropper(),this.cropView.render())},pubHide:function(){OrderLogger.log("hide in cart package cropper"),this.imageModel.trigger("crop-edit-modal-hide")},enable:function(){$("#modal-package-cropper-save").button("reset"),this.$el.removeClass("is-loading")},_disable:function(){$("#modal-package-cropper-save").button("loading"),this.$el.addClass("is-loading")},_deepClone:function(e){return JSON.parse(JSON.stringify(e))},_loggerOpts:function(){var e=this.imageModel.attributes;return{uuid:this.imageModel.collection.packageUuid,imageIndex:e.imageIndex,productIndex:e.productIndex}}}),CartPackageCropperOrientationView=Backbone.View.extend({el:"#modal-package-cropper .product-crop-orientation",VAL_VERT:"vertical",VAL_HORI:"horizontal",CLASS_VERT_ACTIVE:"on-vertical",CLASS_HORI_ACTIVE:"on-horizontal",CLASS_VERT_ONLY:"on-vertical-only",CLASS_HORI_ONLY:"on-horizontal-only",CLASS_SQUARE:"on-square-format",events:{"click a":"setOrientation"},render:function(){var e=this.model.attributes,t=e.formatData,i=e.imgWidth/e.imgHeight>1;this.$el.removeClass(this.CLASS_VERT_ACTIVE+" "+this.CLASS_HORI_ACTIVE).toggleClass(this.CLASS_HORI_ONLY,t.forceOrientation===this.VAL_HORI).toggleClass(this.CLASS_VERT_ONLY,t.forceOrientation===this.VAL_VERT).toggleClass(this.CLASS_SQUARE,!!t.square),this._updateOrientationChanger(i)},setOrientation:function(e){e.preventDefault();var t=$(e.currentTarget).data("value");this._updateOrientationChanger(t===this.VAL_HORI),this.model.set({customOrientation:t})},_updateOrientationChanger:function(e){this.$el.removeClass(this.CLASS_VERT_ACTIVE+" "+this.CLASS_HORI_ACTIVE),this.$el.hasClass(this.CLASS_HORI_ONLY)||this.$el.hasClass(this.CLASS_VERT_ONLY)||this.$el.addClass(e?this.CLASS_HORI_ACTIVE:this.CLASS_VERT_ACTIVE)}}),CartPackageCropperResolverView=Backbone.View.extend({el:"#packages-crop-resolve-size-wrap",cropperHelper:null,$modal:null,events:{"change input":"setResolveSizeBy"},initialize:function(e){this.cropperHelper=new CropperHelper,this.$modal=e.$modal},render:function(){var e=this.model.get("formatData");return $("#packages-crop-resolve-size-help").popover(),$("#packages-crop-resolve-size-wrap").toggleClass("on-allow-fit-format",!!e.fit).toggleClass("on-allow-crop",!0).toggleClass("on-allow-frame",!!e.frame).toggleClass("on-allow-variable-size",this.model.allowVariable()),this},setResolveSizeBy:function(e){var t;t="string"==typeof e?e:$(e.currentTarget).val(),this.model.set({mode:t}),this.cropperHelper.updateResolveClass(this.$modal,t),"variable"===t&&this._updateVariableSizeString(),Pubsub.trigger("package-cropper:resolve-change")},triggerInitialOption:function(e){var t=$("#packages-crop-resolve-by-"+e);t.prop("checked")?this.setResolveSizeBy(e):t.trigger("click")},_updateVariableSizeString:function(){var e=this.model.getFixedImageRatio(),t=this.model.getShorterSide(),i=NumberFormatter.sumAsText(t*e,1,"cm"),a=NumberFormatter.sumAsText(t,1);$("#packages-crop-variable-info-short").text(a),$("#packages-crop-variable-info-long").text(i)}}),CartPackageCropperView=Backbone.View.extend({cropperHelper:null,$imgEl:null,$modal:null,raceEQ:null,events:{"cropmove.cropper":"throttledUpdateFrameOffset"},initialize:function(e){this.cropperHelper=new CropperHelper,this.$modal=e.$modal,this.$imgEl=$("#packages-crop-preview-wrap-img"),this.setElement(this.$imgEl.closest(".preview-wrap")[0]),this.raceEQ=new PicRaceEQ,this.listenTo(Pubsub,"package-cropper:resolve-change",this.render),this.listenTo(this.model,"change:customOrientation",this.render),this.listenTo(this.model,"change:imageUrl",this.setSrc)},render:function(){var e=this,t=function(){var i=e.$imgEl.width(),a=e.$imgEl.height(),n=!!e.$imgEl.data("cropper");if(0!==i||n){var o=e.model.getCropperOpts(),r=e.model.get("isSticker");o.built=function(){e.cropperHelper.solveResolveByFitWrapping(e.$el,e.$modal),e._updateFrameOffset(),e._updateCanvasMatch()},e.$el.toggleClass("is-sticker",r),n?(e.$imgEl.cropper("setAspectRatio",o.aspectRatio).cropper("setData",o.data),o.built()):(e._setMaxDimensions(i,a),o.cropend=function(){var t=e.$imgEl.cropper("getData");e.model.setCropData(t)},e.$imgEl.cropper(o)),Pubsub.trigger("package-cropper:enable")}else setTimeout(t,200)};CommonHelper.onImgLoad(this.$imgEl,this.raceEQ.push(t))},setSrc:function(e){this.$imgEl.prop("src",e.get("imageUrl"))},throttledUpdateFrameOffset:_.throttle(function(){this.model.get("isSticker")&&this._updateFrameOffset()},100),removeCropper:function(){this.cropperHelper.removeCropper(this.$imgEl),this.$el.removeClass("on-canvas-match"),this._resetMaxDimensions()}
3,_setMaxDimensions:function(e,t){var i=2*parseInt(this.$el.css("padding-top"));this.$el.css({width:i+e,height:i+t})},_resetMaxDimensions:function(){this.$el.css({width:"",height:""})},_updateFrameOffset:function(){var e=this.model.isCanvasNoFrame();this.cropperHelper.updateFrameOffset({isCanvasNoFrame:e,isSticker:!e&&this.model.get("isSticker"),widestLength:this.model.getLongerSideWithFrame(),$cropperDragger:this.$(".cropper-crop-box")})},_updateCanvasMatch:function(){this.$el.toggleClass("on-canvas-match",this.cropperHelper.isCanvasMatch({resolveSizeBy:this.model.get("mode"),cropData:this.$imgEl.cropper("getData"),origWidth:this.model.get("imgWidth"),origHeight:this.model.get("imgHeight")}))}}),CartPackageFreeDownloadView=Backbone.View.extend({template:"",initialize:function(e){this.template=e.template},render:function(){const e=this.model.anyFromKfAlbum()&&"never"===this.model.get("withKfDownloadMode");return this.$el=$(this.template({showKfDownloadExcludedHint:e})),this.setElement(this.$el),this}}),CartPackageImageRowView=Backbone.View.extend({events:{"click .js-cart-package-list-img":"openCropper","click .js-cart-package-list-edit":"openCropper"},template:"",warningTemplate:"",productModel:null,cropperHelper:null,initialize:function(e){this.template=e.template,this.warningTemplate=e.warningTemplate,this.productModel=e.productModel,this.cropperHelper=new CropperHelper,this.listenTo(Pubsub,"cart-table:initial-render-complete",this.pubRenderForThumbnailCropper),this.listenTo(this.model,"change:cropData",this.pubRenderForThumbnailCropper),this.listenTo(this.model,"change:resolveSizeBy",this.pubRenderForThumbnailCropper),this.listenTo(this.model,"change:resolveSizeBy",this.updateResolveText),this.listenTo(this.model,"change:resolveSizeBy change:cropConfirmed",this.checkCropWarning),this.listenTo(Pubsub,"package:emphasize-crop-warning",this.emphasizeCropWarning),this.listenTo(this.model,"crop-edit-modal-hide",this.reduceCropWarning)},render:function(){var e=this.model.get("title");return this.$el.html(this.template({croppableClass:this._isCroppable()?"is-croppable":"",url:this.model.get("url"),name:this.productModel.get("name"),title:e,albumUrl:this.model.get("albumUrl")})),this.$(".article-list-product-options").remove(),e||this.$(".js-article-list-product-title-wrap").remove(),"match"===this.model.get("resolveSizeBy")&&this.$(".js-cart-package-list-actions").remove(),this.updateResolveText(),this.setElement(this.$(".js-cart-row")),this.checkCropWarning(),this},pubRenderForThumbnailCropper:function(){var e=this.model.get("cropData"),t=this.productModel.get("images").formatData;Pubsub.trigger("package:render-cropper-in-cart-table",this.$(".js-cart-package-list-img-img"),{resolveSizeBy:this.model.get("resolveSizeBy"),cropData:e&&e.data,isSticker:this.model.get("isSticker"),widestLength:t&&Math.max(t.width,t.height),origWidth:this.model.get("width"),origHeight:this.model.get("height")})},openCropper:function(e){e.preventDefault(),this._isCroppable()&&(this.$(".js-package-crop-warning").tooltip("hide"),Pubsub.trigger("package-cropper:open",this.model))},updateResolveText:function(){var e,t=this.model.get("resolveSizeBy"),i=this.$(".js-article-list-product-info"),a="",n="";if(this.cropperHelper.isSomeSortOfCrop(t)){"crop"===t?(a=i.data("text-crop"),e="on-crop"):"canvas-reflect"===t?(a=i.data("text-canvas-reflect"),e="on-canvas-reflect"):"canvas-frame"===t?(a=i.data("text-canvas-frame"),e="on-canvas-frame"):"canvas-noframe"===t&&(a=i.data("text-canvas-noframe"),e="on-canvas-noframe");var o={cropData:this.model.get("cropData").data,origWidth:this.model.get("width"),origHeight:this.model.get("height")};this.cropperHelper.isOutOfMatchTolerance(o)&&(n='<span class="las la-exclamation-triangle"></span> ')}i.html(n+a).toggleClass("hide",!a&&!n).closest(".js-cart-row").removeClass("on-crop on-canvas-reflect on-canvas-frame on-canvas-noframe").addClass(e)},checkCropWarning:function(){var e=this.$(".js-package-crop-warning"),t=e.length>0,i=this.model.needsCropWarning();i&&!t?(this.$(".js-cart-package-list-edit").before(this.warningTemplate()),e.tooltip()):!i&&t&&(this.reduceCropWarning(),e.remove()),this.$el.toggleClass("js-has-crop-warning",i),this.$el.toggleClass("js-is-sticker",this.model.get("isSticker")),this.$el.toggleClass("js-is-unconfirmed-crop",this.model.isUnconfirmedCrop())},emphasizeCropWarning:function(){this.$el.toggleClass("has-crop-warning-aloud",this.model.needsCropWarning())},reduceCropWarning:function(){this.$el.removeClass("has-crop-warning-aloud")},_isCroppable:function(){return"match"!==this.model.get("resolveSizeBy")&&!this.productModel.get("isDigital")}}),CartPackageImagesTableView=Backbone.View.extend({className:"cart-table cart-package-image-list",childViews:null,initialize:function(e){var t=[];this.collection.each(function(i){i.get("images").each(function(a){var n=new CartPackageImageRowView({template:e.template,warningTemplate:e.warningTemplate,model:a,productModel:i});t.push(n)})}),this.childViews=t}, 4render:function(){var e=[];return _.each(this.childViews,function(t){e.push(t.render().el)}),this.$el.html(e),this},removeChildren:function(){_.each(this.childViews,function(e){e.remove()})}}),CartPackageProcessingAlertView=Backbone.View.extend({el:"#cart
4-package-processing-alert",lineTemplate:"",initialize:function(){this.lineTemplate=PicTempl.get("cart-package-processing-alert-line-templ"),this.linkTemplate=_.template('<a href="{{albumUrl}}">{{albumTitle}}</a>'),this.listenTo(Pubsub,"package:act-on-cart-changes-completed",this.render)},render:function(){var e=this,t=0,i="";this.collection.each(function(a){a.get("isProcessing")&&(i+=e.lineTemplate(e._lineVars(a)),t++)}),$("#cart-package-processing-alert-lines-wrap").html(i),this.$el.toggleClass("hide",t<1)},_lineVars:function(e){var t=0,i=0,a={},n={};e.get("products").each(function(e){e.get("images").each(function(e){if(t++,e.get("url")){var o=e.get("albumUrl").split("#")[0]+"#open-packages-list",r=a[o]||0;a[o]=r+1,n[o]=e.get("albumTitle")}else i++})});var o=this._getAlbumLinkOpts(a,n);return{name:e.get("name"),missingCount:i,imagesCount:t,albumLink:this.linkTemplate(o),albumUrl:o.albumUrl}},_getAlbumLinkOpts:function(e,t){var i="",a="",n=0;return _.each(e,function(e,o){e>n&&(n=e,a=t[i=o])}),{albumUrl:i,albumTitle:a}}}),CartPackageTitleView=Backbone.View.extend({template:"",events:{"keyup .js-article-list-amount-input":"updateAmountIfValid","change .js-article-list-amount-input":"updateAmountIfValid","blur .js-article-list-amount-input":"ensureMinMaxAmount"},initialize:function(e){this.template=e.template,this.listenTo(this.model,"change:price",this.updatePrice)},render:function(){var e=this.model.attributes;return this.$el.html(this.template({uuid:e.uuid,title:e.name,priceInt:e.price,amount:e.count,isCalendarPackage:e.isCalendarPackage})),this.setElement(this.$(".js-cart-package-list")),this},updateAmountIfValid:function(e){const t=e.currentTarget,i=parseInt($(t).val());t.validity.valid&&!window.isNaN(i)&&Pubsub.trigger("package:update-amount",this.model.get("uuid"),i)},ensureMinMaxAmount:function(e){ChangeAmountHelper.ensureMinMax($(e.currentTarget)),this.updateAmountIfValid(e)},updatePrice:function(){this.$(".js-cart-package-list-sum").data("single-price",this.model.get("price"))}}),CartPackageView=Backbone.View.extend({childViewsAndModel:{},titleTemplate:"",imagesTemplate:"",calendarImageTemplate:"",warningTemplate:"",freeDownloadTemplate:"",freeGalleryDownloadTemplate:"",initialize:function(){this.titleTemplate=PicTempl.get("cart-package-meta-table-templ"),this.imagesTemplate=PicTempl.get("cart-package-image-tr-templ"),this.calendarImageTemplate=PicTempl.get("cart-package-calendar-image-templ"),this.warningTemplate=PicTempl.get("cart-package-crop-warning-templ"),this.freeDownloadTemplate=PicTempl.get("cart-package-free-download-templ"),this.freeGalleryDownloadTemplate=PicTempl.get("cart-package-free-gallery-download-templ"),this._collectViews(),this.listenTo(Pubsub,"package:delete",this.removeChildViewsForPackage),this.listenTo(Pubsub,"package:delete-missing-image",this.removeChildViewsForPackage)},render:function(){var e=[];_.each(this.childViewsAndModel,function(t){e.push(t.separatorView.render().el),e.push(t.titleView.render().el),t.freeDownloadView&&e.push(t.freeDownloadView.render().el),e.push(t.imagesView.render().el)}),$("#cart-package-list-wrap").html(e)},removeChildViewsForPackage:function(e){_.each(this.childViewsAndModel[e],function(e,t){if("imagesView"===t)e.removeChildren();else if("model"===t||!e)return;e.remove()}),delete this.childViewsAndModel[e]},_collectViews:function(){var e=this;this.collection.each(function(t){if(t.get("isProcessing"))return;var i,a,n=t.get("uuid"),o=new CartPackageTitleView({model:t,template:e.titleTemplate});const r=t.get("withFreeDownload");(r||t.get("withFreeGalleryDownload"))&&(i=new CartPackageFreeDownloadView({model:t,template:r?e.freeDownloadTemplate:e.freeGalleryDownloadTemplate})),a=t.get("isCalendarPackage")?new CartPackageCalendarView({model:t,template:e.calendarImageTemplate}):new CartPackageImagesTableView({collection:t.get("products"),template:e.imagesTemplate,warningTemplate:e.warningTemplate}),e.childViewsAndModel[n]={separatorView:e._newSeparatorView(),titleView:o,freeDownloadView:i,imagesView:a,model:t}})},_newSeparatorView:function(){return{render:function(){return this.el=$('<div class="cart-package-separator" />'),this},remove:function(){this.el.remove()}}}});
4$(function(){if($("#basket-wishlist").length){var e=$("body").data();PicStorage.init(e.shopId),CartPackageStore.init();var t=PicStorage.getComposedPackages(),i=new CartPackagesCollection(null,{packagesData:t}),a=PicStorage.getAlbumPackagesInCart();new CartPackageView({collection:i}).render(),new CartPackageProcessingAlertView({collection:i}).render(),new CartPackageCropperModalView({model:new CartPackageCropperModel}),a.length&&AlbumPackages.init(!1,a)}});var Cart=function(){var e=this,t=$("html"),i={},a=function(e,t){return e+"-"+t+"-"+(Math.random()+1).toString(36).substring(5)},n=function(){return(new Date).getTime()},o=function(e){var t=[];return _.each(i.ordered,function(i,a){var n=i.index;_.each(i.products,function(o,r){var s={uuid:r,id:a,pcID:o.pcID,baseID:o.baseID,optionPath:o.optionPath,price:o.price,count:o.count,minOrderVal:i.album.minOrderVal,enforcePackage:i.album.enforcePackage,enforceDownload:i.album.enforceDownload,downloadUpsell:i.album.downloadUpsell||!1};e&&(s=_.extend(s,{resolveSizeBy:o.resolveSizeBy,cropData:o.cropData,fixedCropCoords:!!o.fixedCropCoords,colorIndex:o.colorIndex,origWidth:o.origWidth,origHeight:o.origHeight,origSrc:o.origSrc,index:n}),void 0!==o.useMatte&&(s.useMatte=o.useMatte),o.allowWhiteBorder&&(s.isWhiteBorder=!!o.isWhiteBorder)),t.push(s)})}),t},r=function(e,t,i,a){var n={id:e.imageId,productIndex:i,imageIndex:t,minOrderVal:e.minOrderVal,isQr:e.isQr};return a&&(n=_.extend(n,{resolveSizeBy:e.resolveSizeBy,cropData:!!e.cropData&&e.cropData.data,origWidth:e.width,origHeight:e.height})),n},s=function(e,t,i){var a={id:e.packageId,name:e.name,price:e.price,startMonth:e.startMonth,startYear:e.startYear,count:e.count,products:t,uuid:e.uuid};return i||(a.isProcessing=e.isProcessing),a},c=function(e,t){var i=[];return _.each(e,function(e){var a=[];_.each(e.products,function(e,i){a.push({id:e.itemId,variationId:e.variationId,images:_.map(e.images,function(e,a){return r(e,a,i,t)})})}),i.push(s(e,a,t))}),i}
4,l=function(e,t){e.each(function(){var e=$(this);e.text(e.data(t?"single":"multiple"))})},d=function(e){_.each(i.packaged,function(t){_.each(t.products,function(t){_.each(t.images,e)})})};this.get=function(){return i},this.getOrdered=function(){return i.ordered},this.getOrderedForSubmit=function(){return o(!0)},this.getOrderedForChanges=function(){return o()},this.getPackagedForSubmit=function(){return c(i.packaged,!0)},this.getAllPackagedForChanges=function(e){return c(e)},this.getAlbumPackagedForSubmitOrChanges=function(){return _.map(i.albumPackaged,function(e){return{uuid:e.uuid,price:e.price,packageId:e.packageId,ppItemId:e.ppItemId,albumId:e.albumId,albumName:e.albumName,imagesCount:e.imagesCount,minOrderVal:e.minOrderVal}})},this.getWished=function(){return i.wished},this.setOrdered=function(e){i.ordered=e},this.setWished=function(e){i.wished=e},this.setPackaged=function(e){var t={},a=0;_.each(e,function(e,i){e.isProcessing?a++:t[i]=e}),i.packaged=t,i.unfinishedPackagesCount=a},this.setAlbumPackaged=function(e){i.albumPackaged=e},this.getProductData=function(e,t){return i.ordered[e].products[t]},this.getTitle=function(e){return i.ordered[e].title},this.getImgRatios=function(e){var t={};return e.forEach(function(e){t[e]=i.ordered[e].ratio}),t},this.countCartItems=function(){var e=CustomArticles.getCount(),t=function(t){_.each(t.products,function(i){e+=i.count*(t.count||1)})};return _.each(i.ordered,t),_.each(i.packaged,t),_.each(i.albumPackaged,function(t){e+=t.imagesCount}),e},this.countUnfinishedPackages=function(){return i.unfinishedPackagesCount},this.hasPackagesOnly=function(){return _.some(i.packaged)&&!_.some(i.albumPackaged)&&!_.some(i.ordered)&&0===CustomArticles.getCount()},this.countWished=function(){return Object.keys(i.wished).length},this.updateCount=function(){var e=this.countCartItems(),a=this.countWished(),n=i.unfinishedPackagesCount,o=0===e,r=0===a,s=n>0,c=o&&r&&!s,d=CustomArticles.getSum();_.each(i.ordered,function(e){_.each(e.products,function(t){d+=parseFloat(DownloadUpsell.effectivePrice(e,t))*t.count})}),_.each(i.packaged,function(e){d+=parseFloat(e.price)*e.count}),_.each(i.albumPackaged,function(e){d+=parseFloat(e.price)}),$(".js-alert-cart-counter").text(e),l($(".js-alert-cart-counter-str"),1===e),$("#sticky-cart-price").text(NumberFormatter.centsAsPrice(d)),$(".js-alert-wishlist-counter").text(a),l($(".js-alert-wishlist-counter-str"),1===a),$(".js-alert-unfinished-packages-counter").text(n),t.toggleClass("on-cart",!c).toggleClass("on-wishlist-only",!c&&o&&!r).toggleClass("on-unfinished-packages-only",!c&&o&&r&&s),_.defer(function(){Pubsub.trigger("cart:update-count",{countCartItems:e,countWished:a,countUnfinished:n,sum:d})})},this.hasOnlyOnePackage=function(){return 0===_.keys(i.ordered).length&&(1===_.keys(i.packaged).length||1===i.albumPackaged.length)},this.isInOrdered=function(e){return _.any(i.ordered,function(t,i){return parseInt(i)===parseInt(e)})},this.addToOrdered=function(e){var t=a(e.id,e.productData.baseID);if(this.isInOrdered(e.id))i.ordered[e.id].products[t]=e.productData,i.ordered[e.id].album=e.album;else{var o={src:e.src,title:e.title,ratio:e.ratio,album:e.album,products:{},index:parseInt(n()+(e.index||0))};o.products[t]=e.productData,i.ordered[e.id]=o}return this.removeFromWishlist([e.id]),t},this.duplicateOrderedItem=function(e,t){var n=i.ordered[e].products[t],o=a(e,n.baseID);return i.ordered[e].products[o]=n,o},this.updateOrderedItem=function(e,t,a){i.ordered[e].products[t]=a},this.updateOrderedItemCount=function(e,t,a){i.ordered[e].products[t].count=a},this.updateOrderedItemPrice=function(e,t,a){i.ordered[e].products[t].price=a,i.ordered[e].album.ptHash=!1},this.updateOrderedItemMinOrderVal=function(e,t){i.ordered[e].album.minOrderVal=t},this.updateOrderedItemEnforcePackage=function(e,t){i.ordered[e].album.enforcePackage=t},this.updateOrderedItemEnforceDownload=function(e,t){i.ordered[e].album.enforceDownload=t},this.updateOrderedItemDownloadUpsell=function(e,t){i.ordered[e].album.downloadUpsell=t||!1},this.updateOrderedItemWhiteBorder=function(e,t,a){i.ordered[e].products[t].isWhiteBorder=a},this.updateAlbumPackagePrice=function(e,t){_.find(i.albumPackaged,function(i){return i.uuid===e&&(i.price=t),!1})},this.allowDelete=function(e,t){var a=i.ordered[e];if(a.products[t].isDigital&&a.album.enforceDownload){return!_.any(a.products,function(e){return!e.isDigital})}return!0},this.deleteOrderedItem=function(e,t){delete i.ordered[e].products[t],$.isEmptyObject(i.ordered[e].products)&&delete i.ordered[e]},this.deleteAllOrderedAndPackaged=function(){i.ordered={},i.packaged={},i.albumPackaged=[]},this.isOnWishlist=function(e){return!!i.wished[parseInt(e)]},this.addToWishlist=function(t,a,o){e.isOnWishlist(t)||e.isInOrdered(t)||(a.index=n()+(o||0),i.wished[t]=a)},this.removeFromWishlist=function(t){t.forEach(function(t){e.isOnWishlist(t)&&delete i.wished[t]})},this.emptyWishlist=function(){var e=Object.keys(this.getWished());return this.setWished({}),e},this.getHighestMinOrderVal=function(){var e=0,t={},a=0,n=function(t){e=Math.max(t,e)},o=function(e,i){e.isQr&&e.minOrderVal&&!t[i]&&(t[i]=e.minOrderVal),n(e.minOrderVal||0)};if(_.each(i.ordered,function(e){o(e.album,e.album.id)}),d(function(e){o(e,e.albumId)}),_.each(i.albumPackaged,function(e){o(e,e.albumId)}),_.size(t)>1){var r=_.values(t),s=_.reduce(r,function(e,t){return e+t},0);a=_.max(r),n(s)}return{val:e,qrMaxVal:a}},this.getAlbumIdsForAutoredemptionCoupons=function(){var e=_.pluck(i.albumPackaged,"albumId");return _.each(i.ordered,function(t){e.push(t.album.id)}),d(function(t){e.push(t.albumId)}),_.uniq(e)}},CartTableView=function(e,t){var i,a=e,n=t,o=this,r="",s=$("#article-list"),c=$("#changes-alert"),l=$("#basket-summary")[0],d=!1,u=99,g=function(e){return NumberFormatter.centsAsPrice(e)},h=function(e,t){return Math.round(e*(1-t/100))},p=function(e,t,i){return e+h(e,i)*(t-1)},m=function(e,t){var i=parseInt(e.data("image-id")),a=e.data("product-uuid");if(!i||!a)return t;var n=DownloadUpsell.priceForRow(i,a);return!1===n?t:n},f=function(e,t,i,a){var n=t.find(".js-article-list-sum-value");if(n.length){n.text(g(i));var o=i!==a;e.find(".js-article-list-old-price").text(o?g(a):"").toggleClass("hide",!o)}else t.text(g(a))},v=function(e){var t=e.data("volume-discount");e.find(".js-article-list-open-voldisc-modal").toggleClass("hide",!t),e.find(".js-article-list-amount-discount-wrap").toggleClass("hide",!t),e.find(".js-article-list-amount-discount-value").text(t)},b=function(e,t){var i=e.find(".article-list-product-options"),a="";!t.options&&t.optionsString&&(t.options=[{name:i.data("optiongroup-fallback-name"),value:t.optionsString}]),t.options&&t.options.forEach(function(e,t){t>0&&(a+="<br />"),a+=`<strong>${e.name}:</strong> ${e.value}`}),i.html(a).toggleClass("hide",!a)},w=function(e,t){e.closest(".article-list-img-inner, .js-cart-package-list-img-inner").css({width:t?"":e.width(),height:t?"":e.height()})},k=function(e){e.removeData("cropper").removeClass("cropper-hidden").next(".cropper-container").remove(),w(e,!0)},C=function(e,t){CommonHelper.onImgLoad(e,function(){var i=e.closest(".article-list-img, .js-cart-package-list-img");a.removeCropper(e),w(e,!0),w(e),e.cropper({data:t.cropData,cropBoxMovable:!1,built:function(){i.find(".resolve-by-fit-format").length&&w(e,!0),a.updateFrameOffset({isCanvasNoFrame:"canvas-noframe"===t.resolveSizeBy,isSticker:t.isSticker,widestLength:t.widestLength,$cropperDragger:e.closest(".
4js-cart-row").find(".cropper-crop-box")})}}),a.solveResolveByFitWrapping(i,e.closest(".js-cart-row"))})},P=function(e,t,i){if("fit"===t.resolveSizeBy||a.showAsCrop(t)){if(i&&i.updateResolveClass){var n=e.closest(".js-cart-row");a.updateResolveClass(n,t.resolveSizeBy)}C(e,t)}else i&&i.doRemove&&a.removeCropper(e)},I=function(e,t){return" ("+c.data("text-old-price")+": "+NumberFormatter.centsAsPrice(e)+", "+c.data("text-new-price")+": "+NumberFormatter.centsAsPrice(t)+")"},y=function(e,t){return" ("+c.data("text-old-count")+": "+e+", "+c.data("text-new-count")+": "+t+")"},A=function(e,t){return" ("+c.data("text-old-amount")+": "+e+", "+c.data("text-new-amount")+": "+t+")"},D=function(e){$("html").toggleClass("on-cart-changes",e)};this.getIdObj=function(e){var t=e.closest(".js-cart-row").data();return{ids:[parseInt(t["image-id"])],"product-uuid":t["product-uuid"],"album-id":t["album-id"],"pt-hash":t["pt-hash"]}},this.getAlbumID=function(e){return e.data("album-id")},this.getPtHash=function(e){return e.data("pt-hash")},this.getImgURL=function(e){return $(this.getImgWrapSelector(e)).first().find(".article-list-img-img").prop("src")},this.getImgURLs=function(e){var t={};return e.forEach(function(e){t[e]=o.getImgURL(e)}),t},this.getImgWrapSelector=function(e){return"."+n+e},this.updateBasketSums=function(){var e=0,t=$("#basket-summary-sum").hasClass("hide");$(".js-article-list-amount-input").each(function(){var t=$(this),i=t.closest(".js-cart-row"),a=i.data("volume-discount"),n=i.find(".js-article-list-sum, .cart-package-list-sum"),o=parseInt(t.val()),r=parseFloat(n.data("single-price")),s=m(i,r);e+=a?p(s,o,a):o*s,f(i,n,s,r)}),DownloadUpsell.refreshRows(),$("#basket-summary-prices").data("pending-sum",e),t&&$("#basket-summary-sum-final").text(g(e)),Pubsub.trigger("cart-table:update-sums-complete",e)},this.updateMinOrderVal=function(e,t,i){var a=$("#basket-min-order-val-wrap"),n=$("#basket-min-order-val-sum"),o=$("#basket-min-order-val-qr-hint"),r=$("#basket-min-order-val-qr-val");e?(n.text(NumberFormatter.centsAsPrice(t)),a.removeClass("hide"),o.toggleClass("hide",!i),r.text(NumberFormatter.centsAsPrice(i))):a.addClass("hide")},this.buildTable=function(e,t,i){var a,n=$("#article-list-template");1===n.length&&(r='<div class="cart-table-row js-cart-row">'+$.trim(n.html())+"</div>",n.remove()),t.forEach(function(t){var i=e[t],n=_.keys(i.products);_.sortBy(n,function(e){return i.products[e].isDigital?0:1}).forEach(function(e){o.createArticleListItem({id:t,uuid:e,album:i.album,src:i.src,title:i.title,productData:i.products[e],orderUrl:i.orderUrl,isSameID:a===t}),a=t})}),_.each(i,function(e){o.createCustomArticleListItem(e)}),Pubsub.trigger("cart-ordered-table:render",{template:r}),o.updateBasketSums()},this.createArticleListItem=function(e){var t=$(r).prop("id","product-"+e.uuid).addClass(n+e.id).data({"image-id":e.id,"product-uuid":e.uuid,"album-id":e.album.id,"pt-hash":e.album.ptHash});(t.find(".js-on-custom-only").remove(),(t=this.updateArticleListItem(t,{productData:e.productData,src:e.src,album:e.album,id:e.id,uuid:e.uuid,title:e.title,orderUrl:e.orderUrl})).toggleClass("multi",!!e.isSameID),e.prevUUID)?$("#product-"+e.prevUUID).after(t):s.append(t);P(t.find(".article-list-img-img"),e.productData)},this.createCustomArticleListItem=function(e){var t=$(r).prop("id","custom-article-"+e.id).addClass("js-is-custom-article is-custom-article").data({customArticleID:e.id});t.find(".js-hide-on-custom-article").remove(),t.find(".article-list-img-img").prop("src",e.src||""),t.find(".article-list-product-name").text(e.name),t.find(".js-article-list-page").prop("href",e.url),t.find(".js-article-list-amount-input").val(e.count),o.updateArticleListItemPrice(t,e.price),o.updateCustomArticleMax(t,e.remaining),s.append(t)},this.updateCustomArticleMax=function(e,t){var i="number"==typeof t?t:u;e.find(".js-article-list-amount-input").prop("max",i)},this.updateCustomArticleAmount=function(e,t){e.addClass("error error-on-amount").find(".js-article-list-amount-input").val(t),o.updateCustomArticleMax(e,t)},this.duplicateArticleListItem=function(e,t,i){var a=e.clone(!0).addClass("multi"),n=a.prop("id","product-"+t).data({"product-uuid":t}).find(".article-list-img-img");k(n),e.after(a),a.animationTiming("doAnimWith","quick-zoom-in"),P(n,i),o.updateBasketSums()},this.updateArticleListItem=function(t,i){var n=t.find(".article-list-img-img"),r=t.find(".js-article-list-product-info").removeClass("hide"),s=!i.src,c=i.productData,l=a.isSomeSortOfCrop(c.resolveSizeBy),d=_.any(PicStorage.getComposedPackages())||_.any(PicStorage.getAlbumPackagesInCart());s||(n.prop("src",i.src||""),t.find(".js-article-list-product-title").prop("href",i.album.url+"#hl"+i.id)),a.updateResolveClass(t,c.resolveSizeBy),t.toggleClass("js-has-crop-warning",l),t.toggleClass("js-is-sticker",!!c.isSticker),t.find(".article-list-img").toggleClass("on-grayscale",1===c.colorIndex),t.find(".article-list-product-name").text(c.name),t.find(".js-article-list-product-download-required").toggleClass("hide",!i.album.enforceDownload||c.isDigital),t.find(".js-article-list-product-title-wrap").toggleClass("hide",!i.title).find(".js-article-list-product-title").text(i.title);var u=t.find(".js-media-type-label");if(u.text(c.isVideo?u.data("labelVideo"):u.data("labelImage")),b(t,c),c.isDigital||"fit"===c.resolveSizeBy||"match"===c.resolveSizeBy)r.addClass("hide");else if("variable"!==c.resolveSizeBy||c.isDigital){if(l){var g="";e.isOutOfMatchTolerance(c)&&(g='<span class="las la-exclamation-triangle"></span> '),r.html(g+r.data("text-"+c.resolveSizeBy))}}else r.text(c.resolveByVariableText);
4if(t.find(".js-white-border-wrap").toggleClass("hide",!c.allowWhiteBorder),t.find(".js-white-border").prop("checked",!!c.isWhiteBorder),t.find(".js-article-list-package-promo").toggleClass("hide",d||!i.album.possiblePackageBasisIds?.includes(c.baseID)).prop("href",`${i.album.url}#open-packages-list`),i.orderUrl){const e=i.orderUrl.indexOf("?")>-1?"&":"?",a=i.orderUrl+e+"edit="+i.uuid;t.find(".article-list-edit").prop("href",a).addClass("js-link-to-mobile-order-edit")}return t.find(".article-list-amount").toggleClass("on-digital",!!c.isDigital),t.find(".js-article-list-amount-input").val(c.count),t.find(".article-list-amount-static").text(c.count),o.updateArticleListItemPrice(t,c.price),t.data("volume-discount",c.volumeDiscount||null),v(t),s&&(t.removeClass("error error-on-amount error-on-price"),P(n,c,{doRemove:!0})),t},this.updateArticleListItemPrice=function(e,t,i){e.find(".article-list-sum").data("single-price",t),i&&e.addClass("error error-on-price").data("pt-hash",!1)},this.updateCropperForPackageItem=function(e,t){P(e,t,{updateResolveClass:!0})},this.deleteArticleListItem=function(e){var t=200,i=!1;e.children().animate({"padding-top":0,"padding-bottom":0},t).wrapInner('<div style="overflow:hidden;" />').children().animate({height:0},t,function(){if(!i){i=!0;var t=e.next();t.hasClass("multi")&&!e.hasClass("multi")&&t.removeClass("multi"),e.remove(),o.updateBasketSums()}})},this.deleteTable=function(){s.find(".js-cart-row").remove()},this.showChanges=function(e,t){var i=!1;c.find("li").remove(),e.forEach(function(e){var t,a,n,o;if("order"===e.type){var r=`<span>${e.title} \u2013 ${e.name}</span>`;"image"===e.reason?(t=$("#changes-reason-image-deleted"),o=`<img src="${e.src}">${r}`):(o=`<a href="${e.siUrl}">${r}</a><br>`,"price"===e.reason?(t=$("#changes-reason-price-changed"),o+=`<small>${I(e.oldPrice,e.newPrice)}</small>`):"product"===e.reason&&(t=$("#changes-reason-product-deleted")),o=`<img src="${e.src}"><span>${o}</span>`)}else if("package"===e.type){switch(e.reason){case"invalid":t=$("#changes-reason-package-deleted");break;case"conflicting_prices":t=$("#changes-reason-package-conflicting-prices");break;case"structure":t=$("#changes-reason-package-structure");break;case"image":var s=e.images.length,c=1===s?"text-single-image":"text-multi-image";a=" ("+s+" "+(t=$("#changes-reason-package-image-deleted")).data(c)+")";break;case"price":t=$("#changes-reason-price-changed"),a=I(e.oldPrice,e.newPrice);break;default:return}n=e.name,a&&(n+=`<br><small>${a}</small>`),o=`<span class="flexify">${'<span class="las la-piggy-bank"></span>'}</span><span>${n}</span>`}else if("album_package"===e.type){switch(a="",e.reason){case"invalid":t=$("#changes-reason-package-deleted");break;case"structure":t=$("#changes-reason-package-structure");break;case"album":t=$("#changes-reason-album-package-album");break;case"images_count":t=$("#changes-reason-album-package-images-count"),a=y(e.oldCount,e.newCount);break;case"price":t=$("#changes-reason-price-changed"),a=I(e.oldPrice,e.newPrice);break;default:return}n=`Galerie als Download (${e.name})`,a&&(n+=`<br><small>${a}</small>`),o=`<span class="flexify">${'<span class="las la-download"></span>'}</span><span>${n}</span>`}else if("custom_article"===e.type){switch(a="",e.reason){case"invalid":t=$("#changes-reason-custom-article-deleted");break;case"count":t=$("#changes-reason-custom-article-count"),a=A(e.oldCount,e.newCount);break;case"price":t=$("#changes-reason-price-changed"),a=I(e.oldPrice,e.newPrice);break;default:return}n="invalid"!==e.reason&&e.url?`<a href="${e.url}">${e.name}</a>`:e.name,a&&(n+=`<br><small>${a}</small>`),o=`${e.src?`<img src="${e.src}">`:'<span class="flexify"><span class="las la-shopping-bag"></span></span>'}<span>${n}</span>`}else if("universal"===e.type)if("minimum_order_value"===e.reason&&e.showNewMinOrderVal){t=$("#changes-reason-mov-changed");var l=NumberFormatter.centsAsPrice(e.newMinOrderVal);$("#changes-reason-mov-changed-val").text(l)}else if("enforce_package"===e.reason&&e.showEnforcePackageHint)t=$("#changes-reason-enforce-package-changed");else{if("enforce_download"!==e.reason||!e.showEnforceDownloadHint)return;t=$("#changes-reason-enforce-download-changed")}i=!0,t.removeClass("hide").find("ul").append("<li>"+o+"</li>")}),i&&(c.show(),$("#changes-cta-hint").toggleClass("hide",!t),D(!0))},this.hideRejections=function(){c.hide().find(".changes-reason").addClass("hide"),s.find(".error").removeClass("error error-on-amount error-on-price"),D(!1)},this.checkSticky=function(){const e=l.getBoundingClientRect(),t=document.documentElement.clientHeight,i=Math.ceil(e.bottom)===t||Math.floor(e.bottom)===t;i!==d&&requestAnimationFrame(function(){d=i,l.classList.toggle("is-sticky",d)})}
4,this.openVolumeDiscountModal=function(){var e=$(this).closest(".js-cart-row"),t=e.data("product-uuid"),a=e.data("image-id"),n=PicStorage.getOrdered()[a],o=n.products[t],r=o.price,s=h(r,o.volumeDiscount);i=e.find(".js-article-list-amount-input"),$("#modal-volume-discount-num").text(o.volumeDiscount),$("#modal-volume-discount-format").text(o.name),$("#modal-volume-discount-image").prop("src",n.src),$("#modal-volume-discount-old-price").text(g(r)),$("#modal-volume-discount-new-price").text(g(s)),$("#modal-volume-discount-amount").val("1"),$("#modal-volume-discount-submit").data({uuid:t,id:a})},this.changeAmountViaVolumeDiscountSubmit=function(){const e=$("#modal-volume-discount-amount"),t=parseInt(i.val()),a=parseInt(e.val()),n=Math.min(t+a,e.prop("max"));i.val(n).trigger("change")}},CouponProgress=function(){var e={update:function(e){var t=$("#coupon-progress");if(0!==t.length&&"number"==typeof e){var i,a=$("#coupon-progress-status"),n=t.data("max-cents"),o=!t.data("initialized"),r=function(e){return Math.min(100,e/n*100)+"%"};t.find(".js-coupon-progress-mark").each(function(){var a=$(this),n=a.data("min-cents"),s=e>=n;!s||o||a.data("is-reached")||(Confetti.rain(),growler(t.data("unlocked-text").replace("{coupon}",a.data("benefit")),"success")),a.css("left",r(n)).data("is-reached",s),s||i||(i=a)}),t.find(".js-coupon-progress-item").each(function(){var t=$(this),i=t.data("min-cents");t.toggleClass("is-reached",e>=i).toggleClass("is-locked",e<i)}),t[0].style.setProperty("--coupon-progress",r(e)),t.toggleClass("is-full",e>=n),a.find(".js-coupon-progress-coupon").text((i||t.find(".js-coupon-progress-mark").last()).data("benefit")),i&&a.find(".js-coupon-progress-sum").text(NumberFormatter.centsAsPrice(i.data("min-cents")-e)),$("#coupon-progress-missing").toggleClass("hide",!i),$("#coupon-progress-reached").toggleClass("hide",!!i),a.removeClass("hide"),t.data("initialized",!0)}}};return e}(),DownloadUpsell=function(){var e,t,i,a,n,o,r,s={},c=!1,l=!1,d=function(e){return!!r&&(r.getOrdered()[e]||r.getWished()[e])},u=function(){return e.data("ids")||[]},g=function(){return u().length>1},h=function(){return e.hasClass("on-video")},p=function(){return parseInt(u()[0])},m=function(e){return NumberFormatter.centsAsPrice(e)},f=function(e){return 0===e?PicI18n.get("order.prices.free")||"gratis":m(e)},v=function(e){return 0===e.price},b=function(e){return l?e&&e.album&&e.album.downloadUpsell||!1:c},w=function(e){return b(d(e))},k=function(e,t){return!(!e||t.baseID!==e.baseID)&&(!e.optionPath.length||_.isEqual(t.optionPath||[],e.optionPath))},C=function(e){return!!e&&_.any(e.products,function(e){return!e.isDigital})},P=function(e,t){return!!t&&_.any(t.products,function(t){return k(e,t)})},I=function(e,t){return k(b(e),t)&&C(e)},y=function(e){var t=w(e),i=d(e),a=_.find(i.products,function(e){return!e.isDigital})||{};return{pcID:t.pcID,baseID:t.baseID,optionPath:t.optionPath.slice(),options:t.options.slice(),name:t.name,resolveSizeBy:t.resolveSizeBy,cropData:{},price:t.regularPrice,count:1,isSticker:!1,allowWhiteBorder:t.allowWhiteBorder,widestLength:0,origWidth:a.origWidth,origHeight:a.origHeight,origSrc:a.origSrc,colorIndex:0,isDigital:!0}},A=function(){if(t&&t.length){var e=p(),r=w(e),c=!(!r||g()||h()||P(r,d(e))&&s.hasPhysical(e));c&&(i.toggleClass("hide",v(r)),a.toggleClass("hide",!v(r)),n.text(m(r.price)),o.text(m(r.regularPrice))),t.toggleClass("hide",!c)}},D=function(t){t.preventDefault();var i=p(),a=w(i),n=a&&a.pcID,o=a&&a.baseID,r=e.data("pt-hash"),s=function(){$(`.js-product-base-pc-${n}-${r}[data-base-id="${o}"]`).trigger("click")};$(`#product-category-${n}-${r}`).trigger("click",[s]).closest(".js-product-category").animationTiming("doAnimWith","shake")},T=function(){e.on("show.bs.modal",A),$.sub("order/category/change",A),$(".js-order-download-upsell-hint-link").on("click",D)};return s.setConfig=function(e){c=e||!1,A()},s.getConfig=function(){return c},s.effectivePrice=function(e,t){return I(e,t)?b(e).price:t.price},s.priceForRow=function(e,t){var i=d(e),a=i&&i.products[t];return!(!a||!I(i,a))&&b(i).price},s.canOffer=function(e){var t=w(e),i=d(e);return!!t&&C(i)&&!P(t,i)},s.priceForVariation=function(e,t){var i=w(e);return i&&i.variationId===t&&i.price},s.upsellPriceStr=function(e){return f(e)},s.hasPhysical=function(e){return C(d(e))}
4,s.showModal=function(t,i){var a=w(t),n=d(t),o=$("#modal-download-upsell"),r=!1;if(a&&o.length){$("#modal-download-upsell-image").prop("src",n?n.src:""),$("#modal-download-upsell-name").text(a.name),$("#modal-download-upsell-old-price").text(m(a.regularPrice)),$("#modal-download-upsell-new-price").text(f(a.price)),$("#modal-download-upsell-confirm").one("click",function(){r=!0,o.modal("hide")});var s=e.hasClass("in");o.one("hidden.bs.modal",function(){$("#modal-download-upsell-confirm").off("click"),s&&$("body").addClass("modal-open"),r&&i.onAdded&&i.onAdded(t,y(t)),i.onDone&&i.onDone()}).modal("show")}else i.onDone&&i.onDone()},s.refreshRows=function(){$(".js-cart-row").each(function(){var e=$(this),t=parseInt(e.data("image-id")),i=d(t),a=b(i),n=e.find(".js-article-list-download-upsell");if(n.length){var o=i&&i.products[e.data("product-uuid")],r=!(!a||!o||o.isDigital||P(a,i));r&&(n.find(".js-download-upsell-btn-paid").toggleClass("hide",v(a)),n.find(".js-download-upsell-btn-free").toggleClass("hide",!v(a)),n.find(".js-download-upsell-btn-price").text(m(a.price))),n.toggleClass("hide",!r)}})},s.init=function(s,c){l=s,r=c,e=$("#modal-order"),t=$("#order-download-upsell-hint"),i=$("#order-download-upsell-hint-paid"),a=$("#order-download-upsell-hint-free"),n=$("#order-download-upsell-hint-upsell-price"),o=$(".js-order-download-upsell-hint-regular-price"),T()},s}(),EnforceDownload=function(){var e,t,i={},a=!1,n=!1,o=function(e){return _.any(PicStorage.getAlbumPackagesInCart(),{albumId:e})},r=function(e){return _.any(PicStorage.getComposedPackages(),function(t){return!t.isProcessing&&!t.isCalendarPackage&&_.any(t.products,function(t){return t.isDigital&&_.any(t.images,{imageId:e})})})},s=function(e,t){var i=PicStorage.getOrdered()[e];return!!i&&_.any(i.products,{isDigital:!0})||o(t)||r(e)},c=function(){const t=parseInt(e.data("ids")[0]);return(PicStorage.getOrdered()[t]||PicStorage.getWished()[t]).album},l=function(){return n?c().enforceDownload:!!$("body").data("enforce-download")},d=function(){var t=n?c().id:parseInt($("body").data("album-id"));return _.all(e.data("ids"),function(e){return s(parseInt(e),t)})},u=function(){return $("#modal-order").hasClass("on-digital")},g=function(){a=l()&&!u()&&!d(),t.toggleClass("hide",!a)},h=function(){e.on("show.bs.modal",g),$.sub("order/category/change",g)};return i.isVisible=function(){return a},i.highlight=function(){t.animationTiming("doAnimWith","dbl-pulsate-small")},i.showModalIfNecessary=function(e){return!!_.any(e.ordered,function(e,t){if(!e.album.enforceDownload||o(e.album.id)||r(parseInt(t)))return!1;var i=_.any(e.products,{isDigital:!0});return _.any(e.products,function(e){return!e.isDigital})&&!i}
4)&&($("#modal-enforce-download-hint").modal("show"),!0)},i.showFirstDownloadCategory=function(t){t.preventDefault();const i=e.data("pt-hash");$(`.js-product-category-pt-${i}.visible [data-is-digital="true"]`).first().trigger("click")},i.init=function(i){n=i,e=$("#modal-order"),t=$("#order-enforce-download-hint"),h()},i}(),EnforcePackage=function(){var e,t,i,a={},n=!1,o=!1,r=function(e){return e||=PicStorage.getComposedPackages(),_.any(e,{isProcessing:!1,isCalendarPackage:!1})},s=function(){const t=parseInt(e.data("ids")[0]);return(PicStorage.getOrdered()[t]||PicStorage.getWished()[t]).album},c=function(){return o?s().enforcePackage:!!$("body").data("enforce-package")},l=function(){n=c()&&!r(),t.toggleClass("hide",!n),o&&n&&i.attr("href",s().url+"#open-packages-list")},d=function(){e.on("show.bs.modal",l),$(window).on("orderModal.activateOrderMode",l)};return a.isVisible=function(){return n},a.highlight=function(){t.animationTiming("doAnimWith","dbl-pulsate-small")},a.showModalIfNecessary=function(e){if(r(e.packaged))return!1;const t=_.find(e.ordered,e=>e.album.enforcePackage);if(!t)return!1;const i=t.album.url+"#open-packages-list";return $("#modal-enforce-package-hint").modal("show"),$("#modal-enforce-package-link").attr("href",i),!0},a.init=function(a){o=a,e=$("#modal-order"),t=$("#order-enforce-package-hint"),i=$("#order-enforce-package-link"),d()},a}(),GalleryGridView=function(e,t,i){ 5var a,n,o,r=$(window),s=$("html"),c=$("#selection-info"),l=$(".js-images-wrapper"),d=$("#basket-wishlist"),u=".imageitem",g="selection-mode",h=e,p=t,m=i,f=0,v=PicTempl.get("templ-imageitem-marker-wishlist"),b=PicTempl.get("templ-imageitem-marker-cart"),w=this,k=function(){return o?o.map(e=>parseInt(e)):_.sortBy(IMAGE_ITEMS_DATA,"index").map(e=>e.id)},C=function(e){return e.closest(u)},P=function(e){return"#"+m+e},I=function(e,t){var i=k(),a=i.indexOf(e)+(t?1:-1);return t&&a>=i.length||!t&&a<0?0:parseInt(i[a])},y=function(e,t,i){var a=!1;ScrollPolice.activate(),$("body, html").stop(!0,!0).animate({scrollTop:e},t,function(){a||(a=!0,"function"==typeof i&&i(),ScrollPolice.deactivate())})}
5,A=function(e,t){e.each(function(){var e=$(this),i=e.data(1===t?"single-text":"multiple-text").toString();e.text(i.replace("{num}",t))})},D=function(e){A($(".js-selection-counter"),e),$(".js-selection-cta-order, .js-selection-cta-wishlist").toggleClass("disabled",0===e).filter(".js-selection-cta-order").animationTiming("doAnimWith","quick-zoom-in")};this.orderButtonSelector=".orderbutton",this.imgSelector=".thumba",this.init=function(e){a=e},this.setMinOrderVal=function(e){f=e},this.setImgData=function(e,t){(n=e)&&(o=t||Object.keys(e))},this.getImgID=function(e){return parseInt(C(e).data("id"))},this.getAllImgIDs=function(){if(o)return o;var e=[];return $(u).each(function(){e.push($(this).data("id"))}),e},this.getPrevImgID=function(e){return I(e,!1)},this.getNextImgID=function(e){return I(e,!0)},this.getPreviewData=function(e,t){var i={};if(!(i=h||p||n?n[e]:IMAGE_ITEMS_DATA[e]))return!1;if(i=$.extend({},i),p||(i=$.extend(i,{album:{id:a.albumId,url:a.albumUrl,isDownloadAllowed:!!a.allowPublicDownload,minOrderVal:f,enforcePackage:!!a.enforcePackage,enforceDownload:!!a.enforceDownload,downloadUpsell:DownloadUpsell.getConfig(),isQr:!!a.isQr}}),"undefined"!=typeof POSSIBLE_PACKAGE_BASIS_IDS&&(i.album.possiblePackageBasisIds=POSSIBLE_PACKAGE_BASIS_IDS),t||(i.album.title=a.albumTitle)),!t){var o=k();i.hasPrev=!!I(e,!1),i.hasNext=!!I(e,!0),i.numCurrent=o.indexOf(e)+1,i.numSum=_.size(o)}return i},this.getImgURL=function(e,t){var i=n?n[e]:IMAGE_ITEMS_DATA[e];return t?i.largeUrl:i.mediumUrl},this.getImgURLs=function(e,t){var i={};return e.forEach(function(e){i[e]=w.getImgURL(e,t)}),i}
5,this.getSingleImageURL=function(t){return e?n[t].siUrl:IMAGE_ITEMS_DATA[t].siUrl},this.getImgWrap=function(e){return $(P(e))},this.getImgRatios=function(e){var t={};return e.forEach(function(e){var i=n?n[e].ratio:IMAGE_ITEMS_DATA[e].ratio;t[e]=i}),t},this.clickOnImgWrap=function(e){this.getImgWrap(e).find(this.imgSelector).trigger("click")},this.isSelectionMode=function(){return s.hasClass(g)},this.toggleSelectionMode=function(e){var t=200,i="keyup.selectionMode",a="beforeunload.selectionMode";if(!w.isSelectionMode())s.addClass(g),p||(e||D(0),c.slideDown(t)),r.bind(i,function(e){27===e.keyCode&&w.toggleSelectionMode()}).bind(a,function(){return PicI18n.get("multiSelect.cancel.warning")}),Pubsub.on("package:change-active",w.toggleSelectionMode);else{if(e&&e.type)return void e.preventDefault();s.removeClass(g),$(u+".selected").removeClass("selected"),$(".js-selection-checkbox").prop("checked",!1),$(".js-selected-badge").remove(),p||c.slideUp(t),r.unbind(i).unbind(a),Pubsub.off("package:change-active",w.toggleSelectionMode)}},this.addImgToSelection=function(e){var t=C(e);if(1===t.length&&t.hasClass("js-is-video"))t.animationTiming("doAnimWith","shake");else{t=t.not(".js-is-video");var i=e.length>1?l.find(".selected").length<t.length:!t.hasClass("selected");t.toggleClass("selected",i).find(".js-selection-checkbox").prop("checked",i);var a=t.find(".js-thumba");i?a.prepend('<span class="badge-in-corner badge-in-corner-left js-selected-badge"><span class="las la-check"></span></span>'):a.find(".js-selected-badge").remove();var n=l.find(".selected").length;D(n)}},this.actOnSelection=function(e){var t=$(e);if(t.is(":hidden")||t.hasClass("disabled"))return!1;var i=t.hasClass("js-selection-cta-order"),a=t.hasClass("js-selection-cta-wishlist"),n={isOrderMode:i,ids:[]};return i||a?l.find(".selected").each(function(e,t){n.ids.push(w.getImgID($(t)))}):n=!1,w.toggleSelectionMode(),a&&Pubsub.trigger("wishlist:add-from-selection"),n},this.updateCartMarkers=function(e,t){var i=t?".js-imageitem-badge-wishlist":".js-imageitem-badge";if(l.find(i).remove(),!t){var a=function(){$(this).tooltip("hide")},n={};_.each(e.ordered,function(e,t){var i=n[t]||0;_.each(e.products,function(e){i+=e.count}),n[t]=i}),_.each(e.packaged,function(e){e.isProcessing||_.each(e.products,function(e){_.each(e.images,function(e){var t=e.imageId,i=n[t]||0;n[t]=i+1})})}),_.each(n,function(e,t){w.getImgWrap(t).find(w.imgSelector).prepend(b({num:e})).find(".js-imageitem-badge").tooltip({placement:"top",container:"body"}).on("click",a)});var o=this;$(".js-imageitem-btn-download, .js-imageitem-btn-delete, .js-imageitem-btn-extra-download").prop("href",function(e,t){var i=$(this).closest(".js-imageitem").data("id"),a=o.getPreviewData(i,!0).hash;return t.replace(/=hash_string/,"="+a)})}var r=[],s=function(e){$(this).tooltip("destroy"),e.preventDefault(),e.stopPropagation()},c=PicI18n.get("preview.marker.wishlist");return _.each(e.wished,function(e,t){var i=w.getImgWrap(t);r.push(i.find(w.imgSelector).prepend(v()).find(".js-imageitem-badge").tooltip({title:c,placement:"top",container:"body"}).on("click",s))}),r},this.onRedaktionDownload=function(e){e.preventDefault();var t=$(e.target),i=_.map($("#wishlist-images").find(".selected"),function(e){return $(e).data("id")}),a=o;$.ajax({method:"post",url:t.attr("href"),data:{iid:i.length?i:a},success:function(){t.text("Der Download-Link wird an Ihr E-Mail Postfach gesendet.")},error:defaultErrorGrowler,beforeSend:function(){t.addClass("disabled").blur()}})},this.highlightWrap=function(e,t){var i=this.getImgWrap(e);if(0!==i.length){var a=i.offset().top,n=a+i.outerHeight(),o=r.scrollTop(),s=o+r.outerHeight()-n,c=!1,l=function(){Pubsub.trigger("gallery-grid:highlight-start"),setTimeout(function(){c||(i.animationTiming("doAnimWith","highlight quick-zoom-in-big",function(){Pubsub.trigger("gallery-grid:highlight-end")}),c=!0)},200)};a-o<0?y(Math.max(a-100-t,0),null,l):s<0?y(o-s+100,null,l):l()}},this.buildWishlistSidebar=function(e,t){if(w.setImgData(e,t),(Object.values(e)[0]||{}).width){ImageItems.init($("#wishlist-images"),"templ-wishlist-imageitem",e);var i,a=!0;t.forEach(function(t){if(a){var n=e[t].album.id;i?i!==n&&(a=!1):i=n}}),d.toggleClass("on-multiple-albums",!a)}else $("#basket-wishlist").addClass("on-incompatible")},this.updateWishlistCounter=function(e){A($("#basket-wishlist-order-all-text, .js-basket-wishlist-redaktion-download"),e)},this.updateStartnumbersInfo=function(e,t){("undefined"==typeof IMAGE_ITEMS_DATA?n:IMAGE_ITEMS_DATA)[e].info.startnumbers=t.join(",")}},BasesSorter=function(){var e,t={},i="product-base-matchable-separator",a="",n=function(e,t){var i=!e.forceOrientation,a=e.ratio,n=t*(1-RATIO_MATCH_TOLERANCE_PERCENT),o=t*(1+RATIO_MATCH_TOLERANCE_PERCENT),r=function(e){return e>=n&&e<=o};return r(a)||i&&r(1/a)},o=function(t,i){var a=$(t),o=a.length,r=[];return _.times(o,function(t){a.filter('[data-index="'+t+'"]').appendTo(e)}
5),$(t).each(function(){var e=$(this),t=n(e.data(),i);e.toggleClass("is-match",t),t&&r.push(this)}),r},r=function(t,n){if(t.length&&t.length!==$(n).length){var o='<p id="'+i+'" class="'+i+'">'+a+"</p>";$(t).add(o).prependTo(e)}},s=function(e,t){var i=e.length>0?$(e):$(t),a=Math.min(i.length-1,2);i.eq(a).trigger("click")};return t.sort=function(e,t){var a=".js-product-base-pc-"+t.id+"-"+t.ptHash,n=[];$("#"+i).remove(),!e||t.isDigital||t.hasTileFormat||(n=o(a,e)),r(n,a),s(n,a)},t.init=function(){a=$("#product-details-top-label").data("separator-text"),e=$("#product-chooser-list")},t}(),ChangeAmountHelper={ensureMinMax:function(e){var t=e.val(),i=parseInt(t),a=e.prop("max");!t||!/^\d+$/.test(t)||window.isNaN(i)||i<1?(i=1,e.val(i)):a&&i>a&&(i=a,e.val(i))}},CommonHelper={onImgLoad:function(e,t){var i=new Image;$(i).on("load",function(){t(),$(i).remove()}),i.src=e.prop("src")}},CropperHelper=function(){var e="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("outline-offset","-1px"),t=function(e,i,a){if(0!==e.find(".cropper-container").length){a||(i=$('<div class="resolve-by-fit-format flexify" />'));var n=e.find(".cropper-crop-box");i.css({width:n.css("width"),height:n.css("height")}),a||e.find("img").first().wrap(i)}else setTimeout(function(){t(e,i,a)},50)},i=function(e,t){var i=t.find("#cropper-outline-for-ie");e?(i.length||(i=$('<div id="cropper-outline-for-ie" class="cropper-outline-for-ie" />').appendTo(t)),i.css({top:e,left:e,bottom:e,right:e})):i.remove()};this.solveResolveByFitWrapping=function(e,i){var a=e.find(".resolve-by-fit-format"),n=1===a.length;i.hasClass("on-fit")?t(e,a,n):n&&e.find("img").first().unwrap()},this.updateResolveClass=function(e,t){e.removeClass("on-crop on-fit on-variable on-canvas-reflect on-canvas-noframe on-canvas-frame on-match").addClass("on-"+t)},this.removeCropper=function(e){e.data("cropper")&&(e.cropper("destroy").off("
5cropmove.cropper").data("cropper"),1===e.closest(".resolve-by-fit-format").length&&e.unwrap())},this.isSomeSortOfCrop=function(e){return"crop"===e||this.isSomeSortOfCanvas(e)},this.isSomeSortOfCanvas=function(e){return _.contains(["canvas-reflect","canvas-frame","canvas-noframe"],e)},this.isNeverMatch=function(e){return e.isSticker||"canvas-noframe"===e.resolveSizeBy},this.isCanvasMatch=function(e){return this.isSomeSortOfCanvas(e.resolveSizeBy)&&!this.isNeverMatch(e)&&!this.isOutOfMatchTolerance(e)},this.isOutOfMatchTolerance=function(e){var t=e.cropData.width,i=e.cropData.height,a=e.origWidth,n=e.origHeight;if(!(t&&i&&a&&n))return!0;var o=1-RATIO_MATCH_TOLERANCE_PERCENT;return t/a<o||i/n<o},this.showAsCrop=function(e){return this.isSomeSortOfCrop(e.resolveSizeBy)&&(this.isNeverMatch(e)||this.isOutOfMatchTolerance(e))},this.updateFrameOffset=function(t){var a,n;if(t.isCanvasNoFrame?n=CANVAS_FRAME_WIDTH_MM:t.isSticker&&(n=STICKER_FRAME_WIDTH_MM),n){var o=Math.max(t.$cropperDragger.outerWidth(),t.$cropperDragger.outerHeight()),r=n/10/t.widestLength;a=Math.floor(o*r)}e?t.$cropperDragger.css({outline:a?a+"px solid rgba(255, 0, 0, 0.75) ":"",outlineOffset:a?-1*a:""}):i(a,t.$cropperDragger)}},DocumentMarginHelper=function(){var e={},t={},i=function(){var e=window.pageYOffset,i=parseInt($("body").css("margin-bottom")),a=_.reduce(t,function(e,t){return Math.max(e,t)},0),n=e+a-i;$("body").css("margin-bottom",a),window.scrollTo(window.pageXOffset,n)};return e.addMin=function(e,a){t[e]=a,i()},e.removeMin=function(e){delete t[e],i()},e}(),LoadingState=function(e){var t={},i=e,a=this,n=function(e,i){return!!a.isValid(e)&&(t[e.key].isLoading=i,!0)},o=function(e){return!!a.isValid(e)&&t[e.key].isLoading};this.createToken=function(e){var i=(new Date).getTime();return t[e.key]={ts:i,isLoading:!1,onStart:e.onStart,onEnd:e.onEnd},{key:e.key,ts:i}},this.start=function(e){n(e,!0)&&window.setTimeout(function(){o(e)&&t[e.key].onStart()},i)},this.end=function(e){n(e,!1)&&t[e.key].onEnd()},this.isValid=function(e){return!!t[e.key]&&t[e.key].ts===e.ts},this.isLoading=function(e){return o(e)},this.cancel=function(e){t[e]&&(t[e].onEnd(),delete t[e])}},MoreIndicator=function(e,t){var i,a,n=e,o=t,r=0,s=0,c=this,l=function(){a=!!i&&i.closest(".js-more-wrap")};this.update=function(e){if(i){var t=!!e&&"scroll"===e.type,l=!!e&&"load"===e.type;if(!t){if(l&&a.hasClass("has-more-next"))return;if(n.is(":hidden"))return void n.one("shown.bs.modal",c.update);o?(r=i[0].scrollHeight,s=i[0].clientHeight):(r=i[0].scrollWidth,s=i[0].clientWidth)}if(s===r)a.removeClass("has-more-prev has-more-next has-scrollbar");else{var d=i[0],u=o?d.scrollTop:d.scrollLeft,g=u>5,h=u<(o?d.scrollHeight:d.scrollWidth)-s-2;a.addClass("has-scrollbar"),a.toggleClass("has-more-prev",g),a.toggleClass("has-more-next",h)}}},this.setInner=function(e){i=e,l()}},MultiPreviewLoader=function(e){e.$wrap;var t=e.$images,i=e.$insertAfter,a=e.lsToken,n=e.loadingState,o=t.length,r=0,s=null,c=null,l=_.throttle(function(){if(c){var e=100*r/o;c.css("width",e+"%")}},100),d=function(){n.isLoading(a)&&(s=$('<div class="progress multiple-images-progress"><div id="multiple-images-progress-bar" class="progress-bar progress-bar-striped active"></div></div>').insertAfter(i).css("width",i.outerWidth()),c=$("#multiple-images-progress-bar"),l())},u=function(){s&&(s.remove(),s=null,c=null)};
5n.start(a),setTimeout(d,2e3),t.each(function(){var e=$(this);PicRateLimit.rateLimit(function(){e.prop("src",e.data("src")).removeAttr("data-src"),CommonHelper.onImgLoad(e,function(){r++,l(),r===o&&(u(),n.end(a))})})})},OrderLogger={_maxAge:864e5,_isReady:!1,_isLogging:!1,_initCallbacks:[],_uuid:(Math.random()+1).toString(36).substring(13),_makeEntry:function(e,t){var i=new Date;return{uuid:this._uuid,action:e,tsFormatted:i.toTimeString().substring(0,8),ts:i.getTime(),data:t}},init:function(){this._isReady=!0;var e=PicStorage.getLog(),t=(new Date).getTime()-this._maxAge,i=[];e.forEach(function(e){e.ts>=t&&i.push(e)}),PicStorage.setLog(i),this._isReady=!0,_.each(this._initCallbacks,function(e){e()})},log:function(e,t){if(this._isReady)if(this._isLogging)setTimeout(function(){this.log(e,t)},100);else{this._isLogging=!0;var i=PicStorage.getLog(),a=this._makeEntry(e,t);i.push(a),PicStorage.setLog(i),this._isLogging=!1}else this._initCallbacks.push(_.bind(this.log,this,e,t))}};$(function(){var e,t=$("html"),i=$("body"),a=i.hasClass("single-image-page"),n=t.hasClass("is-cart"),o=$("#album-images").length>
50,r=$("#modal-order"),s="imageItem_",c=new Cart(a),l=new GalleryGridView(a,n,s),d=new CropperHelper,u=new LoadingState(350),g=new OrderModal(d,u),h=100;n&&(e=new CartTableView(d,s));var p=!n&&(a||o),m=p?parseInt(i.data("album-id")):0,f={},v=$(window),b=!1,w=!0,k=window.location.href,C=$("title").text(),P=i.data("images-url"),I=!1,y=!1,A=!1,D=n,T=function(){return t.hasClass("on-cart")?40:0},S=function(e,t){return l.getPreviewData(e,t)},x=function(e){return S(e,!0).album},M=function(e){return x(e).id},j=function(e){var t=[];if(!e)return t;_.each(e,function(e,i){t.push({id:i,index:e.index})});var i=t.sort(function(e,t){return e.index-t.index}),a=[];return i.forEach(function(e){a.push(e.id)}),a},O=function(){if(!n){var e=parseInt(r.data("ids")[0]);r.toggleClass("on-video",S(e,!0).isVideo)}},E=function(e){if(!n){var t=l.getSingleImageURL(e);Selfpurchase.setSingleImageURL(t),CopyBasisDeeplink.setSingleImageURL(t)}},L=function(e){if(!a||"undefined"==typeof STRUCTURED_META_TEMPL)return;const t=STRUCTURED_META_TEMPL.replace("{{{itemPageUrl}}}",e.siUrl).replace("{{{contentUrl}}}",e.previewUrl).replace("{{{canonicalOrderUrl}}}",e.canonicalOrderUrl);$("#structured-meta-data").text(t)},V=function(){return i.data("show-large-preview")},R=function(e,t){var i=S(e);if(!i)return!1;var a=V();return i.isInOrdered=c.isInOrdered(e),i.isOnWishlist=!i.isInOrdered&&c.isOnWishlist(e),i.previewUrl=l.getImgURL(e,a),g.changePreviewDetails(e,i),t||PreviewSwiper.swipeImmediatelyTo(i.id,a),$e(e),E(e),L(i),!0},B=function(e){r.data("ids",[e]),R(e,!0)},F=function(e){c.updateCount(),U(),a||n||(e&&e.type&&(e=!1),pe(e))},H=function(){F();var e=c.getOrdered();PicStorage.setOrdered(e),Pubsub.trigger("storage:set-ordered",e)},W=function(){F(!0),PicStorage.setWished(c.getWished())},U=function(e,i){window.isNaN(parseInt(e))&&(e=c.countCartItems()),window.isNaN(parseInt(i))&&(i=c.countWished());var a=0===e,n=0===i,o=!a&&c.hasPackagesOnly(),r=c.countUnfinishedPackages()>0,s=a&&n&&r;t.toggleClass("on-empty-basket",a).toggleClass("on-packages-only",o).toggleClass("on-unfinished-packages-only",s).toggleClass("on-empty-wishlist",n).toggleClass("on-wishlist-only",a&&!n)}
5,z=function(){return u.createToken({key:"product-category",onStart:function(){r.addClass("loading-pg")},onEnd:function(){r.removeClass("loading-pg")}})},N=function(e,t,i){var a=f[e];if(!a||i&&i!==a){var n=z();u.start(n),$.loadTokens(e,i,"_renderPricetableData").done(function(a){var o=a.price_hash,s=a.killswitch,c=PicStorage.getPricetableData(o,s,!!i),l=function(i){f[e]=o;var a=g.addPricetableCategories(o,i);PicStorage.setPricetableData(o,a,s),u.isValid(n)&&(t(o),u.end(n))};if(c)l(c);else{var d={album_id:e};$.ajax({url:$("#product-category-chooser").data("pt-src"),data:d,dataType:"json",success:function(e){if($.isEmptyObject(e))return r.addClass("missing-allowed-product"),void u.end(n);l(e)},error:function(){r.addClass("failed-loading"),u.end(n)}})}}).fail(function(e){var t="failed-loading";403===e.status&&(t="not-allowed"),r.addClass(t),u.end(n)})}else t(a)},K=function(){var e=c.countWished(),t=c.getWished();0!==e&&(l.buildWishlistSidebar(t,j(t)),l.updateWishlistCounter(e),PreviewSwiper.updateSlides(_.sortBy(t,"index")))},G=function(t,i){t.forEach(function(e){"order"===e.type?ee(e):"package"===e.type?te(e):"album_package"===e.type?ie(e):"custom_article"===e.type?ae(e):"universal"===e.type&&ne(e)}),De(),Pubsub.trigger("package:act-on-cart-changes-completed"),e.updateBasketSums(),e.showChanges(t,i),H()},q=function(e){var t=$("#basket-summary-sum"),i=$("#basket-summary-sum-final"),a=$("#basket-summary-prices").data("pending-sum"),n=e?Math.round(100*e.subtotal_f):a,o=e?Math.round(100*e.subtotal_after_discount_f):a;t.text(NumberFormatter.centsAsPrice(n)).toggleClass("hide",!e),i.text(NumberFormatter.centsAsPrice(o))},Y=function(e){var t,i;if(e){var a=PicStorage.getComposedPackages();t=c.getAllPackagedForChanges(a),i=c.getOrderedForChanges()}else t=c.getPackagedForSubmit(),i=c.getOrderedForSubmit();return{packaged:JSON.stringify(t),ordered:JSON.stringify(i),albumPackaged:JSON.stringify(c.getAlbumPackagedForSubmitOrChanges()),minOrderVal:c.getHighestMinOrderVal().val,customArticles:JSON.stringify(_.values(CustomArticles.get()))}}
5,Q=function(){var e=$("#basket-wrapper").data("discount-preview-url");e&&0!==c.countCartItems()?$.ajax({url:e,type:"post",data:Y(),success:function(e){q(e.discountPreview)},error:function(){q(null)}}):q(null)},J=_.debounce(function(){Q()},250),Z=function(e){e&&$("#recent-order-warning").remove()},X=function(){var e=$("#recent-order-warning").data("different-qr-albums-url");e&&0!==c.countCartItems()&&$.ajax({url:e,type:"post",data:Y(),success:function(e){Z(e.differentQrAlbums)}})},ee=function(t){var i=$("#product-"+t.uuid),a=e.getAlbumID(i),n=e.getPtHash(i);t.name=c.getProductData(t.id,t.uuid).name,t.title=c.getTitle(t.id),t.src=i.find(".article-list-img-img").prop("src"),"price"===t.reason?(c.updateOrderedItemPrice(t.id,t.uuid,t.newPrice),e.updateArticleListItemPrice(i,t.newPrice,!0)):(c.deleteOrderedItem(t.id,t.uuid),e.deleteArticleListItem(i)),delete f[a],PicStorage.deletePricetableData(n),g.deletePricetableCategories(n)},te=function(e){"price"===e.reason?Pubsub.trigger("package:update-price",e.uuid,e.newPrice):"image"===e.reason&&e.hasImages?Pubsub.trigger("package:delete-missing-image",e.uuid,e.images):Pubsub.trigger("package:delete",e.uuid)},ie=function(t){var i=$("#album-package-"+t.uuid);"price"===t.reason?(Pubsub.trigger("album-package:update-price",t.uuid,t.newPrice),e.updateArticleListItemPrice(i,t.newPrice)):"images_count"===t.reason?Pubsub.trigger("album-package:update-images-count",i,t.uuid,t.newCount,t.basketText):(Pubsub.trigger("album-package:remove",t.uuid),e.deleteArticleListItem(i)),xe()},ae=function(t){var i=$("#custom-article-"+t.id),a=CustomArticles.get()[t.id];t.name=t.name||a&&a.name||"",t.src=a&&a.src,t.url=a&&a.url,"price"===t.reason?(CustomArticles.setPrice(t.id,t.newPrice),e.updateArticleListItemPrice(i,t.newPrice,!0)):"count"===t.reason?(CustomArticles.setCount(t.id,t.newCount),CustomArticles.setRemaining(t.id,t.newCount),e.updateCustomArticleAmount(i,t.newCount)):"remaining"===t.reason?(CustomArticles.setRemaining(t.id,t.newRemaining),e.updateCustomArticleMax(i,t.newRemaining)):(CustomArticles.delete(t.id),e.deleteArticleListItem(i))},ne=function(e){"minimum_order_value"===e.reason?_.each(e.changesPerImage,function(e){"order"===e.type?c.updateOrderedItemMinOrderVal(e.id,e.newMinOrderVal):"package"===e.type?Pubsub.trigger("package:update-min-order-val",e.uuid,e.productIndex,e.imageIndex,e.newMinOrderVal):"album_package"===e.type&&(Pubsub.trigger("album-package:update-mov",e.uuid,e.newMinOrderVal),xe())}):"enforce_package"===e.reason?_.each(e.changesPerImage,function(e){c.updateOrderedItemEnforcePackage(e.id,e.newEnforcePackage)}):"enforce_download"===e.reason?_.each(e.changesPerImage,function(e){c.updateOrderedItemEnforceDownload(e.id,e.newEnforceDownload)}):"download_upsell"===e.reason&&_.each(e.changesPerImage,function(e){c.updateOrderedItemDownloadUpsell(e.id,e.newDownloadUpsell)})},oe=function(){c.deleteAllOrderedAndPackaged(),PicStorage.deleteOrdered(),PicStorage.deleteAllOrderedPackages(),CustomArticles.deleteAll()},re=function(e,t){e.prop("disabled",t).toggleClass("disabled",t)},se=function(t){var i,a,n,o=t.closest(".js-is-album-package"),r=t.closest(".js-is-custom-article"),s=t.closest(".js-is-cart-package");if(!(0===o.length&&0===r.length&&0===s.length)||(i=e.getIdObj(t),a=i.ids[0],n=i["product-uuid"],c.allowDelete(a,n))){var l=$("#modal-confirm-delete"),d=$("#modal-confirm-delete-confirm"),u=$("#modal-confirm-delete-message"),g=t.closest(".js-cart-row").find(".js-cart-item-product-name").text();u.html(u.data("default-text")).find("#modal-confirm-delete-product").text(g),d.one("click.cart-delete",function(){if(o.length)e.deleteArticleListItem(o),Pubsub.trigger("album-package:remove",o.data("uuid")),xe(),U(),F();else if(r.length)e.deleteArticleListItem(r),CustomArticles.delete(r.data("customArticleID")),U(),F();else if(s.length){var t=s.data("uuid");OrderLogger.log("delete f\xfcr cart package",{uuid:t}),Pubsub.trigger("package:delete",t)}else e.deleteArticleListItem($("#product-"+n)),c.deleteOrderedItem(a,n),U(),H(),OrderLogger.log("Deleted Cart Item",{id:a,uuid:n})}),l.one("hidden.bs.modal",function(){d.off("click.cart-delete")}),l.modal("show")}
5else $("#modal-delete-not-allowed").modal("show")},ce=function(e,t){const i=$(e),a=i.closest(".js-amount-input-wrap").find(".js-amount-input"),n=parseInt(a.val())+t,o=a.prop("max");0!==n?o&&n>o?i.animationTiming("doAnimWith","shake"):a.val(n).trigger("change"):i.closest(".js-cart-row").length&&se(i)},le=function(e){var t=e.map(function(e){return S(e,!0).hash});window.location.href=MobileOrderCheck.url(t)},de=function(t,i,a){var o=c.getOrdered()[t];if(o&&i){var r=c.addToOrdered({id:t,album:o.album,productData:i});H(),n&&(e.createArticleListItem({id:t,uuid:r,album:o.album,src:o.src,title:o.title,productData:i,isSameID:!0,prevUUID:a}),e.updateBasketSums()),OrderLogger.log("Added Download Upsell",{id:t,uuid:r,productData:i})}},ue=function(){var e=PicStorage.getOrdered();c.setOrdered(e),c.setWished(PicStorage.getWished()),De(),xe(),Pubsub.trigger("cart:set-ordered",e)},ge=function(){if(I)window.setTimeout(ge,500);else{if(I=!0,PicStorage.hasBeenUpdatedInOtherTab()){if(ue(),PicStorage.setLocalTs(),n)Je(),r.is(":visible")&&g.close();else if(F(),r.is(":visible")){var e=parseInt(r.data("ids")[0]);b=!0,R(e)}OrderLogger.log("Tab-Sync")}I=!1}},he=function(e){e.preventDefault(),e.stopPropagation();var t=$(this);window.confirm(t.data("confirm"))&&(oe(),F(),Pubsub.trigger("cart:delete-ordered-packages"),growler(t.data("growler-text-after")))},pe=function(e){l.updateCartMarkers(c.get(),e).forEach(function(e){e.on("click",function(){c.removeFromWishlist([l.getImgID($(this))]),W()})})},me=function(e){if(e.preventDefault(),MobileOrderCheck.run())le(l.getAllImgIDs());else{var t,i=function(){var e=l.getAllImgIDs();r.data("ids",e),n&&r.data("album-id",M(e[0])),t?we():g.open(),OrderLogger.log("About to Order All Images",{count:e.length})};!a&&P?(t=z(),g.open(),r.one("hide.bs.modal",function(){u.cancel("product-category")}),u.start(t),$.getAllImages(P).done(function(e){u.isValid(t)&&(l.setImgData(e,j(e)),i())}).always(function(){u.end(t)})):i()}},fe=function(e){e.preventDefault();var t=$(this);if(l.isSelectionMode())l.addImgToSelection(t),t.closest(".js-selection-checkbox-wrap").tooltip("hide");else{const e=l.getImgID(t);if(t.closest(".js-images-wrapper").hasClass("js-album-images-show-order-layer-on-click")?t.is(".js-show-details-button"):!t.is(l.orderButtonSelector))r.addClass("on-details from-details");else if(MobileOrderCheck.run()){const t=l.getPreviewData(e,!0).hash;return void(window.location.href=MobileOrderCheck.url(t))}r.data("ids",[e]),n&&r.data("album-id",M(e)),g.open()}},ve=function(){l.addImgToSelection($(".js-thumba"))},be=function(){var e=l.actOnSelection(this);if(e){var t="";if(e.isOrderMode){if(MobileOrderCheck.run())return void le(e.ids);r.data("ids",e.ids),n&&r.data("album-id",M(e.ids[0])),g.open(),t="About to Order From Multiselection"}else e.ids.forEach(function(e,t){c.addToWishlist(e,S(e),t)}),W(),t="Added to Wishlist From Multiselection";OrderLogger.log(t,{isCartPage:n,ids:e.ids})}},we=function(){var t=r.data("ids");if(t)if(r.hasClass("on-details"))R(parseInt(t[0]));else{var i=function(i){var a=r.data("product-uuid"),n=!!a,o=n?e.getImgURLs(t):l.getImgURLs(t,V()),s=t.length>1,d=t[0],u=n?c.getImgRatios(t):l.getImgRatios(t),h=!(s||!n)&&c.getProductData(d,a);r.removeData("pt-hash").data("pt-hash",i),g.changeOrderDetails(t,o,u,h)};if(O(),E(t[0]),p&&f[m])i(f[m]);else{var a=m||r.data("album-id"),n=!!r.data("product-uuid");N(parseInt(a),i,!!n&&r.data("pt-hash"))}}}
5,ke=function(){var e=$(this);if(g.navigateInPreviewViaMouse(e)){e.blur();var t=r.data("ids")[0],i=e.hasClass("js-image-preview-prev")?l.getPrevImgID(t):l.getNextImgID(t);r.data("ids",[i]),R(i)}},Ce=function(e){if(e.preventDefault(),$(this).blur(),!r.hasClass("in-cart")){var t=!r.hasClass("on-wishlist"),i=r.toggleClass("on-wishlist",t).data("ids");if(t){var a=i[0];c.addToWishlist(a,S(a)),OrderLogger.log("Added to Wishlist",{id:a})}else c.removeFromWishlist(i),n&&(K(),g.close()),OrderLogger.log("Removed from Wishlist",{ids:i,isCartPage:n});W()}},$e=function(e){var t=function(){e||$("title").html(C)};if(n)t();else if(b)b=!1;else{w=!1;var i=e?l.getSingleImageURL(e):it;window.history.pushState({id:e},null,i),t()}},Pe=function(e){if(!w||(w=!1,window.location.href!==k)){var t=e.originalEvent.state?e.originalEvent.state.id:null;b=!0,t?r.is(":hidden")?l.clickOnImgWrap(t):(r.data("ids",[t]).addClass("on-details from-details"),R(t)):g.close()}},_e=function(e,t){e.preventDefault();var i=$(this).trigger("blur"),a=i.data("id"),n=i.data("pt-hash");if(i.parent().hasClass("active"))u.cancel("product-category"),t&&t();else if(g.productCategoryIsCached(n,a))u.cancel("product-category"),g.changeSelectedProductCategory(n,a,i,t);else{var o,s=z();_.each(f,function(e,t){e===n&&(o=t)});var c={pc_id:a,album_id:o};$.ajax({url:$("#product-category-chooser").data("pc-src"),data:c,dataType:"json",beforeSend:function(){u.start(s)},success:function(e){if($.isEmptyObject(e))return r.addClass("missing-allowed-product"),void u.end(s);var o=g.addProductCategory(n,a,e);PicStorage.setPricetableData(n,o),u.isValid(s)&&g.changeSelectedProductCategory(n,a,i,t)},error:function(){r.addClass("failed-loading")},complete:function(){u.end(s)}})}},Ie=function(){var i=$(this);if(!i.hasClass("disabled"))if(g.isInvisibleVariation())i.animationTiming("doAnimWith","shake");else if(EnforcePackage.isVisible())EnforcePackage.highlight();else if(EnforceDownload.isVisible())EnforceDownload.highlight();else{var a=r.data("ids"),o=r.hasClass("on-edit"),s=r.hasClass("on-multiple"),d=n&&!o,u=g.getCurrentProductData(s),h=0===c.countCartItems();if(o){var p=r.data("product-uuid"),m=a[0],f=PicStorage.getOrdered()[m];f.products[p].isWhiteBorder&&(u.isWhiteBorder=!0),c.updateOrderedItem(m,p,u),e.updateArticleListItem($("#product-"+p),{productData:u,album:f.album,title:f.title}),e.updateBasketSums(),OrderLogger.log("Edited Cart Item",{id:m,uuid:p,productData:u})}else{var v=x(a[0]),b=V(),w=[];v.ptHash=r.data("pt-hash"),a.forEach(function(t,i){var a=S(t,!0),o=l.getImgURL(t,b),r=s?g.getProductDataForMultiple(i,u):u;n&&(v=a.album);var h={id:t,src:o,title:g.getImageTitle(a.title,a.filename),ratio:a.ratio,album:v,productData:r,index:i},p=c.addToOrdered(h);w.push(p),$.pub("cart/product-added",{productData:r}),d&&e.createArticleListItem({id:t,uuid:p,album:v,src:o,title:a.title,productData:r})}),OrderLogger.log("Added Cart Item",{ids:a,uuids:w,fromPreview:r.hasClass("from-details"),isMultiple:s,isCartWishlist:d,productData:u})}H(),PicStorage.setWished(c.getWished());var k=function(){g.completeOrder(h,d),d&&(K(),t.removeClass("on-empty-basket"),e.updateBasketSums())};o||s||!DownloadUpsell.canOffer(a[0])?k():DownloadUpsell.showModal(a[0],{onAdded:de,onDone:k})}},ye=function(e){e.preventDefault();var t=$(this).closest(".js-cart-row"),i=parseInt(t.data("image-id")),a=t.data("product-uuid");DownloadUpsell.showModal(i,{onAdded:function(e,t){de(i,t,a)}})},Ae=function(){De(),F()},De=function(){var e=PicStorage.getComposedPackages();c.setPackaged(e),Pubsub.trigger("cart:set-packaged",e)},Te=function(){Ae(),e.updateBasketSums()},Se=function(){Te(),U()},xe=function(){var e=PicStorage.getAlbumPackagesInCart();c.setAlbumPackaged(e),Pubsub.trigger("cart:set-album-packaged",e)},Me=function(){$("#album-package-confirm-modal").one("hidden.bs.modal",g.pulsateCounter),xe(),F()},je=function(){ChangeAmountHelper.ensureMinMax($(this))},Oe=function(){if(0!==this.value.length&&this.validity.valid){var t=$(this),i=parseInt(t.val()),a=t.closest(".js-cart-row").data(),n=$.extend(a,{count:i});e.updateBasketSums(),n.customArticleID?(CustomArticles.setCount(n.customArticleID,n.count),F()):(c.updateOrderedItemCount(n["image-id"],n["product-uuid"],parseInt(n.count)),H())}},Ee=function(){je.call(this),Oe.call(this)}
5,Le=function(t){const i=$(this).closest(".js-cart-row").find(".js-link-to-mobile-order-edit").prop("href");if(i)window.location.href=i;else{t.preventDefault();var a=$(this);if(!a.closest(".js-is-album-package, .js-is-custom-article").length){var n=e.getIdObj(a);r.data(n),g.open(),OrderLogger.log("About to Edit Cart Item",{idObj:n})}}},Ve=function(t){t.preventDefault();var i=e.getIdObj($(this)),a=i.ids[0],n=i["product-uuid"],o=c.duplicateOrderedItem(a,n),r=c.getProductData(a,o);e.duplicateArticleListItem($("#product-"+n),o,r),H(),OrderLogger.log("Duplicated Cart Item",{id:a,uuid:n,newUuid:o})},Re=function(e){e.preventDefault(),se($(this))},Be=function(){ce(this,1)},Fe=function(){ce(this,-1)},He=function(){var e=$(this),t=e.closest(".js-cart-row").data();c.updateOrderedItemWhiteBorder(t["image-id"],t["product-uuid"],e.prop("checked")),H()},We=function(e){if(e.preventDefault(),window.confirm($(this).data("text-confirm"))){var t=c.emptyWishlist();K(),W(),OrderLogger.log("Emptied Wishlist",{ids:t})}},Ue=function(t){t&&t.preventDefault();var i=$(".js-submit-cart").button("loading").popover("hide"),a=c.getOrderedForSubmit(),n=c.countCartItems(),o=function(){return n<1&&(U(n),!0)},r=function(){y=!1,i.button("reset"),_.defer(function(){re(i,A)})},s=function(){if(o()||CartCropAttention.showModalIfNecessary())return!1;const e=c.get();return!DuplicatedDigiHint.showModalIfNecessary(e)&&!EnforcePackage.showModalIfNecessary(e)&&!EnforceDownload.showModalIfNecessary(e)};if(y=!0,e.hideRejections(),s()){for(var l in a){if(a[l].count>h)return alert("Die maximale Anzahl f\xfcr ein Produkt betr\xe4gt "+h+".\n\nBitte \xe4ndern Sie ihre Bestellung entsprechend, um fortfahren zu k\xf6nnen."),void r()}$.ajax({url:$("#basket-submit").data("submit-url"),type:"post",data:$.extend(Y(),{logged:JSON.stringify(PicStorage.getLog())}),success:function(e){"OK"===e.status?window.location=i.data("redirect-url"):"changed"===e.status&&(G(e.changes,!0),r(),OrderLogger.log("Had Cart Changes",{changes:e.changes}))},error:function(){r(),growler(PicI18n.get("cart.submit.error"),"warning")}})}else r()},ze=function(){e.hideRejections(),0===c.countCartItems()&&0===c.countUnfinishedPackages()||$.ajax({url:$("#basket-wrapper").data("changes-url"),type:"post",data:Y(!0),success:function(e){if("changed"===e.status)return G(e.changes),void X();q(e.discountPreview),Z(e.differentQrAlbums)}})},Ne=function(t){var i=c.getHighestMinOrderVal(),a=i.val;A=t<a&&!$("#eigenbestellung-hint").length,y||re($(".js-submit-cart"),A),e.updateMinOrderVal(A,a,i.qrMaxVal)},Ke=function(){D?D=!1:J()}
5,Ge=function(){var e=$("#coupons-for-autoredemption"),t=c.getAlbumIdsForAutoredemptionCoupons();0!==e.length&&0!==t.length&&$.ajax({url:e.data("url"),data:{album_ids:t},success:function(t){e.replaceWith(t),CouponProgress.update($("#basket-summary-prices").data("pending-sum"))}})},qe=function(){if(!a){if(r.hasClass("from-details")&&$e(null),!n){var e=r.data("ids")[0];l.highlightWrap(e,T())}n||a||!r.hasClass("on-multiple")||l.setImgData(!1),g.resetModal()}},Ye=function(){ 6c.hasOnlyOnePackage()?g.showContinueModal(!1):Pubsub.once("package-composer:hide-complete",g.pulsateCounter)},Qe=function(){$.getAllImages(P).done(function(e){var t=parseInt(i.data("id"));i.removeClass("si-loading"),l.setImgData(e,j(e)),Pubsub.trigger("album-grid-render-complete"),b=!0,r.data("ids",[t]).addClass("on-details from-details").modal("show").on("hide.bs.modal",function(){var e="";if(i.data("back-url"))e=i.data("back-url");else{var t=parseInt(r.data("ids")[0]);e=x(t).url+"#hl"+t}setTimeout(function(){window.location.href=e},1)}),"undefined"!=typeof DO_OPEN_ORDER_LAYER&&DO_OPEN_ORDER_LAYER&&$("#order-select-product").click()})},Je=function(t){t||e.deleteTable();var i=c.countCartItems(),a=c.getOrdered(),n=c.countWished();e.buildTable(a,j(a),CustomArticles.get()),K(),U(i,n),t?(Pubsub.trigger("album-grid-render-complete"),CartCropAttention.init(a),CartInfoAlert.init(a,PicStorage.getComposedPackages(),PicStorage.getAlbumPackagesInCart()),Pubsub.trigger("cart-table:initial-render-complete")):F()},Ze=function(e){growler(e.detail[0].msg,"success")};PicStorage.init(i.data("shop-id")),ue(),OrderLogger.init(),$(".js-basket-wishlist-redaktion-download").on("click",l.onRedaktionDownload),$("#alert-cart-delete").on("click",he),$("#selection-all-none").on("click",ve),$(".js-selection-btn").add(".js-btn-act-on-selection").on("click",be),i.data("back-url")||$(".js-image-preview-prev, .js-image-preview-next").on("click",ke).on("click",g.animateArrowPress),$("#order-add-to-wishlist").on("click",Ce),$("#basket-wishlist-delete").on("click",We),Pubsub.on("custom-article:added",F),Pubsub.on("custom-article:added",g.pulsateCounter),$.renderImgGrid().done(function(){var e=l.imgSelector+", "+l.orderButtonSelector+", .js-show-details-button";$("#album-images, #wishlist-images").on("change",".js-selection-checkbox",l.toggleSelectionMode).on("change",".js-selection-checkbox",fe).on("click",e,fe).on("click",".js-imageitem-btn-download",function(e){e.stopPropagation()}).on("ajax:success",".js-imageitem-btn-extra-download",Ze),$("#basket-wishlist-order-all").on("click",me)}),Pubsub.on("album-grid-render-complete",_.partial(pe,!1));var Xe=_.throttle(g.scrollActiveCatAndBasisIntoView,50);if(r.on("show.bs.modal",we).on("shown.bs.modal",Xe).on("click",".js-product-base, .js-product-category",Xe).on("hidden.bs.modal",qe),$("#image-preview-toggle-details").on("click",g.toggleDetailsVisibility),$("#order-scroll-to-details").on("click",g.scrollToDetails),$("#image-preview-show-copyright-info-redaktion").on("click",g.showCopyrightInfoRedaktion),$("#order-select-product, #order-layer-back").on("click",g.togglePreviewAndOrderMode),$(".js-order-show-packages").on("click",OpenPackagesList.closeModalAndShow),$("#redaktion-download-wrapper").on("click",g.triggerDownloadRequest),$("#order-copyright-information-checkbox").on("click",g.confirmCopyrightRedaktion),$("#order-public-download").on("click",g.requestPublicDownload),$("#sendstartnumbers").on("submit",g.addStartnumbers),Pubsub.on("startnumbers-changed",l.updateStartnumbersInfo),Pubsub.on("order/swiper-changed",B),$("#product-category-chooser").on("click","a",_e),$("#product-category-chooser-scroll-left, #product-category-chooser-scroll-right").on("click",g.scrollProductCategoryChooser),$("#order-enforce-download-link").on("click",EnforceDownload.showFirstDownloadCategory),$(".optiongroup-wrap").on("change","input",g.changePrices),$("#resolve-size-wrap").on("change","input",g.changeResolveConflictOption),$("#resolve-size-help").popover(),$(document).on("click",".js-product-info-toggle",g.toggleProductInfo),$("#product-chooser-list, #product-chooser-tiles").on("scroll",g.updateMoreIndicatorBases).on("click",".product-base",g.changeSelectedProduct),$(".js-product-chooser-enlarge").on("click",g.toggleEnlargeBases),$(".crop-orientation-change").on("click",g.changeCropOrientation),$("#into-basket-btn").on("click",Ie),$("#modal
6-continue-basket-link").on("click",g.hideContinueModal),$("#modal-volume-discount-amount, #into-basket-amount").on("blur",je),$(document).on("click",".js-amount-field-plus",Be).on("click",".js-amount-field-minus",Fe),n){$(".article-list").on("keyup change",".js-article-list-amount-input",Oe).on("blur",".js-article-list-amount-input",Ee).on("click",".js-article-list-open-voldisc-modal",e.openVolumeDiscountModal).on("click",".js-article-list-download-upsell",ye).on("click",".article-list-img, .article-list-edit",Le).on("click",".article-list-duplicate",Ve).on("click",".js-amount-delete",Re).on("click",".js-white-border",He),$("#modal-volume-discount-submit").on("click",e.changeAmountViaVolumeDiscountSubmit),$("#changes-alert-close").on("click",e.hideRejections),$(".js-submit-cart").on("click",Ue),Pubsub.on("cart:submit",Ue),Pubsub.on("cart-table:update-sums-complete",Ne),Pubsub.on("cart-table:update-sums-complete",Ke),Pubsub.on("cart-table:update-sums-complete",CouponProgress.update);const t=_.throttle(e.checkSticky,50),i=new MutationObserver(t);v.on("scroll resize",t),i.observe(document.getElementById("basket-wrapper"),{childList:!0,subtree:!0}),window.onpageshow=function(e){e.persisted&&window.location.reload()}}else Pubsub.on("cart:update-count",function({sum:e}){CouponProgress.update(e)});if(v.on("resize",_.debounce(g.updateCropperAndMoreIndicatorsOnResize,200)).on("focus",ge),i.data("back-url")||v.on("keyup",g.navigateInPreviewViaKey),n||v.on("popstate",Pe),Pubsub.on("package:add-to-cart-complete",Ye),Pubsub.on("package:update-amount-complete",Te),Pubsub.on("package:delete-complete",Se),Pubsub.on("package:delete-missing-image-complete",Se),Pubsub.on("package-image:change-crop-data",De),Pubsub.on("package:save-complete",Ae),e&&Pubsub.on("package:render-cropper-in-cart-table",e.updateCropperForPackageItem),Pubsub.on("album-package:add",Me),CopyBasisDeeplink.init(),CustomArticles.init(),EnforcePackage.init(n),EnforceDownload.init(n),DownloadUpsell.init(n,c),PreviewSwiper.init(P),Selfpurchase.init(),n||a||o){if(n)Je(!0),OrderLogger.log("Load Cart Page",{url:window.location.href}),ze(),Ge(),CartBackToImagesLink.init(),PhotoProtectionHintOnImage.setIp(BASKET_IP);else{var et=i.data();l.init(et),$.loadTokens(et.albumId,!1,"index init post").done(function(e){l.setMinOrderVal(e.minimum_order_value),DownloadUpsell.setConfig(e.download_upsell),c.updateCount(),PhotoProtectionHintOnImage.setIp(e.ip)})}$.sub("order/category/hint/close",PicStorage.setSeenCategoryHint);var tt=n||PicStorage.hasSeenCategoryHint()||"undefined"!=typeof INITIAL_ORDER_CATEGORY&&INITIAL_ORDER_CATEGORY||"undefined"!=typeof HIDE_CATEGORY_HINT&&HIDE_CATEGORY_HINT;g.initCategoryHint(tt),$.renderImgGrid().done(Ae),g.initDetailVisibility();var it=i.data("album-url");if(a)Qe();else if(!n){var at=window.location.hash.match(/#hl(\d+)/);at&&$.renderImgGrid().done(function(){l.highlightWrap(parseInt(at[1]),T())})}r.hasClass("unsaleable")||(g.init(),p&&N(m,g.showFirstPricetableCategory),v.on("orderModal.activateOrderMode",function(e,t,i){O(),N(t,i)}))}else $(".js-is-order-sent").length>0?(oe(),PicStorage.deleteLog()):(c.updateCount(),U())}),MobileOrderCheck={run:function(){return window.matchMedia(`(max-width: ${MOBILE_ORDER_MAX_WIDTH}px)`).matches},url:function(e){var t=Array.isArray(e)?e.join(","):e;return MOBILE_ORDER_BASE_URL.replace("__hashString__",t)}};var RedakteurDownload=function(){var e={},t=$("body"),i=$("#redaktion-download-wrapper"),a=[],n="on-download-requested";return e.requestRedaktionDownload=function(e,i){if(!t.hasClass(n)){e.preventDefault();var o,r=$("#redaktion-download");if(!r.hasClass("disabled")&&window.confirm(r.data("confirm-text")))$.ajax({url:r.attr("href"),data:{iid:i},type:"post",beforeSend:function(){r.addClass("disabled"),o=r.text(),r.text(r.data("loading-text"))},error:defaultErrorGrowler,complete:function(){r.removeClass("disabled"),r.text(o)},success:function(){a.push(i),t.addClass(n)}})}},e.toggleRequestedClass=function(e){t.toggleClass(n,$.inArray(e,a)>-1)},e.confirmCopyrightRedaktion=function(e){i.add("#order-add-to-wishlist").toggleClass("disabled",!e)},e.init=function(){return $("#order-copyright-information-checkbox").prop("checked")&&e.confirmCopyrightRedaktion(!0),this},e}(),OrderModal=function(e,t){var i,a,n,o,r,s,c,l,d,u,g,h=$("#modal
6-order"),p=$(".js-image-preview-prev"),m=$(".js-image-preview-next"),f=$("#image-details"),v=$("#image-details-startnumbers"),b=$("#product-category-chooser"),w=$(".product-details"),k=$(".optiongroup-wrap"),C=$("#resolve-size-wrap"),P=$(".preview-wrap"),I=$("#multiple-preview-wrap"),y=$(".product-crop-orientation"),A=$("#into-basket-amount"),D=$("#into-basket-amount-static"),T=$("#into-basket-btn"),S=RedakteurDownload.init(),x=new MoreIndicator(h,!0),M=new MoreIndicator(h,!1),j=$("body").data(),O=j.prevSiUrl,E=j.nextSiUrl,L=$("#sendstartnumbers").length>0,V="js-multiple-preview-img",R=!1,B=!1,F={},H=e,W=t,U=this,z=function(e){const t=$("title").text();$("#social-media-items-image .js-social-media-item").each(function(){const i=$(this).data("base-url").replace(/__url__/,encodeURIComponent(e)).replace(/__text__/,encodeURIComponent(t));$(this).prop("href",i)})},N=function(){h.removeClass("on-wishlist").addClass("in-cart")},K=function(){PreviewSwiper.pauseVideo()},G=function(e){var t=[],i=Object.keys(e).length;return _.each(e,function(e,a){var n=e.position;window.isNaN(parseInt(n))&&(n=i),t.push({id:a,position:n})}),t.sort(function(e,t){return e.position-t.position}).map(function(e){return e.id})},q=function(){return!f.hasClass("collapsed")},Y=function(e,t){var i=v.data("startnumbers-remove-url");if(!i||!t)return!1;var a=[];return $.each(t,function(e,t){a.push('<span class="js-remove-startnumber-wrap remove-startnumber-wrap"><span class="js-startnumber">'+t+'</span><a class="js-remove-startnumber" data-startnumber="'+t.trim()+'"><i class="lar la-times-circle"></i></a></span>')}),v.html(a.join(" ")).find(".js-remove-startnumber").on("click",function(){var t=$(this);$.ajax({method:"DELETE",data:{startnumber_to_remove:t.data("startnumber"),iid:e},url:i,success:function(){t.closest(".js-remove-startnumber-wrap").remove();var i=v.find(".js-remove-startnumber").map(function(){return parseInt($(this).data("startnumber"))}).get()||[];i.length<1&&Q(),Pubsub.trigger("startnumbers-changed",e,i)}})}),!0},Q=function(){var e=v.data("startnumbers-empty-text");v.html("<em>"+e+"</em>")},J=function(e){var t=$(".js-product-category.active");h.hasClass("on-video")?t.not(".is-video").removeClass("active"):t.filter(".is-video").removeClass("active"),h.data("pt-hash",e),0===$(".js-product-category-pt-"+e).filter(".active").length?U.showFirstPricetableCategory(e):(Ve(),ye(),Se()),le()},Z=function(e,t){var i=t.pcID,a=$("#product-category-"+i+"-"+e),n=function(){if($("#product-option-sw-"+t.colorIndex+", #product-option-use-matte-"+(t.useMatte?1:0)).parent().trigger("click").end().trigger("change"),t.optionPath.length>0){var a=$(".js-optiongroup-pc-"+i+"-"+e);R=!0,t.optionPath.forEach(function(e){var t=a.find('input[value="'+e+'"]');t.prop("checked")||t.parent().trigger("click")}),R=!1,a.find("input:checked").first().trigger("change")}var n=h.find(".js-product-base-pc-"+i+"-"+e).filter('[data-base-id="'+t.baseID+'"]');if(n.hasClass("active")?ye():n.trigger("click"),!Te()){var o=C.find("input:checked");o.val()===t.resolveSizeBy&&o.parent().hasClass("active")||C.find("input[value="+t.resolveSizeBy+"]").trigger("click")}A.val(t.count),D.text(t.count),B=!1,ke(t.cropData)};h.addClass("on-edit").toggleClass("on-video",!!t.isVideo),B=!0,a.trigger("click",[n])},X=function(){return P.find("img").first()},ee=function(e){return I.find("img").eq(e)[0]},te=function(e){return{origWidth:e.naturalWidth,origHeight:e.naturalHeight,origSrc:e.src}},ie=function(e){return(e=e||X()[0]).naturalWidth/e.naturalHeight},ae=function(e){return e[0].toUpperCase()+e.slice(1)},ne=function(e){var t,i,a=$(),n=e=>e.closest(".js-optiongroup-btn-group"),o=function(e,a){var n="";a.image&&(n+='<img src="'+a.image+'">'),a.description&&(n+=`<div>${a.description}</div>`),t=a.title,i=n,e.popover("show")};e.forEach(function(e){const t=e.inputID?$("#"+e.inputID):k.find('input[value="'+e.optionID+'"]');t.closest(".js-option-label").mouseenter(function(){o(n(t),e)}),a=a.add(n(t))}),a.popover({title:()=>t,content:()=>i,html:!0,trigger:"hover",placement:"left",container:"#option-popover-container"})},oe=function(e,t,i,c){if(U.productCategoryIsCached(e,t,c))return!1;if(F[e]||(F[e]={}),F[e][t]=i,!i.bases)return!0;var l="",d=function(e){var a="product-info-"+t;e.baseID&&(a+="-"+e.baseID);var n=s.replace("##id##",a).replace("##title##",i.name).replace("##teaser##",i.teasertext||e.header).replace("##header##",e.header).replace("##text##",e.text).replace("##img-src##",e.imgSrc||"");n=e.videoID?n.replace("##video-id##",e.videoID):n.replace(/<iframe .*><\/iframe>/,""),n=e.header2?n.replace("##header2##",e.header2):n.replace('<h3 class="js-productinfo-header2">##header2##</h3>',""),n=e.text2?n.replace("##text2##",e.text2):n.replace('<div class="js-productinfo-text2">##text2##</div>',""),l+=n};d({header:i.descriptionHeader,text:i.descriptionText,imgSrc:i.descriptionImage,videoID:i.descriptionYoutubeId});var u="";
6if(G(i.bases).forEach(function(o,r){var s=i.bases[o],c=s.formatData,l=c.humanRatio,g=l?`product-base-human-ratio-${l.replace(":","-to-")}`:"product-base-human-ratio-none",h="",p=$.extend(c,{"base-id":o});_.each(p,function(e,t){h+=" data-"+t+'="'+e+'"'}),h=h.replace(/forceOrientation/,"force-orientation").replace(/isBranding/,"is-branding").replace(/isSnowglobe/,"is-snowglobe"),u+=(i.hasTileFormat?n:a).replace(/##pc-id##/,t).replace(/##pt-hash##/,e).replace(/##video-class##/,i.isVideo?" is-video":"").replace(/##index##/,r).replace(/##name##/,s.name).replace(/##humanRatio##/,l||"").replace(/##ratioClass##/,g).replace(/##img-src##/,s.previewImage).replace(/ data-atts=""/,h),s.descriptionText&&d({baseID:o,header:i.descriptionHeader,header2:s.name,text:i.descriptionText,text2:s.descriptionText,imgSrc:s.descriptionImage||i.descriptionImage,videoID:i.descriptionYoutubeId})}),$("#"+(i.hasTileFormat?"product-chooser-tiles":"product-chooser-list")).append(u),$("#product-info-wrap").append(l).find("img").end().find("iframe").filter("[data-src]").each(function(){var e=$
6(this);e.prop("src",e.data("src")).removeData("src").removeAttr("data-src")}),0===i.optiongroups.length)de(e,t);else{var g="",h=[];i.optiongroups.forEach(function(a,n){var s="";G(a.options).forEach(function(e,i){var o=0===i,c=a.options[e];s+=r.replace(/ active/,o?" active":"").replace(/data-checked/,o?"checked":"data-dummy").replace(/##num##/,t+"-"+n).replace(/##value##/,c.id).replace(/##title##/,ae(c.name)),h.push({optionID:c.id,title:a.name+": "+c.name,description:c.description,image:c.image})}),g+=o.replace(/##pc-id##/,t).replace(/##pt-hash##/,e).replace(/##video-class##/,i.isVideo?" is-video":"").replace(/##options##/,s).replace(/##title##/,a.name)}),k.append(g).find("input:checked").first().trigger("change",[e,t]),ne(h)}return!0},re=function(e){var t="",i="";e.optionLabels.forEach(function(i,a){var n=0===a;t+=r.replace(/ active/,n?" active":"").replace(/data-checked/,n?"checked":"data-dummy").replace(/name="product_option\[##num##\]"/,'id="'+e.optionIDBase+a+'" name="'+e.radioName+'"').replace(/##value##/,a).replace(/##title##/,ae(i))}),i+=o.replace(/ js-optiongroup-pc-##pc-id##-##pt-hash##/,"").replace(/class="optiongroup/,'id="'+e.groupID+'" class="optiongroup hide js-optiongroup js-pseudo-optiongroup '+e.groupClass).replace(/##video-class##/,"").replace(/##options##/,t).replace(/##title##/,e.groupTitle);const a=$(i);k.append(a),e.popoverData&&ne(e.popoverData)},se=function(e,t){l=e,d=$.extend(t,{ratio:parseFloat(t.ratio)})},ce=function(){var e="canvas-noframe"===C.find("input:checked").val(),t=e?2*CANVAS_FRAME_WIDTH_MM/10:0,i={width:d.width+t,height:d.height+t,ratio:d.ratio};return e&&(i.ratio=i.width/i.height),i},le=function(){var e=be();e.length&&de(e.data("pt-hash"),e.data("id"))},de=function(e,t){var i=ge(e,t),a=h.data("ids")||[],n=parseInt(a[0]),o=a.length>1;$(".js-product-base-pc-"+t+"-"+e).each(function(){var a=$(this),r=a.data("base-id"),s=ue(e,t,r,i);if(!s)return a.find(".product-base-price").text("\u2013"),void a.find(".js-product-base-old-price, .js-product-base-download-upsell").addClass("hide");var c=!o&&DownloadUpsell.priceForVariation(n,s.id),l=DownloadUpsell.hasPhysical(n),d=!1!==c,u=d&&l,g=d&&!l;a.data("variation-id",s.id).find(".product-base-price").text(NumberFormatter.centsAsPrice(u?c:s.sum)),a.find(".js-product-base-old-price").text(u?NumberFormatter.centsAsPrice(s.sum):"").toggleClass("hide",!u),a.find(".js-product-base-download-upsell").toggleClass("hide",!g).find(".js-product-base-download-upsell-sum").text(g?DownloadUpsell.upsellPriceStr(c):"")})},ue=function(e,t,i,a){var n=F[e][t].bases[i].prices,o=!0;return a.length>0&&a.forEach(function(e){o&&(n[e]?n=n[e]:o=!1)}),o?n:void 0},ge=function(e,t){var i=[];return $(".js-optiongroup-pc-"+t+"-"+e).find("input:checked").each(function(){i.push(parseInt(this.value))}),i},he=function(e,t,i){var a=$(".js-optiongroup-pc-"+t+"-"+e);if(!i)var n=a.filter(":visible"),o=a.find("input"),r=o.filter(":checked"),s={groupCount:a.length,visibleCount:n.length,inputCount:o.length,checkedCount:r.length};
6return a.each(function(){var e=$(this);if(!(e.find("input:checked").length>0)){var t=e.find(".btn"),i=t.filter(".active");i.length<1&&(i=t.first()),i.click()}}),!i&&s},pe=function(e,t,i){var a=F[e][t].optiongroups,n=[],o=function(e,t){$.inArray(t.id,i)>-1&&n.push({name:e,value:t.name})};return $(".js-pseudo-optiongroup").find("input:checked").each(function(){var e=$(this);1===parseInt(e.val())&&n.push({name:e.closest(".js-pseudo-optiongroup").find(".js-optiongroup-name").text(),value:e.closest(".js-option-label").text()})}),_.each(a,function(e){e.options.forEach(function(t){o(e.name,t)})}),n},me=function(){return W.createToken({key:"into-basket-btn",onStart:function(){T.addClass("disabled")},onEnd:function(){T.removeClass("disabled")}})},fe=function(e){var t=2*parseInt(P.css("padding-top"));P.css({width:t+e.width(),height:t+e.height()})},ve=function(){P.css({width:"",height:""})},be=function(){return $(".js-product-category.active .js-product-category-link")},we=function(){return be().data("is-sticker")},ke=function(e,t){if(!w.hasClass("on-info")&&!h.hasClass("on-multiple")){var i,a=X(),n=a[0],o=me(),r=function(){W.start(o),CommonHelper.onImgLoad(a,function(){W.isValid(o)&&h.is(":visible")&&!h.hasClass("on-details")&&i(function(){H.solveResolveByFitWrapping(P,w),_e(),Ie(),je(n,!!e),W.end(o)})})},s=function(e){const t=we();a.cropper(_.extend(e,{cropBoxResizable:t})),t&&a.on("cropmove.cropper",_.throttle(_e,100))};if(e)i=function(t){var i=e.width/e.height;xe(i>1),fe(a),s($.extend($e(n),{aspectRatio:i,data:e,built:t}))};else{if(""===a.attr("src")||h.hasClass("on-details"))return void W.end(o);i=function(e){var i=Pe(n,t);i&&(a.data("cropper")?(a.cropper("setAspectRatio",i.formatRatio).cropper("setData",i.data),e()):(fe(a),s({aspectRatio:i.formatRatio,data:i.data,minCropBoxWidth:i.minCropBoxWidth,minCropBoxHeight:i.minCropBoxHeight,built:e})))}}h.is(":hidden")?h.one("shown.bs.modal",r):r()}},Ce=function(){H.removeCropper(X()),P.removeClass("on-canvas-match"),ve()},$e=function(e){return{minCropBoxWidth:Math.min(100,e.naturalWidth),minCropBoxHeight:Math.min(100,e.naturalHeight)}},Pe=function(e,t){if(!c)return!1;u=ie(e),g=ce();var i,a=u>=1,n=g.ratio;if(t||(y.hasClass("on-horizontal-only")?t="horizontal":y.hasClass("on-vertical-only")&&(t="vertical")),t?("horizontal"===t&&n<1||"vertical"===t&&n>1)&&(n=1/n):((u<1&&n>1||u>1&&n<1)&&(n=1/n),xe(a)),u>n){var o=Math.floor(e.naturalHeight*n);i={width:o,height:e.naturalHeight,x:(e.naturalWidth-o)/2,y:0}}else{var r=Math.floor(e.naturalWidth/n);i={width:e.naturalWidth,height:r,x:0,y:(e.naturalHeight-r)/2}}return $.extend($e(e),{data:i,formatRatio:n})},_e=function(){var e=C.find("input:checked").val(),t="canvas-noframe"===e,i=!t&&"crop"===e&&we(),a=ce();H.updateFrameOffset({isCanvasNoFrame:t,isSticker:i,widestLength:Math.max(a.width,a.height),$cropperDragger:P.find(".cropper-crop-box")})},Ie=function(){var e=X(),t=e[0];P.toggleClass("on-canvas-match",H.isCanvasMatch({resolveSizeBy:C.find(".js-resolve-by-input:checked").val(),cropData:e.cropper("getData"),origWidth:t.naturalWidth,origHeight:t.naturalHeight}))},ye=function(){var e=d;C.toggleClass("on-allow-variable-size",Ae(e.variable,e.maxratio)),$("#variable-size-info").toggleClass("hide-variable-info",be().data("hide-variable-info"))},Ae=function(e,t){if(!e)return!1;if(!t)return!0;var i=parseFloat(X().data("img-ratio"));return i<1&&(i=1/i),i<=t},De=function(e){var t=d.ratio,i=(e?$(e):X()).data("img-ratio"),a=!d.forceOrientation,n=!!d.frame;if(t&&!n&&!we()){var o=parseFloat("0.02"),r=i*(1-o),s=i*(1+o),c=function(e){return e>=r&&e<=s};if(c(t)||a&&c(1/t))return!0}return!1},Te=function(){return De()?(h.addClass("on-ratio-match"),$("#resolve-by-match").closest(".js-resolve-by-label").trigger("click"),!0):(h.removeClass("on-ratio-match"),!1)},Se=function(){if(Ce(),h.hasClass("on-multiple")||!Te()){var e=C.find(".js-resolve-by-input:checked").closest(".js-resolve-by-label");if(e.length>0&&"none"!==e.css("display"))e.find(".js-resolve-by-input").trigger("change");else(h.hasClass("on-digital")?$("#resolve-by-variable"):d.frame?$("#resolve-by-canvas-reflect"):$("#resolve-by-crop")).closest(".
6js-resolve-by-label").trigger("click")}},xe=function(e){y.removeClass("on-horizontal on-vertical"),y.hasClass("on-horizontal-only")||y.hasClass("on-vertical-only")||y.addClass(e?"on-horizontal":"on-vertical")},Me=function(e){return e&&je(e,!0),$.trim($("#variable-size-info").text())},je=function(e,t){t&&(g=ce(),u=ie(e)),u<1&&(u=1/u);var i=Math.min(g.width,g.height),a=NumberFormatter.sumAsText(i*u,1,"cm"),n=NumberFormatter.sumAsText(i,1);$("#variable-info-short").text(n),$("#variable-info-long").text(a)},Oe=function(e){return $.isEmptyObject(e)||window.isNaN(e.x)||0===e.x&&0===e.y&&0===e.width&&0===e.height},Ee=function(){var e;try{e=Pe(X()[0]).data}catch(t){e={error:t.toString()}}return e},Le=function(){var e=$("."+V).map(function(){return parseFloat($(this).data("img-ratio"))}).get();return 1===_.uniq(e).length&&e[0]},Ve=function(){var e=h.hasClass("on-multiple"),t=$(".js-product-category.active").find("a").data(),i=e?Le():X().data("img-ratio");BasesSorter.sort(i,t)};this.init=function(){var e=function(e){return $(e).removeAttr("id").wrap("<div />").parent()},t=e("#product-category-template");i=t.html().replace(/img src="" data-src="([^"]+)"/,'img src="$1"'),t.remove();var c=e("#product-base-template");n=c.html().replace(/img src="" data-src="([^"]+)"/,'img src="$1"'),c.find("img").remove(),a=c.html(),c.remove();var l=e("#optiongroup-template"),d=e("#option-template");o=l.html(),r=d.html(),l.remove(),d.remove(),re({optionLabels:[PicI18n.get("order.color.unchanged"),PicI18n.get("order.color.blackAndWhite")],optionIDBase:"product-option-sw-",radioName:"product_option_sw",groupID:"optiongroup-sw",groupClass:"optiongroup-sw",groupTitle:PicI18n.get("order.color.title")}),re({optionLabels:[PicI18n.get("order.useMatte.glossy.title"),PicI18n.get("order.useMatte.matte.title")],optionIDBase:"product-option-use-matte-",radioName:"product_option_use_matte",groupID:"optiongroup-use-matte",groupClass:"optiongroup-use-matte",groupTitle:PicI18n.get("order.useMatte.title"),popoverData:[{title:`${PicI18n.get("order.useMatte.title")}: ${PicI18n.get("order.useMatte.glossy.title")}`,description:PicI18n.get("order.useMatte.glossy.desc"),image:USE_MATTE_IMAGE_URL,inputID:"product-option-use-matte-0"},{title:`${PicI18n.get("order.useMatte.title")}: ${PicI18n.get("order.useMatte.matte.title")}`,description:PicI18n.get("order.useMatte.matte.desc"),image:USE_MATTE_IMAGE_URL,inputID:"product-option-use-matte-1"}]});var u=e("#product-info-template");u.find(".product-info").first().prop("id","##id##"),s=u.html().replace(/img src="" data-src="([^"]+)"/,'img src="$1"'),u.remove(),BasesSorter.init();var g=$("#product-category-chooser-scroller");OverlayScrollbarsGlobal.OverlayScrollbars(g[0],{},{scroll:(e,t)=>M.update(t),update:()=>M.update()}),M.setInner(g.find("[data-overlayscrollbars-viewport]")),$("#product-category-chooser-scroll-left, #product-category-chooser-scroll-right").appendTo(g)},this.open=function(){$("#open-order-modal").trigger("click")},this.close=function(){h.modal("hide")},this.togglePreviewAndOrderMode=function(){if($(this).is("#order-layer-back")&&!h.hasClass("from-details"))return void h.modal("hide");const e=h.hasClass("on-details");e&&MobileOrderCheck.run()?window.location.href=$("#order-select-product").data("mobile-order-url"):(h.toggleClass("on-details"),e?(K(),$(window).trigger("orderModal.activateOrderMode",[parseInt(h.data("album-id")),J]),OrderLogger.log("Opened Order Layer From Preview",{ids:h.data("ids")})):(h.animationTiming("onTransEnd",function(){h.removeClass("failed-loading missing-allowed-product not-allowed"),Ce()}),OrderLogger.log("Went Back to Preview",{ids:h.data("ids")})))},this.toggleDetailsVisibility=function(){var e=q();f.toggleClass("collapsed"),$("#image-preview-toggle-details").toggleClass("acts-on-hc",!e),$(".js-image-preview-show-icon").toggleClass("hide",!e),$(".js-image-preview-hide-icon").toggleClass("hide",e),localStorage.isDetailsHidden=e,$("#image-preview")[0].scrollTop=0},this.initDetailVisibility=function(){"true"===localStorage.isDetailsHidden&&this.toggleDetailsVisibility()}
6,this.scrollToDetails=function(){f[0].scrollIntoView({behavior:"smooth"})},this.showCopyrightInfoRedaktion=function(e){e.preventDefault(),MobileOrderCheck.run()?U.scrollToDetails():q()||U.toggleDetailsVisibility()},this.resetModal=function(){const e="on-details from-details on-multiple on-edit failed-loading missing-allowed-product not-allowed on-chooser-enlarged";h.removeClass(e).removeData(["ids","product-uuid","album-id","pt-hash"]),K(),$("."+V).remove(),Ce(),$("#into-basket-image-count").text(1),B=!0,$("#product-details-mode").find("label").first().trigger("click"),B=!1},this.getImageTitle=function(e,t){var i=$("#image-title").hasClass("js-si-force-filename"),a=t;return e&&!i&&(a=e),a},this.changePreviewDetails=function(e,t){h.removeClass("missing-allowed-product").toggleClass("on-wishlist",t.isOnWishlist).toggleClass("in-cart",t.isInOrdered).toggleClass("on-video",t.isVideo).toggleClass("on-allow-public-download",t.album.isDownloadAllowed).find(".image-title").html(this.getImageTitle(t.title,t.filename));var i=$('meta[name="description"]'),a=t.headDescription;0===i.length?$("head").append('<meta name="description" content="'+a+'">'):i.prop("content",a),document.title=t.headTitle;var n=$("#report-image"),o="Bild melden / "+t.siUrl,r="Guten Tag,\r\n\r\nich m\xf6chte folgendes Bild melden: xxx.\r\n\r\nDer Grund lautet wie folgt: \r\n\r\nMit freundlichen Gr\xfc\xdfen\r\nVorname Nachname".replace(/xxx/,t.siUrl),s="mailto:[email protected]?subject="+encodeURIComponent(o)+"&body="+encodeURIComponent(r);n.prop("href",s),X().prop("src",t.previewUrl).data("img-ratio",t.ratio),K(),$("#image-details-album-title").text(t.album.title).prop("href",t.album.url);var c=$(".js-image-details-optional").addClass("hide");_.each(t.info,function(e,t){var i=c.filter(".js-image-details-"+t);if("origres"===t&&(i=i.filter(".js-allow-show")),"gmaps-link"===t)i.filter(".js-allow-gmaps-link").removeClass("hide"),$("#image-details-gmaps-link").prop("href",e);else if("same-person-url"===t)i.removeClass("hide"),$("#image-details-same-person-link").prop("href",e);else{const a=i.removeClass("hide").filter(".js-image-details-value");"keywords"===t||"description"===t?a.html(e):"copyright"===t?$("#image-details-copyright-target").text(e):a.text(e)}}),L&&($("#sendstartnumbers-thx").addClass("hide"),c.filter(".js-image-details-startnumbers").show(),t.info.startnumbers?Y(e,t.info.startnumbers.split(",")):Q()),h.data("album-id",t.album.id),t.album.isDownloadAllowed&&$("#order-public-download").data("hash",t.hash),z(t.siUrl);const l=MobileOrderCheck.url(t.hash);$("#order-select-product").data("mobile-order-url",l),p.toggleClass("disabled",!t.hasPrev&&!O),m.toggleClass("disabled",!t.hasNext&&!E),$("#image-preview-num-current").text(t.numCurrent),$("#image-preview-num-sum").text(t.numSum),S.toggleRequestedClass(e)},this.changeOrderDetails=function(e,t,i,a){var n=e.length,o=h.removeClass("missing-allowed-product").data("pt-hash");if(le(),n>1){h.addClass("on-multiple"),$("#into-basket-image-count").text(n);var r="";e.forEach(function(e){r+=`<img class="multiple-preview-img ${V}" data-src="${t[e]}" data-img-ratio="${i[e]}">`}),I.append(r),new MultiPreviewLoader({$wrap:I,$images:$("."+V),$insertAfter:$("#into-basket-btn"),loadingState:W,lsToken:me()})}else if(X().prop("src",t[e[0]]).data("img-ratio",i[e[0]]),a)return void Z(o,a);J(o)},this.navigateInPreviewViaKey=function(e){!h.is(":hidden")&&h.hasClass("on-details")&&(37===e.keyCode?p.first().trigger("click"):39===e.keyCode&&m.first().trigger("click"))},this.navigateInPreviewViaMouse=function(e){return!e.hasClass("disabled")||($("#image-preview-img-and-nav").animationTiming("doAnimWith","shake"),!1)},this.animateArrowPress=function(){$(this).animationTiming("doAnimWith","quick-zoom-out-small-item")},this.confirmCopyrightRedaktion=function(){S.confirmCopyrightRedaktion($(this).is(":checked"))},this.triggerDownloadRequest=function(e){var t=parseInt(h.data("ids")[0]);S.requestRedaktionDownload(e,t)},this.requestPublicDownload=function(e){e.preventDefault();var t=$(this).trigger("blur").data();window.location.href=t.baseUrl.replace(/=hash_string/,"="+t.hash)}
6,this.addStartnumbers=function(){var e=$(this),t=$("#sendstartnumbers-val"),i=t.val(),a=h.data("ids")[0];return $.post(e.prop("action"),{startnumbers:i,album_image_id:a},function(e){Y(a,e)||v.html(e.join(", ")),t.val(""),$("#sendstartnumbers-thx").removeClass("hide"),Pubsub.trigger("startnumbers-changed",a,e)}),!1},this.addPricetableCategories=function(e,t){var a="";return G(t).forEach(function(n){if(oe(e,n,t[n],!0)){var o=t[n];a+=i.replace(/##pc-id##/g,n).replace(/##pt-hash##/g,e).replace(/##video-class##/,o.isVideo?" is-video":"").replace(/##icon-class##/,o.iconClass).replace(/##name##/,o.name).replace(/##has-tile-format##/,o.hasTileFormat).replace(/##is-digital##/,!!o.isDigital).replace(/##is-sticker##/,!!o.isSticker).replace(/##show-matte-option##/,!!o.showMatteOption).replace(/##is-postcard##/,!!o.isPostcard).replace(/##hide-variable-info##/,!!o.hideVariableInfo)}}),b.append(a),F[e]},this.deletePricetableCategories=function(e){$(".js-product-category-pt-"+e).remove(),_.each(F[e],function(t,i){$(".js-product-base-pc-"+i+"-"+e).remove(),$(".js-optiongroup-pc-"+i+"-"+e).remove(),$(".product-info").filter("[id^='product-info-"+i+"']").remove()}),delete F[e]},this.showFirstPricetableCategory=function(e){var t,i=h.data("pt-hash",e).hasClass("on-video"),a=b.find(".js-product-category-pt-"+e+(i?".is-video":":not(.is-video)"));0!==a.length?("undefined"!=typeof INITIAL_ORDER_CATEGORY&&INITIAL_ORDER_CATEGORY?(t=$("#product-category-"+INITIAL_ORDER_CATEGORY+"-"+e),"undefined"!=typeof INITIAL_ORDER_BASIS&&INITIAL_ORDER_BASIS&&$.sub("order/category/change",function(e){$.unsub(e);
6var t=0,i=function(){var e=$('.js-product-base:visible[data-base-id="'+INITIAL_ORDER_BASIS+'"]');++t<5&&!e.hasClass("active")&&(e.trigger("click"),setTimeout(i,50))};i()})):t=a.first().find("a"),t.trigger("click")):h.addClass("missing-allowed-product")},this.addProductCategory=function(e,t,i){return oe(e,t,i),F[e]},this.scrollActiveCatAndBasisIntoView=function(){h.hasClass("on-details")||_.each([$(".js-product-category.active"),$(".js-product-base.active:visible")],function(e){if(e.length){var t=e.is(".js-product-category"),i=e.position(),a=t?i.left:i.top,n=t?e.outerWidth():e.outerHeight(),o=t?e.closest("[data-overlayscrollbars-viewport]"):e.parent(),r=t?o.outerWidth():o.outerHeight(),s=o[0];(a<0||a>r||a+n>r)&&(t?s.scrollLeft+=a-80:s.scrollTop+=a-30)}})},this.scrollProductCategoryChooser=function(){const e=$("#product-category-chooser-scroller [data-overlayscrollbars-viewport]"),t=e.outerWidth(),i=$(this).is("#product-category-chooser-scroll-left")?-t:t,a=e[0].scrollLeft;e[0].scrollTo({left:a+i/2,behavior:"smooth"})},this.productCategoryIsCached=function(e,t,i){return!!F[e]&&!!F[e][t]&&(i||!!F[e][t].bases)},this.changeSelectedProductCategory=function(e,t,i,a){var n=!!i.data("has-tile-format"),o="-"+e+(h.hasClass("on-video")?".is-video":":not(.is-video)")+",",r=[".js-product-category-pt",".js-product-base-pc-"+t,".js-optiongroup-pc-"+t,"#product-info-"+t].join(o);i.parent().addClass("active").siblings(".active").removeClass("active"),h.toggleClass("on-digital",!!i.data("is-digital")),$("#optiongroup-use-matte").toggle(!!i.data("show-matte-option")), 7w.toggleClass("on-tiles",n),c=$("#"+(n?"product-chooser-tiles":"product-chooser-list")),x.setInner(c);var s=c.add("#product-category-chooser, #product-info-wrap, .optiongroup-wrap").find(".js-product-category, .product-base, .product-info, .optiongroup").not(".js-pseudo-optiongroup"),l=s.filter(r).removeClass("hidden").show();s.not(r).removeClass("visible").hide(),n||l.addClass("visible"),Ve(),he(e,t,!0),"function"==typeof a&&a(),U.updateMoreIndicatorBases(),M.update(),n&&c.find("img").one("load",U.updateMoreIndicatorBases),w.removeClass("on-info"),de(e,t),$.pub("order/category/change")},this.initCategoryHint=function(e){var t=function(e){$("#product-details-category-hint").remove(),h.removeClass("has-category-hint"),e&&$.pub("order/category/hint/close")};if(e)t();else{var i=!1;h.addClass("has-category-hint"),$.sub("order/category/change",function(e){$.unsub(e),$("#product-category-chooser").find(".js-product-category").not(".is-video").length<2?t():$("#product-category-chooser").on("click","li",function(){return h.hasClass("on-video")?(h.removeClass("has-category-hint"),void(i=!0)):i?(h.addClass("has-category-hint"),void(i=!1)):(t(!0),void $(this).unbind(e))})}),$("#close-category-hint").on("click",function(e){e.preventDefault(),t(!0)})}},this.toggleProductInfo=function(){w.toggleClass("on-info").hasClass("on-info"),B||U.updateMoreIndicatorBases()}
7,this.changeSelectedProduct=function(){var e=$(this),t=e.data(),i=h.hasClass("on-digital"),a="active quick-zoom-out";e.addClass(a).siblings().removeClass(a),se(e,t),y.removeClass("on-horizontal on-vertical").toggleClass("on-horizontal-only","horizontal"===t.forceOrientation).toggleClass("on-vertical-only","vertical"===t.forceOrientation).toggleClass("on-square-format",!!t.square),C.toggleClass("on-allow-fit-format",!!t.fit).toggleClass("on-allow-crop",!i).toggleClass("on-allow-frame",!!t.frame),ye();var n=b.find(".active").find("a").data("id"),o="#product-info-"+n,r=$(o+"-"+t.baseId),s=r.length>0?r:$(o);$(".product-info").hide(),s.show();var c=h.data("pt-hash"),l=F[c][n].bases[t.baseId].shortDescription;if($(".js-product-short-desc-text").toggleClass("hide",!l).html(l),B||Se(),$("#preview-wrap-branding").remove(),t.isBranding&&"undefined"!=typeof BRANDING_BASE_URL){var d=X();CommonHelper.onImgLoad(d,function(){var e=d.width(),t=d.height(),i=BRANDING_BASE_URL.replace("__width__",e).replace("__height__",t);d.after('<div id="preview-wrap-branding" class="preview-wrap-branding" style="width:'+e+"px; height:"+t+"px; background-image:url("+i+')" />')})}var u=!!$(".js-product-base.active:visible").data("is-snowglobe");P.toggleClass("is-snowglobe",u),Pubsub.trigger("order/basis/change",{basisID:t.baseId,categoryID:n})},this.updateMoreIndicatorBases=function(e){x.update(e)},this.changePrices=function(e,t,i){if(!R){if(!i){var a=$(this).closest(".optiongroup");if("optiongroup-sw"===a.prop("id"))(h.hasClass("on-multiple")?$("."+V):P).toggleClass("on-grayscale","product-option-sw-1"===this.id);if(a.hasClass("js-pseudo-optiongroup"))return;
7var n=a.prop("class").match(/js-optiongroup-pc-(\d+)-([^ ]+)/);i=n[1],t=n[2]}de(t,i)}},this.toggleEnlargeBases=function(){h.toggleClass("on-chooser-enlarged"),U.updateMoreIndicatorBases()},this.changeResolveConflictOption=function(){H.updateResolveClass(w,$(this).val());const e=be();P.toggleClass("is-postcard",!!e.data("is-postcard")).toggleClass("is-sticker",!!e.data("is-sticker")),B||ke()},this.changeCropOrientation=function(e){e.preventDefault();var t=$(this).data("value");xe("horizontal"===t),ke(!1,t)},this.updateCropperAndMoreIndicatorsOnResize=function(e){h.length&&!h.is(":hidden")&&(Ce(),ke(),x.update(e),M.update(e))},this.isInvisibleVariation=function(){var e=b.find(".active").find("a"),t=e.data("pt-hash"),i=parseInt(e.data("id")),a=d.baseId,n=ge(t,i);return void 0===ue(t,i,a,n)},this.getCurrentProductData=function(e){var t=h.hasClass("on-digital"),i=b.find(".active").find("a"),a=i.data("pt-hash"),n=parseInt(i.data("id")),o=d.baseId,r=ge(a,n),s=F[a][n],c=X(),u=C.find("input:checked").val()||!1,g=!e&&!!c.data("cropper")&&"variable"!==u&&"match"!==u,p={pcID:n,baseID:o,optionPath:r,options:pe(a,n,r),name:$.trim(i.text())+" "+$.trim(l.find(".product-base-name").text()),resolveSizeBy:u,cropData:g?c.cropper("getData"):{},price:ue(a,n,o,r).sum,count:t?1:parseInt(A.val()),isSticker:i.data("is-sticker"),allowWhiteBorder:s.bases[o].formatData.allowWhiteBorder,volumeDiscount:s.volumeDiscount,widestLength:Math.max(d.width,d.height)};if(void 0===p.price){var m=he(a,n);p.optionPath=ge(a,n),p.options=pe(a,n,p.optionPath),p.price=ue(a,n,o,p.optionPath).sum,m.url=window.location.href,m.baseID=o,m.price=p.price,m.success="undefined"!==p.price,m.versionStr="150617",OrderLogger.log("Fixed Option Path",m)}if(!e&&"crop"===p.resolveSizeBy&&Oe(p.cropData)&&(p.cropData=Ee(),p.fixedCropCoords=!0),e||(p=$.extend(p,te(c[0]))),h.hasClass("on-video"))p.isVideo=!0;else{var f=$("#optiongroup-use-matte:visible"),v=function(e){return parseInt(e.find("input:checked").val())};p.colorIndex=v($("#optiongroup-sw")),f.length&&(p.useMatte=1===v(f)),e||t||"variable"!==u||(p.resolveByVariableText=Me())}return t&&(p.isDigital=!0),p},this.getProductDataForMultiple=function(e,t){var i=ee(e),a=$.extend({},t,te(i),{cropData:Pe(i).data,resolveByVariableText:Me(i)});return De(i)&&(a.resolveSizeBy="match",a.cropData={},void 0!==a.resolveByVariableText&&delete a.resolveByVariableText),a},this.completeOrder=function(e,t){killgrowler("adding_to_basket");var i=this.showContinueModal,a=this.pulsateCounter;h.addClass("in-cart").hasClass("from-details")&&!t?($("#order-layer").animationTiming("onTransEnd",function(){N(),e?i(!0):growler(T.data("text-success"),"success","adding_to_basket")}),this.togglePreviewAndOrderMode()):h.one("hidden.bs.modal",function(){a(),e&&!t&&i(!1)}).modal("hide")},this.showContinueModal=function(e){var t=$("#modal-continue"),i=h.hasClass("on-video")?"titleVideo":"titleImage",a=t.data(i);a&&t.find(".modal-title").text(a),t.modal("show"),e&&t.one("hidden.bs.modal",function(){$("body").addClass("modal-open")})},this.hideContinueModal=function(){$("#modal-continue").modal("hide")}
7,this.pulsateCounter=function(){var e=$("#sticky-cart");e.hasClass("is-sticky")||(e=$("#header-top-bar-grid")),e.find(".js-alert-cart-counter").animationTiming("doAnimWith","pulsate")}},AddressForm=function(){var e,t,i,a,n,o,r={},s=!1,c=function(e){return parseInt($(e).closest(".js-address-wrapper").find(".js-country-selector").val())},l=function(e){return c(e)===GERMANY_ID},d=function(e,t){var i,a=c(t);if(a===GERMANY_ID)i=5;else{if(a!==SWITZERLAND_ID)return!0;i=4}return""!==(e=$.trim(e))&&new RegExp("^\\d{"+i+"}$").test(e)},u=function(e,t){return!!this.optional(t)||PicIBAN.isValid(e)},g=function(e,t){if(!/[0-9]+/i.test(e))return!1;if(l(t)&&!/[a-zA-Z\u0400-\u04FF].*[0-9]+/i.test(e))return!1;if(/^[a-zA-Z]\d+( ?(\d+)?)$/.test(e))return/ \d+/.test(e);var i=/([^ 0-9/-])([0-9])/;return i.test(e)&&$(t).val(function(e,t){return t.replace(i,"$1 $2")}),!0},h=function(){$.validator.addMethod("valid_zip",d),$.validator.addMethod("iban",u),$.validator.addMethod("house_number",g),$.validator.addMethod("iban_german_or_austrian",function(e){return/^(DE|AT)/.test(e)}),$.validator.addMethod("no_packstation",function(e){return!/Packstation/i.test(e)}),$.validator.addMethod("no_backslash_or_euro",function(e){return!/[\\\u20ac]/i.test(e)}),$.validator.addMethod("min_2_letters",function(e){return/[a-z\xe4\xf6\xfc\xdfA-Z\xc4\xd6\xdc\u0400-\u04FF]{2,}/i.test(e)||/[a-zA-Z]\d+/i.test(e)}),$.validator.addMethod("no_umlauts_in_local_part",function(e){return!/[\xe4\xf6\xfc\xdf].*@/i.test(e)}),$.validator.addMethod("no_gmail_de",function(e){return!/.*@gmail\.de/i.test(e)}),$.validator.addMethod("no_googlemail_de",function(e){return!/.*@googlemail\.de/i.test(e)}),$.validator.addMethod("not_equal_to_firstname",function(e,t){return $(t).closest(".js-address-wrapper").find(".js-address-firstname").val()!==e}),$.validator.addMethod("no_cyrillic",function(e){return!e||/^[^\u0400-\u04FF]+$/.test(e)}),$.extend($.validator.messages,{email:PicI18n.get("cart.validation.email"),equalTo:PicI18n.get("cart.validation.equalTo"),house_number:PicI18n.get("cart.validation.houseNumber"),iban:PicI18n.get("cart.validation.validIban"),iban_german_or_austrian:PicI18n.get("cart.validation.germanIban"),min_2_letters:PicI18n.get("cart.validation.min2Letters"),minlength:$.validator.format(PicI18n.get("cart.validation.minlength")),no_backslash_or_euro:PicI18n.get("cart.validation.noBackslashOrEuro"),no_cyrillic:PicI18n.get("cart.validation.noCyrillic"),no_gmail_de:PicI18n.get("cart.validation.noGmail"),no_googlemail_de:PicI18n.get("cart.validation.noGooglemail"),no_packstation:PicI18n.get("cart.validation.noPackstation"),no_umlauts_in_local_part:PicI18n.get("cart.validation.noUmlauts"),not_equal_to_firstname:PicI18n.get("cart.validation.notEqualToFirstname"),rangelength:$.validator.format(PicI18n.get("cart.validation.rangelength")),required:PicI18n.get("cart.validation.required"),valid_zip:PicI18n.get("cart.validation.validZip")})},p=function(){var e={iban_german_or_austrian:!0,iban:!0},i={not_equal_to_firstname:!0,no_cyrillic:!0},a={no_packstation:!0,no_backslash_or_euro:!0,house_number:!0,min_2_letters:!0,no_cyrillic:!0},n={no_packstation:!0,no_backslash_or_euro:!0,no_cyrillic:!0};t.validate({ignore:":hidden",rules:{"address[address1]":a,"address[address2]":n,"address[city]":"no_cyrillic","address[firstname]":"no_cyrillic","address[lastname]":i,"address[zip]":"valid_zip","bankdata[iban]":e,"ship_address[address1]":a,"ship_address[address2]":n,"ship_address[city]":"no_cyrillic","ship_address[firstname]":"no_cyrillic","ship_address[lastname]":i,"ship_address[zip]":"valid_zip","user[email]":{no_umlauts_in_local_part:!0,no_gmail_de:!0,no_googlemail_de:!0}},errorPlacement:function(e,t){e.appendTo(t.parent().parent())}})}
7,m=function(){var e=$("#coupon_code"),t=e.parents(".form-group");e.delayedObserver(function(){var i=e.val();e.data("coupon-value",null),i.length<1?($("#check_code_result").html(""),t.removeClass("error")):$.ajax({data:{code:i},dataType:"json",url:CHECK_COUPON_URL,success:function(i){t.toggleClass("error",!i.valid),$("#check_code_result").html(function(){var t=$(this).removeClass("text-success text-danger");return i.valid?(t.addClass("text-success"),e.data("coupon-value",i.coupon_value),i.text_natural):(t.addClass("text-danger"),i.outdated?i.text_outdated:i.text_invalid)})},beforeSend:function(){$("#check_code_waiting").show()},complete:function(){$("#check_code_waiting").hide()}})})},f=function(e){$("#maps-check-alert").fadeOut(200,e)},v=function(){var t=$("#user_email"),i="undefined"==typeof SKIP_TRUSTED_EMAIL_DELAY?1:.001;t.delayedObserver(function(){$.ajax({url:TRUSTED_EMAIL_URL,type:"post",data:{email:t.val(),authenticity_token:AUTHENTICITY_TOKEN},success:function(t){ALLOWED_PAYMETHOD_DATA.trusted_user="false"!==t,e.change()}})},i)},b=function(){return i.data("is-force")||a.length>0&&"no"!==a.filter(":checked").val()},w=function(){const e=l(".js-is-ship-address")&&!b();$("#letter-tracking-label").toggleClass("hide",!e),$("#letter-tracking").prop("disabled",!e)},k=function(){var t;n.slideToggle(150).add("#bill-address").toggleClass("js-is-ship-address"),$("#address_isshipping").val(function(e,i){return(t="1"===i)?"0":"1"});const i=$(t?"#ship-address":"#bill-address");i.find(".js-shippingcosts-target").append($("#shippingcosts-wrapper")),i.find(".js-letter-tracking-target").append($("#letter-tracking-label")),e.change()},C=function(e){$(".bankaccount").toggle(e).find("input").toggleClass("required",e).prop("disabled",!e)},P=function(e){var t=$("#address-phone-hint");if(0!==t.length){var i=t.data(e?"required-text":"optional-text");$("#address-phone-field").toggleClass("required",e),t.text(i)}},_=function(){var e=this.id,t="prepaid"===e,i="paypal"===e,a="creditcard"===e,n="invoice"===e,o="offsetted"===e,r="twint"===e,s="debit"===e,c=n&&ALLOWED_PAYMETHOD_DATA.includes_digitals&&!ALLOWED_PAYMETHOD_DATA.trusted_user,l=n&&!c&&!ALLOWED_PAYMETHOD_DATA.includes_only_digitals;$("#digitalinvoice_notice").toggle(c),$("#prepaid_notice").toggle(t),$("#paypal_notice").toggle(i),$("#creditcard_notice").toggle(a),$("#invoice_notice").toggle(l),$("#offset_notice").toggle(o),$("#twint_notice").toggle(r),C(s),P(n||s)}
7,I=function(){var e=$(this);if(e.closest(".js-address-wrapper").hasClass("js-is-ship-address")){var t=e.val(),a=ALLOWED_PAYMETHOD_DATA.trusted_user?ALLOWED_PAYMETHOD_DATA.trusted_paymethods_by_country:ALLOWED_PAYMETHOD_DATA.paymethods_by_country,n=$(),o=$(".js-paymethod-label").hide().filter(".active");$.each(a[t],function(e,t){n=n.add("#"+t+"_wrap")}),n.show();var r=$(".js-paymethod-input:checked"),c=r.closest(".js-paymethod-label");(r.length<1||c.is(":hidden")||s)&&(o.length<1||o.is(":hidden"))?(o.removeClass("active"),n.first().click()):1===r.length&&o.length<1&&c.click();var l="";if(b())l=i.data("shippingcosts");else{var d=100*ALLOWED_PAYMETHOD_DATA.shippingcosts_by_country[t];l=NumberFormatter.centsAsPrice(d)}$("#shippingcosts").html(l),w(),s=!0}},y=function(){var e=$(this),t=e.data("target")||"bill",i=e.data("address1"),a=e.data("zip"),n=e.data("city"),o=e.data("countryId"),r="ship"===t?$("#ship-address"):$("#bill-address");r.find(".js-address-address1").val(i),r.find(".js-address-zip").val(a),r.find(".js-address-city").val(n),o&&r.find(".js-address-country-id").val(o).trigger("change"),f(function(){growler(PicI18n.get("cart.applySuggestedAddress.success"),"success")})},A=function(){var t=b();t&&n.hasClass("js-is-ship-address")&&(k(),o.prop("checked",!1)),o.closest("#toggle-ship-address-label").toggleClass("hide",t),e.change()},D=function(){o.on("change",k),$("#paymethod-switch").on("change","input",_),e.change(I),a.on("change",A),$("#apply-suggested-address").on("click",y),$("#address-confirm").on("click",function(e){e.preventDefault(),$("#address-confirmed-input").val("1"),f(function(){t.find("[type=submit]").focus()})}
7),t.submit(function(e){var t=$("#autochoose-coupon").data("coupon-value"),i=$("#coupon_code").data("coupon-value");null!==t&&null!==i&&t>i&&!window.confirm(PicI18n.get("cart.submit.expensiveCoupon"))?e.preventDefault():$(this).valid()?$(".js-clear-if-hidden:hidden").val(""):growler(PicI18n.get("cart.validation.incomplete"),"warning")}),e.change()};return r.init=function(){e=$("#address_country_id, #ship_address_country_id"),t=$("#basket-2-form"),i=$("#bulk-order-info"),a=$(".js-use-bulk-order-input"),n=$("#ship-address"),o=$("#toggle-ship-address"),h(),p(),m(),v(),w(),D(),"undefined"!=typeof ADDRESS_FORM_PLACEHOLDER_DATA&&($("#address_country_id").val(ADDRESS_FORM_PLACEHOLDER_DATA.countryID).change(),$("#address_zip").prop("placeholder",ADDRESS_FORM_PLACEHOLDER_DATA.zip),$("#address_city").prop("placeholder",ADDRESS_FORM_PLACEHOLDER_DATA.city))},r}(),CartBackToImagesLink=function(){var e={},t=function(){const e=$(".js-article-list-product-title").first().attr("href");$("#back-to-images-wrap").toggleClass("hide",!e),$("#back-to-images-link").attr("href",e)},i=function(){Pubsub.on("cart-table:update-sums-complete",t)};return e.init=function(){i(),t()},e}(),CartCropAttention=function(){var e,t,i,a,n={},o=!1,r=!1,s=!1,c=!1,l=!1,d=function(){$("#crop-warning-alert").toggleClass("hide",!o)},u=function(t){o=!1,r=!1,s=!1,_.each(t,function(t){_.each(t.products,function(t){if(o||(o=e.showAsCrop(t)),o&&!r){var i=t.cropData.width*t.cropData.height,a=t.origWidth*t.origHeight;r=i/a<.8}s||(s=t.isSticker&&"crop"===t.resolveSizeBy)})}),d()},g=function(){n.showModalIfNecessary()||Pubsub.trigger("cart:submit")},h=function(){return $(".js-package-crop-warning").length>0},p=function(){return a.find(".js-is-sticker.js-is-unconfirmed-crop").length>0},m=function(){return!c&&(h()||r)},f=function(){return p()||!l&&s&&!MobileOrderCheck.run()},v=function(e){var i=e?$("#modal-sticker-warning"):t,a=e?"#modal-sticker-warning-img-packages":"#modal-crop-warning-img-packages",n=e?"#modal-sticker-warning-img-ordered":"#modal-crop-warning-img-ordered",o=e?p():h(),d=e?s:r;i.modal("show"),$(a).toggleClass("hide",!o),$(n).toggleClass("hide",!d),e?(OrderLogger.log("show sticker hint"),l=!0):(OrderLogger.log("show crop hint"),c=!0),Pubsub.trigger("package:emphasize-crop-warning")},b=function(){$(this).closest(".js-has-crop-warning").find(".js-cart-package-list-edit, .article-list-edit").animationTiming("doAnimWith","quick-zoom-in-big")},w=function(e){e=e.find(".cart-table-col").first(),PicScroll.toElement(e,null,400,_.bind(b,e))},k=function(){var e=(r?i:a).find(".js-has-crop-warning").first();w(e)},C=function(){var e=a.find(".js-is-sticker.js-is-unconfirmed-crop").first();0===e.length&&(e=i.find(".js-is-sticker.js-has-crop-warning").first()),w(e)},P=function(){Pubsub.on("storage:set-ordered cart:set-ordered",u),$(".js-modal-warning-confirm").on("click",g),$("#modal-crop-warning-cancel").on("click",k),$("#modal-sticker-warning-cancel").on("click",C),i.add(a).on("click",".js-has-crop-warning .js-article-list-product-info, .js-cart-package-list-img-img",b)};return n.showModalIfNecessary=function(){return m()?(v(!1),!0):!!f()&&(t.is(":visible")?t.on("hidden.bs.modal",function(){v(!0)}):v(!0),!0)}
7,n.init=function(n){e=new CropperHelper,t=$("#modal-crop-warning"),i=$("#article-list"),a=$("#cart-package-list-wrap"),P(),u(n)},n}(),CartInfoAlert=function(){var e,t,i,a,n,o={},r=function(e){_.each(e,function(e){_.each(e.products,function(e){a=a||!!e.isDigital,n=n||!e.isDigital})})},s=_.debounce(function(){a=_.size(i)>0,n=!1,r(e),r(t);var o=_.any(PicStorage.getCustomArticles());$(".js-cart-info-digi").toggleClass("hide",!a),$(".js-cart-info-print").toggleClass("hide",!n),$(".js-cart-info-digi-only").toggleClass("hide",n||!a),$(".js-cart-info-digi-and-print").toggleClass("hide",!n&&!a),$(".js-cart-info-print-and-ca").toggleClass("hide",!n&&!o)},100),c=function(t){e=t,s()},l=function(e){t=e,s()},d=function(e){i=e,s()},u=function(){Pubsub.on("storage:set-ordered cart:set-ordered",c),Pubsub.on("cart:set-packaged",l),Pubsub.on("cart:set-album-packaged",d),Pubsub.on("custom-article:deleted",s)};return o.init=function(a,n,o){e=a,t=n,i=o,u(),s()},o}(),Confetti=function(){var e={},t=140,i=70,a=4e3,n=function(e,t){return e+Math.random()*(t-e)};return e.rain=function(){var e,o=window.matchMedia("(max-width: 600px)").matches?i:t;if(!window.matchMedia("(prefers-reduced-motion: reduce)").matches){(e=document.createElement("div")).className="confetti",e.setAttribute("aria-hidden","true");for(var r=0;r<o;r++){var s=document.createElement("i");s.className="confetti-piece",s.style.setProperty("--left",n(0,100)+"%"),s.style.setProperty("--drift",n(-120,120)+"px"),s.style.setProperty("--r",n(-900,900)+"deg"),s.style.setProperty("--delay",n(0,2)+"s"),s.style.setProperty("--duration",n(1.2,1.8)+"s"),e.appendChild(s)}document.body.appendChild(e),setTimeout(function(){e.remove()},a)}},e}
7(),ConfirmSubmit={init:function(){var e=$(".js-orderbutton").click(function(){var t=$(this).data("recently-ordered-text");t&&!window.confirm(t)||($(".js-loading-image").fadeIn(),e.addClass("disabled").prop({disabled:!0,value:$(this).data("loading-text")}),$("#send_order").submit())})}};$("#basket-konjunktur-checkbox").on("change",function(){var e=$(this)[0].checked,t=parseFloat($("#choosable-price-wrap").data("sum")),i=parseFloat($("#choosable-price-wrap").data("rabatt"));e?($("#konjunktur-price").removeClass("text-line-through"),$("#choosable-price").html((t-i).toFixed(2).replace(".",","))):($("#konjunktur-price").addClass("text-line-through"),$("#choosable-price").html(t.toFixed(2).replace(".",",")))});var CopyBasisDeeplink=function(){var e,t,i,a={},n=function(e,a){if(t){var n=t+"&open_order_layer=1&product_category="+a+"&product_basis="+e;i.each(function(){var e=$(this).data("custom-domain"),t=window.location;if(e){var i=t.pathname.split("/")[1],a=t.port?":"+t.port:"";n=n.replace(t.origin,e+a).replace(i+"/","")}$(this).attr("data-clipboard-text",n)})}},o=function(){var t=e.querySelectorAll(".js-copy-basis-deeplink");new ClipboardJS(t,{container:e}).on("success",function(){growler(i.first().data("success-text"),"success")})},r=function(){Pubsub.on("order/basis/change",function(e){n(e.basisID,e.categoryID)}),o()};return a.setSingleImageURL=function(e){t=e},a.init=function(){e=$("#product-format-wrap")[0],i=$(".js-copy-basis-deeplink"),e&&r()},a}(),CustomArticles=function(){var e,t,i={},a=PicStorage.getCustomArticles,n=PicStorage.setCustomArticles,o=function(e,t){if(!t){var i=e.data("id");t=a()[i]}t&&e.prop("disabled",t.remaining===t.count)},r=function(e){e?growler(CUSTOM_ARTICLE_GROWLER_MESSAGE,"success"):t.modal("show")}
7,s=function(){e.on("click",function(){var e=$(this),t=e.data("id"),i=a(),s=_.any(i),c=i[t],l=c&&c.count||0,d=_.clone(CUSTOM_ARTICLE_DATA[t]);d.count=l+1,i[t]=d,n(i),o(e,d),Pubsub.trigger("custom-article:added"),r(s)}),$("#modal-continue-basket-link-custom-article").on("click",function(){t.modal("hide")})};return i.getCount=function(){return _.reduce(a(),function(e,t){return e+t.count},0)},i.getSum=function(){return _.reduce(a(),function(e,t){return e+t.price*t.count},0)},i.get=function(){return a()},i.setCount=function(e,t){var i=a();i[e].count=parseInt(t),n(i)},i.setPrice=function(e,t){var i=a();i[e].price=parseInt(t),n(i)},i.setRemaining=function(e,t){var i=a();i[e].remaining=t,n(i)},i.delete=function(e){var t=a();delete t[e],n(t),Pubsub.trigger("custom-article:deleted")},i.deleteAll=function(){n({})},i.init=function(){e=$(".js-article-order").each(function(){o($(this))}),t=$("#modal-continue-custom-article"),s(),CustomArticlesDiashow.init()},i}(),CustomArticlesDiashow=function(){var e,t={},i=function(){var e=$(this);new Swiper(this,{zoom:!0,on:{init:function(){this.updateSize(),this.updateSlides()}},pagination:{el:e.find(".js-ca-diashow-pagination")[0]},navigation:{nextEl:e.closest(".js-swiper-outer").find(".js-swiper-button-next")[0],prevEl:e.closest(".js-swiper-outer").find(".js-swiper-button-prev")[0],addIcons:!1}})},a=function(e){return e.hasClass("js-ca-lightbox-link")?[{src:e.prop("href")}]:e.closest(".js-swiper-wrapper").find(".js-swiper-slide").map(function(){return{src:$(this).data("src-lightbox")}}).get()},n=function(){$(".js-ca-lightbox-link, .js-swiper-slide").click(function(t){t.preventDefault();var i=$(this),n=i.hasClass("js-swiper-slide")?i.index():0;e.open(a(i),n)})};return t.init=function(){const t=$(".js-ca-diashow");0!==t.length&&(t.each(i),e=new PicLightbox($("#ca-lightbox-modal")),n())},t}(),CustomerRequestForm=function(){var e,t={},i=function(t,i){e.hasClass("js-withdrawal-form")&&!i?($("#withdrawal-error").html(t).removeClass("hide"),$("#withdrawal-send-anyway").val("1")):growler(t,"warning"),setTimeout(()=>Rails.enableElement(e[0]),100)},a=function(){if(!e.valid())return!1;var t=$("#customer-request-billnumber:visible").val();return!(t&&!t.match(/^[0-9-]+$/))||(i("Bitte g\xfcltige Rechnungsnummer eingeben!",!0),!1)},n=function(t){t.preventDefault(),a()&&$.ajax({type:"POST",url:e.prop("action"),data:e.serialize(),success:function(){$("#customer-request-thanks").show(),e.hide()},error:function(e){var t=400===e.status?e.responseText:"Es ist ein Fehler aufgetreten. Bitte versuchen Sie es sp\xe4ter erneut";i(t)}})},o=function(){$("#customer-request-billnumber-wrap").toggleClass("hide",!$(this).prop("checked"))},r=function(){e.submit(n),$("#contactform-is-order").change(o)};return t.init=function(){e=$("#customer-request-form"),r()},t}(),DuplicatedDigiHint=function(){var e={},t=!1;return e.showModalIfNecessary=function(e){if(t)return!1;var i=[],a=[],n=_.pluck(e.albumPackaged,"albumId");return _.each(e.ordered,function(e,t){_.each(e.products,function(n){n.isDigital&&(a.push(e.album.id),i.push(parseInt(t)))})}),_.each(e.packaged,function(e){_.each(e.products,function(e){e.isDigital&&!e.isDynamicQuantity&&_.each(e.images,function(e){i.push(e.imageId),a.push(e.albumId)})})}),!!(i.length>_.uniq(i).length||_.intersection(a,n).length||n.length>
7_.uniq(n).length)&&($("#modal-duplicated-digi-hint").modal("show"),t=!0,!0)},e}(),IframeCheck={init:function(e){window.location!==window.parent.location&&$.get(e,function(e){if(!e.cookies_enabled){var t=window.location.href,i='<div id="overlay" class="iframe-check-overlay"><p>Klicken Sie bitte hier um zur Galerie zu kommen:</p><p><a href="'+t+'" target="_blank">'+t+"</a></p></div>";$("body").append(i)}})}},PreviewSwiper=function(){var e,t,i,a,n,o,r={},s=!0,c=!1,l=!1,d=!1,u=function(){if(!e)return;if(!n.hasClass("si-allow-zoom"))return void(l=!0);l=!1;const t=e.activeIndex,i=$(`.js-swiper-slide[data-swiper-slide-index="${t}"]`).find(".js-image-preview-img"),a=i[0];CommonHelper.onImgLoad(i,function(){if(c){var e=a.naturalWidth*a.naturalHeight,t=i.width()*i.height();l=e/t<1.4}})},g=function(e,t){const i=t.getBoundingClientRect(),a=e.clientX-i.left,n=e.clientY-i.top;return a<0||n<0||a>i.width||n>i.height?null:{x:a,y:n,width:i.width,height:i.height}},h=function(){n.removeClass("zoom-is-active")},p=function(e,t){if(l)return;const i=$(e),a=i.find(".js-image-preview-img-zoom")[0],o=i.find(".js-image-preview-img")[0],r=o&&g(t,o);if(!a||!r)return void h();n.addClass("zoom-is-active");const s=100*r.x/r.width,c=100*r.y/r.height;a.style.backgroundPosition=s+"% "+c+"%"},m=function(t){const i=t.originalEvent;("mouse"===i.pointerType||d&&i.buttons)&&(e?.zoom?.scale>1?h():p(t.currentTarget,i))},f=function(e){"mouse"!==e.originalEvent.pointerType&&h()},v=function(e,t){"mouse"!==t.pointerType&&e.zoom.toggle(t)},b=function(){e&&(h(),u(),s&&Pubsub.trigger("order/swiper-changed",e.virtual.slides[e.activeIndex].id))},w=function(e){if(e.isVideo)return a({src:e.srcVideo,poster:e.mediumUrl});const t=$("body").data("show-large-preview")?e.largeUrl:e.mediumUrl,n=$(i({alt:e.alt,copyright:e.info?.copyright,largeUrl:e.largeUrl,ratio:e.ratio||1,canonicalOrderUrl:e.canonicalOrderUrl,src:t,title:e.title,ip:PhotoProtectionHintOnImage.getIp()}))[0],r=n.querySelector(".js-image-preview-img-and-hint-wrap");return r.querySelector(".js-photo-protection-hint-on-image")&&o.observe(r),d&&r.classList.add("swiper-no-swiping"),n},k=function(){o=PhotoProtectionHintOnImage.createObserver()},C=function(t){e&&_.each(e.virtual.cache,function(e){$(e).find(".js-photo-protection-hint-on-image-ip").text(t)})},P=function(){e&&(s=!1,e.virtual.removeAllSlides(),e.destroy(),e=null,s=!0,o.disconnect())},I=function(i){e=new Swiper("#image-preview-slider",{initialSlide:i,zoom:!d&&{maxRatio:2,toggle:!1},on:{activeIndexChange:b,doubleTap:v,zoomChange:h},virtual:{enabled:!0,slides:t,renderSlide:w}}),u()},y=function(){n.on("pointerenter pointerdown pointermove",".js-swiper-slide",m).on("pointerup pointercancel",".js-swiper-slide",f).on("pointerleave",".js-swiper-slide",h),Pubsub.on("sd-change:show-large-preview",P),$("#modal-order").on("shown.bs.modal",u),$(window).on("resize",_.debounce(u,100))};return r.swipeImmediatelyTo=function(i,a){const n=_.findIndex(t,{id:i});c=a,e?(s=!1,e.slideTo(n,0),s=!0):_.defer(function(){I(n)})},r.updateSlides=function(e){t=e,P()},r.pauseVideo=function(){$("#image-preview-slider").find(".js-image-preview-video").each(function(){this.paused||this.pause()})},r.init=function(e){$("#image-preview-slider-templ-image").length&&(d=$("body").hasClass("photo-protection-small-image"),i=PicTempl.get("image-preview-slider-templ-image",!0),a=PicTempl.get("image-preview-slider-templ-video",!0),$("#image-preview-dummy-slide").remove(),n=$("#image-preview-img-outer"),"undefined"!=typeof IMAGE_ITEMS_DATA?t=_.sortBy(IMAGE_ITEMS_DATA,"index"):e&&$.getAllImages(e).done(function(e){t=_.sortBy(e,"index")}),PhotoProtectionHintOnImage.onSetIp(C),k(),y())},r}(),Productinfos=function(){var e={},t=function(){$(".js-productinfo-more").on("click",function(){_.defer(echo.render)}),$(window).on("resize",_.debounce(echo.render,250))};return e.init=function(e){t(),e&&PicScroll.toElement($("#productinfo-wrap-"+e),40),echo.init({offset:100,debounce:!1})},e}(),ResponsiveHeaderNav=function(){var e,t,i,a,n={},o=3,r=function(){a.observe(i,{attributes:!0,subtree:!0})},s=function(){a.disconnect()},c=function(){for(var t,i=0,a=e.find(".js-header-pages-item"),n=0;n<a.length;n++){const e=a.eq(n);if("none"!==e.css("display")){var o=e.offset().top;if(t){if(t!==o)break}else t=o;i++}}return i},l=function(){if(!e.hasClass("do-show"))return;s(),t.addClass("hide");const i=c(),a=parseInt(e.css("margin-left"))>0||i>=o;if(e.toggleClass("hide-too-few",!a),a){const a=e.find(".js-header-pages-item").filter(function(e,t){return"none"!==$(t).css("display")});if(i<a.length){const n=a.eq(i-1);t.removeClass("hide"),n.after(t),t.offset().top>
7n.offset().top&&(n.before(t),t.offset().top===n.offset().top&&(i>o?t.prev().before(t):e.addClass("hide-too-few")))}}r()},d=function(){const e=t.index()-1;Pubsub.trigger("nav-main:open-and-highlight",e)},u=function(){a=new MutationObserver(l),r(),$(window).on("resize",_.throttle(l,200)),t.on("click",d)};return n.init=function(){e=$("#header-pages-nav-wrap"),t=$("#header-nav-more-link"),i=$("#header-top-bar-grid")[0],u(),l()},n}(),ScrollToTopButton=function(){var e,t={},i=0,a=!1,n=!1,o=function(){const e=window.scrollY;a=e<i,i=e},r=function(){const t=window.scrollY>200&&a;t!==n&&(n=t,t?e.removeClass("hide").animationTiming("doAnimWith","showing"):e.animationTiming("doAnimWith","hiding",function(){n||e.addClass("hide")}))},s=function(){PicScroll.to(0)},c=function(){$(window).on("scroll",_.throttle(o,100)).on("scroll",_.throttle(r,200)),e.click(s)};return t.init=function(){e=$("#scroll-to-top"),c()},t}(),Selfpurchase=function(){var e,t={},i="",a=function(){if(!i)return window.location.href;var e={open_order_layer:1,product_category:$(".js-product-category.active").find(".js-product-category-link").data("id"),product_basis:$(".js-product-base.active:visible").data("base-id")};return i+"&"+$.param(e)},n=function(){var t=e.prop("href"),i={back_url:a()},n=new URLSearchParams(t).get("switch_on_off");alert(`Sie wechseln jetzt zu den ${"1"===n?"Einkaufspreisen":"Normalpreisen"}. Die Seite wird neu geladen, danach k\xf6nnen Sie mit Ihrer Bestellung beginnen.`),e.prop("href",t+"&"+$.param(i))},o=function(){e.click(n)};return t.setSingleImageURL=function(e){i=e},t.init=function(){e=$(".js-switch-selfpurchase-link"),o()},t}(),StickyCart=function(){var e,t,i={},a=80,n=!1,o=function(){return t.position().top+t.outerHeight()+10},r=function(t){t&&_.defer(function(){n=!0,e.tooltip({placement:"left",title:t})})},s=function({countCartItems:t,countWished:i,countUnfinished:a}){var o,s,c;t>0?(o=1===t?"stickyCart.cart.single":"stickyCart.cart.multi",s=t):i>0?(o=1===i?"stickyCart.wishlist.single":"stickyCart.wishlist.multi",s=i):a>0&&(o=1===a?"stickyCart.packages.single":"stickyCart.packages.multi",s=a),s&&(c=_.template(PicI18n.get(o))({num:s})),n?(n=!1,e.one("hidden.bs.tooltip",function(){r(c)}).tooltip("destroy")):r(c)},c=function(t){e.toggleClass("hide",t)},l=function(){var i=$(window).scroll(_.throttle(function(){var n=t.length?o():0,r=i.scrollTop()>Math.max(a,n);e.toggleClass("is-sticky",r)},200));Pubsub.on("wishlist:add-from-selection",function(){e.hasClass("is-sticky")&&e.animationTiming("doAnimWith","dbl-pulsate")}),Pubsub.on("cart:update-count",s),Pubsub.on("package:change-active",()=>c(!0)),Pubsub.on("package-composer:hide-complete",()=>c(!1))};return i.init=function(){(e=$("#sticky-cart")).length&&(t=$("#header-top-icons"),l())},i}(),SubscriptionForm=function(){var e,t,i,a,n={},o=function(e){i.html(e),t.removeClass("hide")},r=function(e){a.html(e)},s=function(t){var i=t.detail[0],a=i.headline,n=i.response;e.addClass("hide"),o(n),a&&r(a)},c=function(t){var i=t.detail[0].response;o(i||e.data("error-text"))},l=function(){e.on("ajax:success",s).on("ajax:error",c)};return n.init=function(){e=$("#subscribe-album-form"),a=$("#subscribe-album-headline"),t=$("#subscribe-album-msg"),i=$("#subscribe-album-msg-content"),l()},n}(),TouchDetector={isTouch:function(){return window.PointerEvent&&"maxTouchPoints"in navigator?navigator.maxTouchPoints>0:window.matchMedia&&window.matchMedia("(any-pointer:coarse)").matches||window.TouchEvent||"ontouchstart"in window}};
7$(function(){var e=$("#customer-upload-button");if(0!==e.length){var t=$("#custom-upload-results-num").text("0"),i=0,a=0,n=$("#custom-upload-results-reload-link-wrap"),o=function(){$.ajax({url:n.data("url"),success:function(e){n.html(e),s()}})},r=_.throttle(o,5e3,{leading:!1}),s=_.throttle(function(){$("#custom-upload-results-loading-spinner").length&&r()});PicUpload.init(e,{url:e.data("url"),complete:function(){t.text(++a)},addFiles:function(e){$("#customer-upload-lifespan-hint").addClass("hide"),n.addClass("hide"),$("#custom-upload-results").removeClass("hide"),i+=e,$("#custom-upload-results-max").text(i)},allDone:function(){n.removeClass("hide"), 8$("#customer-upload-lifespan-hint").removeClass("hide"),o()}}),s()}}),$(function(){const e=$("html"),t=$("body"),i=t.data();if($("#nav-main-toggle").length&&NavToggle.init(),$("#header-pages-nav-wrap").length&&ResponsiveHeaderNav.init(),StickyCart.init(),e.hasClass("js-is-address")?AddressForm.init():e.hasClass("js-is-confirm")&&ConfirmSubmit.init(),$("#startpage-main").length){DiashowSwiper.init();var a=$("#startpage-album-grid-wrap");"undefined"==typeof IS_EMPTY_ALBUM_GRID||a.data("is-shopdesigner")||a.remove(),$("#startnumber-form-select").length&&StartnumberSearchBox.init()}i.albumId&&$.loadTokens(i.albumId,!1,"mobile view html");var n=$("#album-images");n.length&&ImageItems.init(n,"templ-imageitem",IMAGE_ITEMS_DATA),Shortlinks.init(),$("#subscribe-album-form").length&&SubscriptionForm.init(),$("#customer-request-form").length&&CustomerRequestForm.init(),"undefined"!=typeof IFRAME_CHECK_URL&&IframeCheck.init(IFRAME_CHECK_URL),i.isProductinfo&&Productinfos.init(i.productinfoId),$(".payrexx-modal-button").length&&Payrexx.init(),ScrollToTopButton.init(),t.toggleClass("is-touch",TouchDetector.isTouch()),$(".js-autofocus").focus(),t.tooltip({selector:'[data-toggle^="tooltip"]',container:"body",html:"true",delay:{show:500,hide:0}}).popover({selector:'[data-toggle^="popover"]',trigger:"hover",html:"true",container:"body",delay:{show:500,hide:0}}),$(".js-scroll-to").on("click",function(e){e.preventDefault();var t=$(this).attr("href");PicScroll.toElement($(t))})});
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.