var e=Object.defineProperty,t=(t,o,i)=>((t,o,i)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i)(t,"symbol"!=typeof o?o+"":o,i),o=(e,t,o)=>new Promise((i,n)=>{var r=e=>{try{s(o.next(e))}catch(t){n(t)}},a=e=>{try{s(o.throw(e))}catch(t){n(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((o=o.apply(e,t)).next())});class i extends HTMLElement{constructor(){super(),t(this,"kpInput",null),t(this,"form",null),t(this,"lzSelect",null),t(this,"vzSelect",null),this.attachShadow({mode:"open"})}connectedCallback(){this.render(),this.setupInputHandlers(),this.fetchBpmData(),this.fetchTeaserVisual()}fetchTeaserVisual(){return o(this,null,function*(){this.shadowRoot.querySelector("#teaser-visual").src=`https://${this.isProduction()?"kredit.check24.de":"kredit.check24-test.de"}/img/home/teaser-visual.png`})}fetchBpmData(){return o(this,null,function*(){try{const e=this.isProduction()?"www.check24.de":"www.check24-test.de",t=Date.now(),o=yield fetch(`https://${e}/ajax/bpm/get/?product=financing&_=${t}`,{credentials:"include"}),i=yield o.json();200===i.status&&i.data&&this.applyBpmData(i.data)}catch(e){console.debug("BPM data fetch failed, using defaults",e)}})}applyBpmData(e){if(e.credit_amount&&this.kpInput&&(this.kpInput.value=this.formatWithThousandDelimiter(String(e.credit_amount))),e.credit_period&&this.lzSelect){this.lzSelect.querySelector(`option[value="${e.credit_period}"]`)&&(this.lzSelect.value=String(e.credit_period))}if(e.credit_usage&&this.vzSelect){this.vzSelect.querySelector(`option[value="${e.credit_usage}"]`)&&(this.vzSelect.value=String(e.credit_usage))}this.updateHiddenLzInput()}updateHiddenLzInput(){if(this.lzSelect&&this.form){const e=this.form.querySelector('input[type="hidden"][name="lz"]');e&&(e.value=this.lzSelect.value)}}isProduction(){return window.location.hostname.endsWith("check24.de")&&!window.location.hostname.includes("check24-test.de")&&!window.location.hostname.includes("check24-int.de")}render(){this.shadowRoot.innerHTML='\n      <style>\n        .c24-kredite-home-teaser-container{position:relative;font-family:Verdana,Arial,Helvetica,sans-serif}@media(max-width:769px){.c24-kredite-home-teaser-container{font-family:Arial,sans-serif}}.c24-kredite-home-teaser-content{height:360px;width:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:24px;box-sizing:border-box;background-position:right center;background-repeat:repeat-x;text-decoration:none;color:#fff;position:relative}@media(max-width:768px){.c24-kredite-home-teaser-content{height:230px}}.c24-kredite-home-teaser-content .responsive-break{display:none}@media(max-width:530px){.c24-kredite-home-teaser-content .responsive-break{display:block}}@media(max-width:768px){.c24-kredite-home-teaser-content{align-items:start}}@media(min-width:961px){.c24-kredite-home-teaser-content{pointer-events:none;cursor:default;text-decoration:none}}@media(max-width:960px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-link{display:flex;gap:16px;flex-direction:column;align-items:center}}.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline{font-size:30px;line-height:40px;height:100%;padding-top:26px;flex:1;z-index:1;text-align:center}@media(max-width:960px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline{text-align:left;margin-left:24px}}@media(max-width:530px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline{margin-top:0;margin-left:0;font-size:22px;line-height:26px;padding-right:0;padding-top:16px}}.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline p{margin:0}@media(max-width:960px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline p:last-of-type{padding-right:135px}}@media(max-width:530px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline p:last-of-type{padding-right:0}}@media(max-width:769px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline p{font-size:20px;padding-right:0}}.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline img{height:230px;position:absolute;right:calc(50% - 500px);top:40px}@media(max-width:960px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline img{right:0;top:60px}}@media(max-width:768px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline img{top:60px;height:170px}}@media(max-width:380px){.c24-kredite-home-teaser-content .c24-kredite-home-teaser-headline img{height:140px;top:70px}}@media(max-width:960px){.c24-kredite-home-teaser-box{display:none}}.c24-kredite-home-teaser-box-container{z-index:1;position:absolute;bottom:60px;left:16px;right:16px;display:flex;justify-content:center}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box{background-color:#fff;color:#000;border:3px solid #ffbb1c;border-radius:100px;width:100%;max-width:960px}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns{display:flex;gap:16px;padding:7px 6px 7px 20px;align-items:center}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns>div,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns button{flex:1;height:44px}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-dropdown{position:relative;padding-left:16px}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-dropdown:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:40px;background-color:#949494}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-input-flex,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-dropdown-input-container{position:relative;display:flex}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-input-flex input,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-input-flex select,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-dropdown-input-container input,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-dropdown-input-container select{flex:1;border:none;outline:none;font-size:16px;padding-top:7px;background-color:transparent}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-input-flex select,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-dropdown-input-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23181818\' stroke-width=\'2.5\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpolyline points=\'6 9 12 15 18 9\'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right -8px;background-size:24px;padding-right:28px;padding-left:0;cursor:pointer}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-input-flex .c24-value-placeholder,.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-dropdown-input-container .c24-value-placeholder{position:absolute;top:50%;right:0;transform:translate(-50%,-50%)}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns .c24-kredite-home-teaser-box-label{font-size:14px;color:#181818}.c24-kredite-home-teaser-box-container .c24-kredite-home-teaser-box .c24-kredite-home-teaser-box-3-columns button{max-width:220px;border-radius:100px;background-color:#0563c1;color:#fff;border:none;cursor:pointer;font-size:16px}\n      </style>\n      \n      <div class="c24-kredite-home-teaser-container">\n  <a class="c24-kredite-home-teaser-content"\n    href="https://kredit.check24.de/deep/?action=productHome&productId=9010&cpref=holdingteaser&kp=20000&lz=84&vz=8">\n    <div class="c24-kredite-home-teaser-link">\n      <div class="c24-kredite-home-teaser-headline">\n        <p>\n          <strong>Kreditvergleich <br class="responsive-break" />\n            mit Sofort-Auszahlung</strong>\n        </p>\n        <p>\n          kostenlos und<br class="responsive-break" />\n          unverbindlich\n        </p>\n        <img id="teaser-visual" src="https://kredit.check24.de/img/home/teaser-visual.png"\n          alt="Kreditvergleich mit Sofort-Auszahlung" />\n      </div>\n    </div>\n  </a>\n  <div class="c24-kredite-home-teaser-box-container">\n    <div class="c24-kredite-home-teaser-box">\n      <form method="get" action="https://kredit.check24.de/deep/">\n        <input type="hidden" name="action" value="apptrackEntry" />\n        <input type="hidden" name="cpref" value="holdingteaser" />\n        <input type="hidden" name="productId" value="9010" />\n        <div class="c24-kredite-home-teaser-box-3-columns">\n          <div class="c24-kredite-home-teaser-box-column">\n            <div class="c24-kredite-home-teaser-box-label">Kreditsumme</div>\n            <div class="c24-kredite-home-teaser-input-flex">\n              <input type="text" name="kp" autocomplete="off" value="20.000" placeholder="20.000" />\n              <div class="c24-value-placeholder">€</div>\n            </div>\n          </div>\n          <div class="c24-kredite-home-teaser-dropdown">\n            <div class="c24-kredite-home-teaser-box-label">Laufzeit</div>\n            <div class="c24-dropdown-input-container">\n              <select type="text" name="lz" autocomplete="off">\n                <option value="12">12 Monate</option>\n                <option value="18">18 Monate</option>\n                <option value="24">24 Monate</option>\n                <option value="36">36 Monate</option>\n                <option value="48">48 Monate</option>\n                <option value="60">60 Monate</option>\n                <option value="72">72 Monate</option>\n                <option value="84" selected>84 Monate</option>\n                <option value="96">96 Monate</option>\n                <option value="108">108 Monate</option>\n                <option value="120">120 Monate</option>\n                <option value="240">240 Monate</option>\n              </select>\n            </div>\n          </div>\n          <div class="c24-kredite-home-teaser-dropdown">\n            <div class="c24-kredite-home-teaser-box-label">Verwendungszweck</div>\n            <div class="c24-dropdown-input-container">\n              <select type="text" name="vz" autocomplete="off">\n                <option value="8">Freie Verwendung</option>\n                <option value="4">Umschuldung/Kredit ablösen</option>\n                <option value="10">Ausgleich Dispo</option>\n                <option value="5">Modernisierung/Baufinanzierung</option>\n                <option value="2">Gebrauchtfahrzeug</option>\n                <option value="1">Neufahrzeug</option>\n                <option value="11">Motorrad</option>\n                <option value="3">Einrichtung/Möbel</option>\n                <option value="6">PC/Audio/Video</option>\n                <option value="7">Reise</option>\n              </select>\n            </div>\n          </div>\n          <button type="submit">vergleichen</button>\n        </div>\n      </form>\n    </div>\n  </div>\n</div>\n    '}setupInputHandlers(){this.kpInput=this.shadowRoot.querySelector('input[name="kp"]'),this.form=this.shadowRoot.querySelector("form"),this.lzSelect=this.shadowRoot.querySelector('select[name="lz"]'),this.vzSelect=this.shadowRoot.querySelector('select[name="vz"]'),this.kpInput&&(this.kpInput.addEventListener("focus",this.handleFocus.bind(this)),this.kpInput.addEventListener("input",this.handleInput.bind(this)),this.kpInput.addEventListener("blur",this.handleBlur.bind(this))),this.form&&this.form.addEventListener("submit",this.handleSubmit.bind(this)),this.lzSelect&&this.lzSelect.addEventListener("change",()=>this.updateHiddenLzInput())}handleFocus(e){e.target.value=""}handleInput(e){const t=e.target,o=t.value.replace(/\D/g,"");t.value=this.formatWithThousandDelimiter(o)}handleBlur(e){const t=e.target;t.value||(t.value="20.000");const o=Number(t.value.replace(/\D/g,"")),i=this.shadowRoot.querySelector('select[name="vz"]').value;o<500?t.value="500":("1"===i||"2"===i)&&o>15e4?t.value="150.000":o>1e5&&(t.value="100.000")}handleSubmit(e){this.kpInput&&(this.kpInput.value=this.kpInput.value.replace(/\./g,""),requestAnimationFrame(()=>{this.kpInput&&(this.kpInput.value=this.formatWithThousandDelimiter(this.kpInput.value))}))}formatWithThousandDelimiter(e){return e?parseInt(e,10).toLocaleString("de-DE"):""}}export{i as default};
//# sourceMappingURL=teaser_kredite-home.client.mjs.map
