function getUrlParameter(name){name=name.replace(/[]]/g,'$&');const regex=new RegExp(`[?&]${name}(=([^]*)|&|#|$)`);const results=regex.exec(window.location.href);if(!results)return null;if(!results[2])return'';return decodeURIComponent(results[2].replace(/+/g,' '))}
function setCookie(name,value,days){const date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));const expires=`expires=${date.toUTCString()}`;document.cookie=`${name}=${value};${expires};path=/`}
function storeTrackingParameters(){const params=['utm_source','utm_medium','utm_campaign','utm_term','utm_content','gclid','wbraid','gbraid','fbclid','msclkid'];params.forEach(param=>{const value=getUrlParameter(param);if(value){setCookie(param,value,30)}})}
function populateHiddenFieldsInAllForms(){const forms=document.querySelectorAll('form');const params=['utm_source','utm_medium','utm_campaign','utm_term','utm_content','gclid','wbraid','gbraid','fbclid','msclkid'];
forms.forEach(form=>{params.forEach(param=>{const cookieValue=document.cookie.split('; ').find(row=>row.startsWith(`${param}=`))?.split('=')[1];
if(cookieValue){let hiddenField=form.querySelector(`input[name="${param}"]`);if(!hiddenField){hiddenField=document.createElement('input');hiddenField.type='hidden';hiddenField.name=param;form.appendChild(hiddenField)} hiddenField.value=cookieValue}})})}
storeTrackingParameters();
document.addEventListener('DOMContentLoaded',()=>{populateHiddenFieldsInAllForms();appendTrackingParametersToLinks()})