(()=>{var H="https://aim.harnesshub.app/api/404153993";function G($,j=document){let{swapTargets:R,phoneNumber:V}=$;console.log("Starting phone number replacement:",{swapTargets:R,replacementPhoneNumber:V});let K=(A)=>A.replace(/\D/g,""),q=new Set,Y=new Set;R.forEach((A)=>{q.add(K(A.nationalNumber)),Y.add(K(A.e164))});let L=K(V.nationalNumber),W=K(V.e164);console.log("Normalized digits:",{targetNationalDigits:Array.from(q),targetFullDigits:Array.from(Y),replacementNational:L,replacementFull:W});let Q=/(\+?1?[-.\s]?)?\(?\d{3}\)?[-.\s\w]*\d{3}[-.\s\w]*\d{4}|\+?1?\d{10}/g,_=(A)=>{if(q.has(A)||Y.has(A))return!0;for(let B of q)if(A.endsWith(B)){for(let J of Y)if(A.length===J.length)return!0}for(let B of q)if(A.includes(B))return!0;return!1},M=(A)=>{let B=K(A);if(!_(B))return A;let J;if(B.length>=11)J=W;else J=L;let Z="",E=0;for(let w=0;w{let B=A.textContent;if(Q.lastIndex=0,A.textContent)A.textContent=A.textContent.replace(Q,M);if(B!==A.textContent)U++,console.log("Replaced:",B,"->",A.textContent)}),console.log(`Replaced ${U} phone numbers in text`);let T=j.querySelectorAll('a[href^="tel:"]');console.log(`Found ${T.length} tel: links`),T.forEach((A)=>{let B=A.href,J=K(A.href);if(_(J))A.href="tel:"+V.e164,console.log("Updated href:",B,"->",A.href)})}window.Tracking={init:($)=>{if(console.log("Tracking module initialized with session:",$),$.dni)$.dni.forEach((_)=>G(_));let j=new WeakSet,R=new WeakSet;console.log("\uD83D\uDD0D GravityForms detected:",typeof window.gform<"u"),console.log("\uD83D\uDD0D jQuery detected:",typeof window.jQuery<"u"),console.log("\uD83D\uDD0D Document state:",document.readyState);let V=()=>{return(_)=>{let M=_.target;if(!M?.reportValidity()){console.log("Invalid form submission. Skipping submission tracking.");return}if(j.has(M))return;j.add(M);let O=Object.fromEntries(new FormData(M).entries());console.log("valid submission:",O),v($.sessionId,O)}};document.addEventListener("submit",V(),!0);let K=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){if(console.log("Intercepted programmatic form.submit()"),this.reportValidity()&&!j.has(this)){j.add(this);let _=Object.fromEntries(new FormData(this).entries());console.log("valid programmatic submission:",_),v($.sessionId,_)}return K.call(this)};let q=(_)=>{if(R.has(_))return;try{let M=_.contentDocument||_.contentWindow?.document;if(!M)return;if(R.add(_),console.log("\uD83D\uDDBC️ Setting up tracking for iframe:",_.src||_.id||"anonymous"),M.addEventListener("submit",V(),!0),$.dni)$.dni.forEach((O)=>G(O,M))}catch(M){console.log("\uD83D\uDDBC️ Cannot track cross-origin iframe:",_.src,M)}},Y=()=>{document.querySelectorAll("iframe").forEach((_)=>{if(_.contentDocument?.readyState==="complete")q(_);else _.addEventListener("load",()=>q(_))})};new MutationObserver((_)=>{for(let M of _)M.addedNodes.forEach((O)=>{if(O instanceof HTMLIFrameElement)if(console.log("\uD83D\uDDBC️ New iframe detected:",O.src||O.id||"anonymous"),O.contentDocument?.readyState==="complete")q(O);else O.addEventListener("load",()=>q(O));if(O instanceof HTMLElement)O.querySelectorAll("iframe").forEach((z)=>{if(z.contentDocument?.readyState==="complete")q(z);else z.addEventListener("load",()=>q(z))})})}).observe(document.body,{childList:!0,subtree:!0}),Y();let W=!1,Q=()=>{if(W)return;if(typeof window.jQuery<"u"&&typeof window.gform<"u")W=!0,console.log("✅ Setting up GravityForms submission hook"),window.jQuery(document).on("gform_confirmation_loaded",function(_,M){console.log("\uD83D\uDCDD GravityForms confirmation:",M);let O=document.getElementById(`gform_${M}`);if(O&&!j.has(O)){j.add(O);let z=Object.fromEntries(new FormData(O).entries());console.log("GravityForms submission data:",z),v($.sessionId,z)}});else console.log("⏳ GravityForms not ready yet, will retry...")};if(Q(),document.readyState==="loading")document.addEventListener("DOMContentLoaded",Q);setTimeout(Q,1000)}};function v($,j){fetch(`${H}/form-submission`,{method:"POST",keepalive:!0,headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:$,formData:j,submissionUrl:window.location.href})})}})();