/* fdx-instant-v2 — INSTANT-DOWNLOAD pages + lead attribution & GA4. Same approved logic as the 1:1 Meetings pilot: on submit auto-download the asset (data-asset-url) then redirect to /thank-you/. Manual pages keep the shared v3. */ (function(){ function init(){ var lp=document.querySelector('.fdx-lp'); if(!lp){ return; } var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches; var modal=document.getElementById('fdx-modal'); var lastFocus=null, gi; var triggerAsset='', triggerLabel=''; // set when a pop-up trigger carries its own asset (e.g. resource cards) // ===== Lead attribution (Option 3 hybrid): page + CTA + asset + submission type ===== var FDX_ASSET_NAMES={"fdx-delegate-breakdown.pdf":"Delegate Breakdown","fdx-uk-market-entry-brief.pdf":"UK Market-Entry Brief","fdx-sponsorship-roi-guide.pdf":"Sponsorship ROI Guide","fdx-1to1-meetings-guide.pdf":"1:1 Meetings Guide","fdx-executive-brief.pdf":"Executive Brief","fdx-medical-affairs-brief.pdf":"Medical Affairs Brief","fdx-product-marketing-brief.pdf":"Product Marketing Brief","fdx-marketing-brief.pdf":"Marketing Brief","fdx-molecular-diagnostics-brief.pdf":"Molecular Diagnostics Brief","fdx-selling-into-nhs-labs-guide.pdf":"Selling Into NHS Labs Guide","fdx-lead-generation-playbook.pdf":"Lead-Generation Playbook","fdx-partnership-guide.pdf":"Partnership Guide","fdx-speaking-showcase-guide.pdf":"Speaking & Showcase Guide"}; function fdxAssetName(u){ if(!u){ return ""; } var f=(""+u).split("/").pop().split("?")[0]; return FDX_ASSET_NAMES[f]||f.replace(/^fdx-/,"").replace(/\.pdf$/,"").replace(/-/g," "); } function fdxLoc(el){ if(!el||!el.closest){ return "In-Page CTA"; } if(el.closest("#fdx-modal")){ return "Pop-up"; } if(el.closest(".fdx-hero")){ return "Hero Section"; } if(el.tagName==="FORM"||(el.querySelector&&el.querySelector(".wpcf7"))){ return "Closing CTA"; } var sec=el.closest("section")||el.closest(".fdx-wrap"); if(sec){ var h=sec.querySelector(".fdx-eyebrow")||sec.querySelector("h2"); if(h&&h.textContent&&h.textContent.trim()){ return h.textContent.trim().slice(0,80); } } return "In-Page CTA"; } function fdxAttr(trigger,scopeEl){ var url=(trigger&&trigger.getAttribute("data-asset-url"))||lp.getAttribute("data-asset-url")||""; var name=(trigger&&trigger.getAttribute("data-cta-label"))||lp.getAttribute("data-cta-label")||""; return {"cta-name":name,"cta-location":fdxLoc(scopeEl||trigger),"asset":fdxAssetName(url),"submission-type":url?"Instant Download":"Manual Follow-Up"}; } function fdxSetHidden(form,o){ if(!form){ return; } for(var k in o){ var el=form.querySelector('[name="'+k+'"]'); if(el){ el.value=o[k]; } } } function fdxGA(o){ try{ var p={cta_name:o["cta-name"],cta_location:o["cta-location"],asset:o["asset"],submission_type:o["submission-type"],page_name:(document.title||""),page_url:location.pathname}; if(window.gtag){ window.gtag("event","generate_lead",p); } if(window.dataLayer){ var d={event:"generate_lead"}; for(var k in p){ d[k]=p[k]; } window.dataLayer.push(d); } }catch(e){} } function fdxSubmitData(e){ var f=(e&&e.target&&e.target.tagName==="FORM")?e.target:((e&&e.target&&e.target.querySelector)?e.target.querySelector("form"):null); if(f&&f.closest&&f.closest("#fdx-modal")){ var url=triggerAsset||lp.getAttribute("data-asset-url")||""; return {"cta-name":triggerLabel||lp.getAttribute("data-cta-label")||"","cta-location":fdxLoc(lastFocus)||"Pop-up","asset":fdxAssetName(url),"submission-type":url?"Instant Download":"Manual Follow-Up"}; } return fdxAttr(null,f); } function animateCount(el){ var target=parseFloat(el.getAttribute('data-target'))||0, suffix=el.getAttribute('data-suffix')||''; if(reduce){ el.textContent=target+suffix; return; } var dur=1500, start=null; function step(ts){ if(start===null){ start=ts; } var p=Math.min((ts-start)/dur,1); var e=1-Math.pow(1-p,3); el.textContent=Math.round(e*target)+suffix; if(p<1){ requestAnimationFrame(step); } } requestAnimationFrame(step); } function animateBar(el){ el.style.width=(el.getAttribute('data-bar')||'0')+'%'; } function animateRing(el){ var pct=parseFloat(el.getAttribute('data-ring'))||0; el.style.strokeDashoffset=String(339.292*(1-pct/100)); } var aGroups=[ { box:lp.querySelector('.fdx-stats'), run:function(box){ var n=box.querySelectorAll('[data-target]'),x; for(x=0;x. function setBtn(scope,label){ if(!scope||!label){ return; } var b=scope.querySelectorAll('.wpcf7-submit'),i; for(i=0;i start the file download, then go to the // thank-you page (which also offers a manual link as a popup-blocker fallback). // - MANUAL pages: no asset URL -> straight to the thank-you page ("a senior member of the team will be in touch"). (function(){ var fs=lp.querySelectorAll("form"),fi; for(fi=0;ficlick here.'; } setTimeout(function(){ window.location.href='/thank-you/'; }, 2000); } else { window.location.href='/thank-you/'; } } document.addEventListener('wpcf7mailsent',fdxOnSent); if(window.jQuery){ window.jQuery(document).on('wpcf7mailsent',fdxOnSent); } } if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded',init); } else { init(); } })();