(function(){ if(window.__dpsCarrdBridgeV3)return; window.__dpsCarrdBridgeV3=true; var busy=false,observer=null; function send(){ if(busy)return; var email=document.getElementById('dps-email'); var consent=document.getElementById('dps-consent'); var box=document.getElementById('dps-form'); var button=box&&box.querySelector('button'); var error=document.getElementById('dps-form-err'); if(!email||!button)return; if(error)error.classList.remove('is-on'); if(!email.reportValidity())return; if(consent&&!consent.reportValidity())return; var target=document.getElementById('form01'); var field=target&&target.querySelector('input[type="email"]'); var submit=target&&target.querySelector('button[type="submit"],input[type="submit"]'); function fail(text){if(error){error.textContent=text;error.classList.add('is-on');}} if(!target||!field||!submit){fail('Subscription form form01 was not found.');return;} if(submit.disabled){fail('Please wait until the subscription form is ready.');return;} Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value').set.call(field,email.value.trim()); field.dispatchEvent(new Event('input',{bubbles:true})); field.dispatchEvent(new Event('change',{bubbles:true})); if(!target.checkValidity()){fail('Please check the required fields in form01.');return;} busy=true; var idle=button.innerHTML; button.disabled=true; button.classList.add('is-loading'); button.setAttribute('aria-busy','true'); button.innerHTML='Subscribing…'; function release(){ if(observer){observer.disconnect();observer=null;} busy=false;button.disabled=false;button.classList.remove('is-loading');button.removeAttribute('aria-busy');button.innerHTML=idle; } var waiting=false; function sync(){ if(submit.disabled||submit.classList.contains('waiting'))waiting=true; else if(waiting)release(); } observer=new MutationObserver(sync); observer.observe(submit,{attributes:true,attributeFilter:['disabled','class']}); try{ HTMLFormElement.prototype.requestSubmit.call(target,submit); sync(); requestAnimationFrame(function(){if(!waiting){release();fail('Submission did not start. Check the Carrd settings for form01.');}}); }catch(e){release();fail('Unable to submit form01. Please try again.');} window.addEventListener('pageshow',function(e){if(e.persisted)release();},{once:true}); } document.addEventListener('click',function(e){ if(!e.target.closest('#dps-form button'))return; e.preventDefault();e.stopImmediatePropagation();send(); },true); document.addEventListener('keydown',function(e){ if(e.key==='Enter'&&e.target.id==='dps-email'){e.preventDefault();e.stopImmediatePropagation();send();} },true); })(); (function(){ if(document.documentElement.getAttribute('data-dps-ready'))return; document.documentElement.setAttribute('data-dps-ready','1'); document.querySelectorAll('[data-dps-back]').forEach(function(link){ link.addEventListener('click',function(event){ var top=document.getElementById('dps-top'),input=document.getElementById('dps-email'); if(!top)return; event.preventDefault(); top.scrollIntoView({behavior:'smooth',block:'start'}); if(input)setTimeout(function(){input.focus({preventScroll:true});},600); }); }); if(window.matchMedia&&window.matchMedia('(hover: hover) and (pointer: fine)').matches){ document.querySelectorAll('[data-glow]').forEach(function(box){ var lines=box.querySelectorAll('.dps-gline');var rects=[]; var setOffsets=function(){var r=box.getBoundingClientRect();rects=[];lines.forEach(function(l){var lr=l.getBoundingClientRect();l.style.setProperty('--ox',(lr.left-r.left)+'px');l.style.setProperty('--oy',(lr.top-r.top)+'px');var vertical=l.classList.contains('dps-gline-v');rects.push({el:l,vertical:vertical,pos:vertical?(lr.left+lr.width/2-r.left):(lr.top+lr.height/2-r.top)});});}; window.addEventListener('resize',setOffsets,{passive:true}); box.addEventListener('pointerenter',function(){setOffsets();box.classList.add('dps-glow-on');}); box.addEventListener('pointermove',function(e){var r=box.getBoundingClientRect();var x=e.clientX-r.left;var y=e.clientY-r.top;box.style.setProperty('--mx',x+'px');box.style.setProperty('--my',y+'px');rects.forEach(function(item){var distance=Math.abs((item.vertical?x:y)-item.pos);item.el.style.setProperty('--near',Math.max(0,Math.min(1,1-(distance-24)/196)).toFixed(3));});}); box.addEventListener('pointerleave',function(){box.classList.remove('dps-glow-on');box.style.setProperty('--mx','-999px');box.style.setProperty('--my','-999px');}); }); } var build=document.querySelector('[data-dps-build]'); if(build){ var prints=[ {ticker:'AAPL',company:'Apple · Technology',shares:'173,500',price:'$302.25',notional:'$52.44M',lo:'$280',hi:'$350',stop:[16.4,2.6],print:31.8,target:[60,31.4],stopv:'$291.50',printv:'$302.25',targetv:'$322 to $344'}, {ticker:'CELH',company:'Celsius Holdings · Consumer',shares:'525,000',price:'$32.10',notional:'$16.85M',lo:'$25',hi:'$60',stop:[10.3,2.6],print:20.3,target:[65.7,22.9],stopv:'$28.60',printv:'$32.10',targetv:'$48 to $56'}, {ticker:'VERI',company:'Veritone · Enterprise AI',shares:'1,250,000',price:'$0.82',notional:'$1.02M',lo:'$0.60',hi:'$1.90',stop:[7.7,3.8],print:16.9,target:[65.4,26.9],stopv:'$0.70',printv:'$0.82',targetv:'$1.45 to $1.80'} ]; var stages=build.querySelectorAll('.dps-st'),bnav=build.querySelectorAll('.dps-bnav button'),timers=[],idx=0,paused=false,manual=false; var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches; var set=function(k,v){var el=build.querySelector('[data-b="'+k+'"]');if(el)el.textContent=v;}; var fill=function(d){ set('ticker',d.ticker);set('company',d.company);set('shares',d.shares);set('price',d.price);set('notional',d.notional);set('lo',d.lo);set('hi',d.hi);set('stopv',d.stopv);set('printv',d.printv);set('targetv',d.targetv); build.querySelector('[data-b="stop"]').style.left=d.stop[0]+'%'; var tg=build.querySelector('[data-b="target"]');tg.style.left=d.target[0]+'%';tg.style.width=d.target[1]+'%'; build.querySelector('[data-b="print"]').style.left=d.print+'%'; bnav.forEach(function(x,k){x.classList.toggle('is-now',k===idx);x.setAttribute('aria-pressed',String(k===idx));}); }; var clear=function(){timers.forEach(clearTimeout);timers=[];}; var run=function(){ clear();var d=prints[idx]; stages.forEach(function(s){s.classList.remove('is-on');}); set('step','Reading the print'); timers.push(setTimeout(function(){fill(d);},400)); var labels=['The print','Size','Price','Notional value','The levels']; stages.forEach(function(s,k){timers.push(setTimeout(function(){s.classList.add('is-on');set('step',labels[k]);},600+k*1100));}); timers.push(setTimeout(function(){if(manual)return;if(!paused){idx=(idx+1)%prints.length;run();}else{waiting=true;}},600+stages.length*1100+2600)); }; var waiting=false; bnav.forEach(function(btn,k){btn.addEventListener('click',function(){manual=true;waiting=false;idx=k;if(reduce){fill(prints[k]);}else{run();}});}); if(reduce){build.classList.add('is-still');fill(prints[0]);} else{ build.addEventListener('pointerenter',function(){paused=true;}); build.addEventListener('pointerleave',function(){paused=false;if(waiting){waiting=false;idx=(idx+1)%prints.length;run();}}); run(); } } var lv=document.querySelector('[data-dps-levels]'); if(lv){ lv.querySelectorAll('[data-lvbtn]').forEach(function(btn){ btn.addEventListener('click',function(){ lv.classList.add('is-touched'); var key=btn.getAttribute('data-lvbtn'); var on=btn.getAttribute('aria-pressed')!=='true'; btn.setAttribute('aria-pressed',String(on)); lv.querySelectorAll('[data-lv="'+key+'"]').forEach(function(el){el.classList.toggle('is-on',on);}); }); }); } var quiz=document.querySelector('[data-dps-quiz]'); if(!quiz)return; var questions=quiz.querySelectorAll('[data-dps-q]'); var result=quiz.querySelector('[data-dps-result]'); var step=quiz.querySelector('[data-dps-step]'); var dots=quiz.querySelectorAll('.dps-dots i'); var next=quiz.querySelector('[data-dps-next]'); var index=0,score=0; var show=function(i){ questions.forEach(function(q,k){q.classList.toggle('is-on',k===i);}); result.classList.toggle('is-on',i>=questions.length); dots.forEach(function(d,k){d.classList.toggle('is-done',k=questions.length){finish();}else{show(index);} }); quiz.querySelector('[data-dps-reset]').addEventListener('click',function(){ index=0;score=0; questions.forEach(function(q){ delete q.dataset.done; q.querySelector('[data-dps-fb]').textContent=''; q.querySelectorAll('.dps-opt').forEach(function(o){o.disabled=false;o.classList.remove('is-right','is-wrong');o.lastElementChild.textContent='';}); }); next.textContent='Next question'; show(0); }); })();