function mStaxSession() { var sess = localStorage.getItem("sess"); if (!sess) { // Get a New Session ID localStorage.setItem("sess", "xrxhHGsElGSGWG00NODiiqLFhURb0TiCwKDDah5y") return "xrxhHGsElGSGWG00NODiiqLFhURb0TiCwKDDah5y" } return sess; } function checkLocalStorageItem(name) { return localStorage.getItem(name); } function checkSessionStorageItem(name) { sessionVar = sessionStorage.getItem(name); console.log("sessionVar", sessionVar) return sessionVar } function getParameterByName(name, url = window.location.href) { name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); } function mStaxInit(id) { let attr = {} attr.mktgs = getParameterByName('utm_medium'); attr.mktgss = getParameterByName('utm_source'); attr.mktgc = getParameterByName('utm_campaign'); attr.mktgcn = getParameterByName('utm_content'); if(!attr.mktgs) { let xhr = new XMLHttpRequest(); xhr.open("GET", "https://marketingstax.com/api/ms?ref=" + document.referrer, true); xhr.send(); xhr.onload = function(attr) { if (xhr.status != 200) { // ToDo:: handle any errors } else { // Set source and medium variables. let res = JSON.parse(xhr.response); attr.mktgs = res.medium; attr.mktgss = res.source; } attr.mktgc = "(not set)"; attr.mktgcn = "(not set)"; attr.mktglp = window.location.href; trafficStorage(attr) }; } else { console.log("feb9 - no", attr) trafficStorage(attr) } } function trafficStorage(attr) { console.log(attr) if(!checkLocalStorageItem("ft_mktgs")) { for (const [key, value] of Object.entries(attr)) { if(key != 'isTrusted') { localStorage.setItem("ft_" + key, value) }; console.log(`${key}: ${value}`); } } currentPage = window.location.host if(attr.mktgss.indexOf(currentPage) == -1) { console.log("set lt", currentPage, attr.mktgss.indexOf(currentPage)) for (const [key, value] of Object.entries(attr)) { if(key != 'isTrusted') { sessionStorage.setItem("lt_" + key, value) }; console.log(`${key}: ${value}`); } } checkForFormField(); } /* We should consider offer FT/LT in localStorage. - Capture the Traffic Driver + Landing Page that brought the user to site - */ function checkForFormField() { var rType = 'auto'; formField = document.getElementById('mstaxSess'); if(formField) { // Add Conversion Point Here. formField.setAttribute('value',localStorage.getItem('sess')); if(rType == "auto") { ft_mktgsField = localStorage.getItem('ft_mktgs'); ft_mktgssField = localStorage.getItem('ft_mktgss'); ft_mktgcField = localStorage.getItem('ft_mktgc'); ft_mktgcnField = localStorage.getItem('ft_mktgcn'); ft_mktglpField = localStorage.getItem('ft_mktglp'); lt_mktgsField = sessionStorage.getItem('lt_mktgs'); lt_mktgssField = sessionStorage.getItem('lt_mktgss'); lt_mktgcField = sessionStorage.getItem('lt_mktgc'); lt_mktgcnField = sessionStorage.getItem('lt_mktgcn'); lt_mktglpField = sessionStorage.getItem('lt_mktglp'); addNewField(formField.form.id, "lt_mktgs", lt_mktgsField); addNewField(formField.form.id, "lt_mktgss", lt_mktgssField); addNewField(formField.form.id, "lt_mktgc", lt_mktgcField); addNewField(formField.form.id, "lt_mktgcn", lt_mktgcnField); addNewField(formField.form.id, "lt_mktglp", lt_mktglpField); addNewField(formField.form.id, "lt_mktgcp", window.location.href); addNewField(formField.form.id, "ft_mktgs", ft_mktgsField); addNewField(formField.form.id, "ft_mktgss", ft_mktgssField); addNewField(formField.form.id, "ft_mktgc", ft_mktgcField); addNewField(formField.form.id, "ft_mktgcn", ft_mktgcnField); addNewField(formField.form.id, "ft_mktglp", ft_mktglpField); } } else { console.log("Form Field Does Not Exist"); } } function addNewField(form, fieldKey, fieldValue) { var div = document.createElement("div"); var br = document.createElement("br"); var form = document.getElementById(form); var newField = document.createElement('input'); newField.setAttribute('type','text'); newField.setAttribute('name', fieldKey); newField.setAttribute('class', 'form-control') newField.setAttribute('value',fieldValue); let header = document.createElement("label"); header.setAttribute('class', 'attrLabel'); // the text inside the h2 element let headerText = document.createTextNode(fieldKey); header.append(headerText); div.append(header); div.append(br); div.append(newField); form.appendChild(div); } function mstaxPop(field) { var field = document.getElementById(field); field.setAttribute('value', localStorage.getItem(field)); } /* function clickListener(e) { arrayWithElements = [] console.log(window.event) var clickedElement=(window.event) ? window.event.srcElement : e.target, tags=document.getElementsByTagName(clickedElement.tagName); for(var i=0;i < tags.length;++i) { if(tags[i]==clickedElement) { arrayWithElements.push({tag:clickedElement.tagName,index:i}); console.log(arrayWithElements); } } } document.onclick = clickListener; */