(()=>{if("undefined"==typeof gfZeroSpamConfig)return;const e=gfZeroSpamConfig.forms,o=!!gfZeroSpamConfig.debug;if(e&&e.length){if("undefined"!=typeof gform&&gform.utils&&gform.utils.addAsyncFilter){const o={};return e.forEach(e=>{o[e.formId]=e}),void gform.utils.addAsyncFilter("gform/submission/pre_submission",e=>{const t=parseInt(e.form.dataset.formid,10),f=o[t];return f?n(f).then(o=>(r(e.form,o),e)):Promise.resolve(e)})}e.forEach(e=>{const o=document.getElementById("gform_"+e.formId);o&&!o.dataset.gfzsBound&&(o.dataset.gfzsBound="1",o.addEventListener("submit",function(o){o.preventDefault(),n(e).then(e=>{r(this,e),this.submit()})}))})}function t(e){o&&console.warn("[GF Zero Spam] "+e)}function n(e){const o=new FormData;o.append("action","gf_zero_spam_token"),o.append("form_id",e.formId);const n={method:"POST",body:o};let r;"undefined"!=typeof AbortSignal&&AbortSignal.timeout&&(n.signal=AbortSignal.timeout(e.timeout));try{r=fetch(e.ajaxUrl,n)}catch(o){return t("Token fetch failed for form "+e.formId+": "+o.message+". Using fallback token."),Promise.resolve(e.fallbackToken)}return r&&"function"==typeof r.then?Promise.resolve(r).then(e=>{if(!e.ok)throw new Error("AJAX "+e.status);return e.json()}).then(e=>e.token).catch(o=>(t("Token fetch failed for form "+e.formId+": "+o.message+". Using fallback token."),e.fallbackToken)):(t("Token fetch failed for form "+e.formId+": fetch returned non-thenable. Using fallback token."),Promise.resolve(e.fallbackToken))}function r(e,o){const t=e.querySelector('input[name="gf_zero_spam_token"]');t&&t.remove();const n=document.createElement("input");n.type="hidden",n.name="gf_zero_spam_token",n.value=o,n.setAttribute("autocomplete","new-password"),e.appendChild(n)}})();
(function ($){
'use strict';
function getSelectedPayment(box){
var attribute=box.getAttribute('data-payment-attribute')||'pa_anschaffung';
var select=document.getElementById(attribute)||document.querySelector('select[name="attribute_' + attribute + '"]');
if(select&&select.value){
return select.value;
}
var activeSwatch=document.querySelector('.swatches-select[data-swatch-id="' + attribute + '"] .swatch--active[data-swatch-value]'
);
return activeSwatch ? activeSwatch.getAttribute('data-swatch-value'):'';
}
function paymentToMode(box, selected){
if(selected===(box.getAttribute('data-finance-value')||'finanzierung')){
return 'finance';
}
if(selected===(box.getAttribute('data-rent-value')||'miete')){
return 'rent';
}
if(selected===(box.getAttribute('data-purchase-value')||'kaufen')){
return 'purchase';
}
return box.getAttribute('data-default-mode')||'purchase';
}
function updateBox(box){
var mode=paymentToMode(box, getSelectedPayment(box));
var panels=box.querySelectorAll('[data-prs-mode]');
var activePanel=box.querySelector('[data-prs-mode="' + mode + '"]');
if(!activePanel){
activePanel=box.querySelector('[data-prs-mode="purchase"]');
}
panels.forEach(function (panel){
var isActive=panel===activePanel;
panel.classList.toggle('is-active', isActive);
panel.hidden = !isActive;
});
}
function updateAllBoxes(){
document.querySelectorAll('[data-prs-offer-box]').forEach(updateBox);
}
function updateWarranty(variation){
document.querySelectorAll('.prs-offer__warranty-label').forEach(function (label){
if(variation&&variation.prs_warranty){
label.textContent=variation.prs_warranty;
return;
}
var baseWarranty=label.getAttribute('data-prs-base-warranty');
if(baseWarranty){
label.textContent=baseWarranty;
}});
}
document.addEventListener('change', function (event){
if(event.target&&event.target.matches('select[name^="attribute_pa_anschaffung"], #pa_anschaffung')){
window.setTimeout(updateAllBoxes, 0);
}});
document.addEventListener('click', function (event){
var swatch=event.target.closest('.swatches-select[data-swatch-id="pa_anschaffung"] .swatch[data-swatch-value]');
if(swatch){
window.setTimeout(updateAllBoxes, 20);
window.setTimeout(updateAllBoxes, 120);
}
var infoButton=event.target.closest('.prs-offer__info');
if(infoButton){
event.preventDefault();
event.stopPropagation();
var wrap=infoButton.closest('.prs-offer__tooltip-wrap');
var isOpen=wrap.classList.toggle('is-open');
infoButton.setAttribute('aria-expanded', isOpen ? 'true':'false');
return;
}
document.querySelectorAll('.prs-offer__tooltip-wrap.is-open').forEach(function (wrap){
wrap.classList.remove('is-open');
var button=wrap.querySelector('.prs-offer__info');
if(button){
button.setAttribute('aria-expanded', 'false');
}});
var cta=event.target.closest('.prs-offer__cta');
if(cta){
var href=cta.getAttribute('href');
if(href&&href.charAt(0)==='#'){
var target=document.querySelector(href);
if(target){
event.preventDefault();
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}}
}});
$(document.body).on('found_variation', function (event, variation){
updateWarranty(variation);
window.setTimeout(updateAllBoxes, 0);
});
$(document.body).on('reset_data', function (){
updateWarranty(null);
window.setTimeout(updateAllBoxes, 0);
});
$(document.body).on('woocommerce_variation_has_changed', function (){
window.setTimeout(updateAllBoxes, 0);
});
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', updateAllBoxes);
}else{
updateAllBoxes();
}})(jQuery);