(function(){ window.shown=window.shown||[];window.shown.conversions=window.shown.conversions||[]; function y(t){const e={fieldNames:t.fieldNames||[],fieldIds:t.fieldIds||[],formClass:t.formClass,formId:t.formId,formName:t.formName,buttonClass:t.buttonClass,buttonType:t.buttonType||"submit"};function n(){const s=document.querySelectorAll("form"),i=[];for(const c of s)r(c)&&i.push(c);return i}function r(s){if(e.formId&&s.id!==e.formId||e.formName&&s.name!==e.formName||e.formClass&&!s.classList.contains(e.formClass))return!1;const i=s.querySelectorAll("input, textarea, select"),c=Array.from(i).map(a=>a.name).filter(Boolean),d=Array.from(i).map(a=>a.id).filter(Boolean);if(e.fieldNames.length>0){if(e.fieldNames.length!==c.length)return!1;for(const a of e.fieldNames)if(!c.includes(a))return!1}if(e.fieldIds.length>0){if(e.fieldIds.length!==d.length)return!1;for(const a of e.fieldIds)if(!d.includes(a))return!1}return e.fieldNames.length>0||e.fieldIds.length>0}function o(s){const i=[],c=s.querySelectorAll('input[type="submit"], input[type="image"]'),d=s.querySelectorAll('button[type="submit"], button:not([type])');return[...c,...d].forEach(a=>{l(a)&&i.push(a)}),i}function l(s){const i=s.type||"submit";return!(e.buttonType&&i!==e.buttonType||e.buttonClass&&!s.classList.contains(e.buttonClass))}function u(s){const i=n();return i.forEach(c=>{o(c).forEach(a=>{a.addEventListener("click",function(m){s({form:c,button:a,event:m,formData:new FormData(c)})})})}),i.length}return{findForms:n,attachClickListeners:u,config:e}}window.createFormDetector=y;document.addEventListener("DOMContentLoaded",()=>{var e;const t=((e=window.shown)==null?void 0:e.conversions)||{};Object.entries(t).forEach(([n,r])=>{var o;(o=r.form_conversions)!=null&&o.length&&b(r.form_conversions,n)})});function b(t,e){t!=null&&t.length&&t.forEach(n=>{var c;const r=(c=n.tracking_configs)==null?void 0:c[0];if(!r)return;const{function:o,event_action:l,event_name:u,params:s={}}=r;if(!o||!l||!u)return;const i=`track_form_conversion_${e}_${n.id||Math.random().toString(36).slice(2)}`;window[i]=d=>{const a=window[o];if(typeof a!="function"){console.warn(`${o} function is not available.`);return}try{const m={...s,...d};a(l,u,m)}catch(m){console.error(`Error firing form conversion for ${e}:`,m)}},n.event_codes&&Array.isArray(n.event_codes)&&(n.event_codes=n.event_codes.map(d=>d.replace("__track_conversion_function__",`${i}(data)`)),n.event_codes.forEach(d=>{const a=document.createElement("script");a.textContent=d,document.body.appendChild(a)}))})}const p={appendScriptToHead({id:t,src:e,innerText:n}){const r=document.createElement("script");t&&(r.id=t),e&&(r.src=e,r.async=!0,r.onerror=()=>console.error(`Error loading script: ${e}`)),n&&(r.textContent=n),document.head.appendChild(r)},insertHTMLBeforeEnd(t,e){t.insertAdjacentHTML("beforeend",e)}};function v(t,e){if(e.match_attribute==="url"){if(e.match_pattern===null)return!1;const n=l=>l.toLowerCase().replace(/^https?:\/\/www\./,"https://").replace(/\/$/,""),r=n(t),o=n(e.match_pattern);return e.match_type==="exact"&&r===o||e.match_type==="contains"&&r.includes(o)}return!1}function E(t){if(!t||!t.global_tag_ids||t.global_tag_ids.length===0){console.error("No global tag IDs provided.");return}const e=t.global_tag_ids[0];if(!e){console.error("First global tag ID is not valid.");return}const n="shown-0";if(!document.getElementById(n)){const r=window.location.href;let o="window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date());";o+=t.global_tag_ids.map(l=>`gtag('config', '${l}');`).join(""),o+=t.conversions.filter(l=>v(r,l.trigger_setting)).map(l=>l.event).join(""),p.appendScriptToHead({id:n,src:`https://www.googletagmanager.com/gtag/js?id=${e}`}),p.appendScriptToHead({innerText:o})}}const f={purchase:"purchase",add_to_cart:"add_to_cart",billing_details_added:"billing_details_added",checkout_reached:"checkout_reached",lead:"lead"};function k(t){if(!t||!t.conversions||t.conversions.length===0)return;const e=new Set;t.conversions.forEach(o=>e.add(o.tracking_code));const n=Array.from(e).join(""),r=document.createRange().createContextualFragment(n);document.head.appendChild(r)}function L(t){if(!t||!t.conversions||t.conversions.length===0)return;const e=t.conversions.reduce((n,r)=>n+r.tracking_code,"");e&&p.insertHTMLBeforeEnd(document.head,e)}const h={google:0,facebook:2,bing:1,twitter:4};function T(t){if(!t||!t.conversions||t.conversions.length===0)return;const e="shown-"+h.twitter;if(document.getElementById(e))return;let n=`!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');`;t.global_tag_ids.forEach(o=>{n+=` twq('config','${o}');`}),t.conversions.filter(o=>o.trigger_setting.match_attribute==="url").forEach(o=>{n+=` twq('track','${o.event}');`}),p.appendScriptToHead({id:e,innerText:n})}function I(t,e){switch(parseInt(t,10)){case h.google:E(e);break;case h.facebook:k(e);break;case h.bing:L(e);break;case h.twitter:T(e);break}}function S(t){document.readyState==="complete"||document.readyState==="interactive"?t():document.addEventListener?document.addEventListener("DOMContentLoaded",t):document.attachEvent("onreadystatechange",function(){document.readyState==="complete"&&t()})}document.addEventListener("DOMContentLoaded",()=>{const t=(e,n,r={})=>{var l;console.log(`Reacted to ${e}`,r);const o=((l=window.shown)==null?void 0:l.conversions)||{};Object.values(o).forEach(u=>{var s;(s=u==null?void 0:u.conversions)!=null&&s.length&&u.conversions.forEach(i=>{const c=i.tracking_config||{},{function:d=null,event_action:a="",event_name:m="",params:w={}}=c;if(i.match_type!==n||!d||!m)return;const g=window[d];if(typeof g!="function"){console.warn(`${d} function is not available.`);return}try{const _={...w,...r};g(a,m,_)}catch(_){console.error(`Error firing ${d} event:`,_)}})})};document.body.addEventListener("shown_add_to_cart",e=>{const n=e.detail||{};let r={};n.product_id&&(r.item_id=n.product_id),n.quantity&&(r.quantity=n.quantity),n.currency&&(r.currency=n.currency),n.price&&(r.price=n.price),t("shown_add_to_cart",f.add_to_cart,{items:[r]})}),document.body.addEventListener("shown_reaching_checkout",()=>{t("shown_reaching_checkout",f.checkout_reached)}),document.body.addEventListener("shown_adding_billing_details",()=>{t("shown_adding_billing_details",f.billing_details_added)}),document.body.addEventListener("shown_purchase_completed",e=>{const n=e.detail||{};let r={};n.transaction_id&&(r.transaction_id=n.transaction_id),n.amount&&(r.amount=n.amount),n.currency&&(r.currency=n.currency),t("shown_purchase_completed",f.purchase,r)}),document.body.addEventListener("shown_lead",e=>{const n=e.detail||{};t("shown_lead",f.lead,n)})});S(()=>{const{conversions:t={}}=window.shown||{};Object.keys(t).length!==0&&Object.entries(t).forEach(([e,n])=>{if(!e||!n){console.error(`Missing configuration for platform: ${e}`);return}try{I(e,n)}catch{}})}); })(); window.addEventListener("message",(event)=>{if(event.origin!=="https://app.shown.io")return;event.source.postMessage({shown_analytics_check_flag:true,},event.origin)},!1)