/** * eData v1.0.2 */ // URL parameters function urlParams(qs) { qs = qs.split('+').join(' '); var params = {}, tokens, re = /[?&]?([^=]+)=([^&]*)/g; while (tokens = re.exec(qs)) { params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]); } return params; } var q = urlParams(document.location.search); var eStoreData = { effortId: q.eid ? q.eid : '', campaignId: q.cid ? q.cid : '', assetId: q.assetId ? q.assetId : '', offerChainId: q.oid ? q.oid : '', encryptedSnaid: '', loaded: {} } // Get values from `globalStoreData` if (typeof globalStoreData !== 'undefined') { eStoreData.assetId = globalStoreData.assetId ? globalStoreData.assetId : ''; eStoreData.offerChainId = globalStoreData.site && globalStoreData.site.offerChainId ? globalStoreData.site.offerChainId : ''; eStoreData.encryptedSnaid = globalStoreData.encryptedSnaid ? globalStoreData.encryptedSnaid : ''; } // If `encryptedSnaid` is in the query string, get value from there // and replace any spaces with plus signs var replaceSpace = new RegExp(' ', 'g'); if (q.encryptedSnaid) eStoreData.encryptedSnaid = decodeURIComponent(q.encryptedSnaid).replace(replaceSpace, '+'); var tParams = { cid: eStoreData.campaignId, eid: eStoreData.effortId, oid: eStoreData.offerChainId, encryptedSnaid: eStoreData.encryptedSnaid, }; // Delete empty keys from `tParams` object for (let key in tParams) tParams[key] == '' && delete tParams[key] // paramsString = Object.keys(tParams).map(key => key + '=' + tParams[key]).join('&'); paramsString = Object.keys(tParams).map(function(key) { return key + '=' + tParams[key] }).join('&'); // Business units var eBrandId = ''; var eUnit = eUnit ? eUnit : ''; var eUnits = { // Brownstone Research br: { abbr: 'br', id: 2010, brand: 'Brownstone Research', legal: 'Brownstone Research', mailing: '1125 N Charles St, Baltimore, MD 21201', gtm: 'GTM-PG5533JP', phones: { frontend: '888-493-3156', backend: '888-512-0726', webinar: '888-344-8038', mega: '', special: '888-344-8038', shortcodes: { m: '94703', t: '', }, }, // SMS campaign name scn: { m: 'BSR', t: '', }, domain: 'brownstoneresearch.com' }, // Opportunistic Trader ot: { abbr: 'ot', id: 2006, brand: 'Opportunistic Trader', legal: 'Omnia Research, LLC', mailing: '55 NE 5th Ave, Delray Beach, FL 33483', gtm: 'GTM-53D24JRM', phones: { frontend: '888-206-3481', backend: '888-208-6550', webinar: '888-502-8152', mega: '', special: '888-502-8152', shortcodes: { m: '94703', t: '', }, }, // SMS campaign name scn: { m: 'OPT', t: '', }, domain: 'opportunistictrader.com' }, } // DSAR (Do Not Sell My Info) links var dsarUrl = 'https://my.datasubject.com/AzydZ7TEJc3cu8mk6/'; eUnits.br.dsar = dsarUrl + '41535'; eUnits.ot.dsar = dsarUrl + '45943 '; function eData(unit) { // Business unit and brand ID eUnit = eUnits[unit]; eBrandId = eUnits[unit].id; // eStoreData.brandInfo = eUnits[unit]; function textContents(eUnit) { // CSS class labels var cssClassLabels = document.querySelectorAll('[class^=e-text-]'); for (let i = 0; i < cssClassLabels.length; i++) { // Remove unnecessary CSS classes let label = cssClassLabels[i].className.toString().split(/\s+/); label = label.filter(function(item) { return item.indexOf("e-text-") === 0; }); label = label.toString().replace('e-text-', ''); // Apply text content let textItems = document.querySelectorAll('.e-text-' + label); if (textItems) { for (let i = 0; i < textItems.length; i++) { let content = eUnit[label]; let contentType = textItems[i].getAttribute('data-type'); content = contentType ? eUnit[label][contentType] : eUnit[label]; textItems[i].textContent = content; } } } } textContents(eUnit); // Phone numbers var phoneNumberEls = document.querySelectorAll('.e-phone-number'); if (phoneNumberEls) { for (let i = 0; i < phoneNumberEls.length; i++) { var phoneBrand = phoneNumberEls[i].getAttribute('data-brand') ? phoneNumberEls[i].getAttribute('data-brand') : eUnit.abbr; var phoneType = phoneNumberEls[i].getAttribute('data-type'); var phoneNumber = eUnits[phoneBrand].phones.backend; if (phoneType) { phoneNumber = eUnits[phoneBrand].phones[phoneType]; if (phoneType.includes('shortcode')) { var shortcodeType = phoneType.substring(10); phoneNumber = eUnit.phones.shortcodes[shortcodeType]; } } phoneNumberEls[i].textContent = phoneNumber; // Phone number links var phoneLinkEls = document.querySelectorAll('.e-phone-link'); if (phoneLinkEls) { for (let i = 0; i < phoneLinkEls.length; i++) { var phoneLink = 'tel:+1' + phoneNumber.replace(/-/g, ""); phoneLinkEls[i].setAttribute('href', phoneLink); } } } } // Links var linkEls = document.querySelectorAll('.e-link'); if (linkEls) { for (let i = 0; i < linkEls.length; i++) { var linkPath = linkEls[i].getAttribute('data-path'); var link = 'https://www.' + eUnit.domain; if (linkPath) { if (linkPath.indexOf('account') !== -1) { link = 'https://members.' + eUnit.domain + linkPath; } else if (linkPath.indexOf('do-not-sell') !== -1) { link = eUnit.dsar; } else { link = 'https://www.' + eUnit.domain + linkPath; } } linkEls[i].setAttribute('href', link); } } // Logos var logoEls = document.querySelectorAll('.e-img-logo'); if (logoEls) { for (let i = 0; i < logoEls.length; i++) { // Image src and variants var logoBrand = logoEls[i].getAttribute('data-brand') ? logoEls[i].getAttribute('data-brand') : eUnit.abbr; var logoVariant = logoEls[i].getAttribute('data-variant'); var logoPub = logoEls[i].getAttribute('data-pub'); var logoLink = 'https://d3t4gzjyl7evuc.cloudfront.net/_/logos/1.0.0/logo-' + logoBrand + '-' + logoVariant + '.svg'; if (logoPub) logoLink = 'https://d3t4gzjyl7evuc.cloudfront.net/_/logos/1.0.0/logo-' + logoBrand+ '-' + logoPub + '-' + logoVariant + '.svg'; logoEls[i].setAttribute('src', logoLink); // Image CSS classes var logoClasses = {}; logoClasses.brand = 'e-img-brand-' + logoBrand; if (logoPub) logoClasses.pub = 'e-img-pub-' + logoBrand + '-' + logoPub; var logoClassesString = Object.keys(logoClasses).map(function(key) { return logoClasses[key] }); logoEls[i].classList.add(...logoClassesString); } } // Additional images for smaller screen sizes var logoMultiEls = document.querySelectorAll('.e-img-logo-multi'); if (logoMultiEls) { for (let i = 0; i < logoMultiEls.length; i++) { // Image src and variants var logoBrand = logoEls[i].getAttribute('data-brand') ? logoEls[i].getAttribute('data-brand') : eUnit.abbr; var logoVariantSm = logoMultiEls[i].getAttribute('data-variant-sm'); var logoHtml = ''; logoMultiEls[i].classList.add('d-none', 'd-md-inline-block'); logoMultiEls[i].insertAdjacentHTML('afterend', logoHtml); // Image CSS classes var logoSmEls = document.querySelectorAll('.e-img-logo-sm'); for (let i = 0; i < logoSmEls.length; i++) { logoSmEls[i].classList.add('e-img-brand-' + logoBrand + '-sm'); } } } // Current year var currentYear = new Date().getFullYear(); var currentYearEls = document.querySelectorAll('.e-current-year'); if (currentYearEls) { for (let i = 0; i < currentYearEls.length; i++) { currentYearEls[i].textContent = currentYear; } } // Campaign ID (CID) var cidEls = document.querySelectorAll('.e-cid'); if (cidEls) { for (let i = 0; i < cidEls.length; i++) { cidEls[i].textContent = eStoreData.campaignId; } } // Disclosures link var ddLinkEls = document.querySelectorAll('.e-link-disclosures'); if (ddLinkEls) { for (let i = 0; i < ddLinkEls.length; i++) { var ddLink = ddLinkEls[i].getAttribute('href'); ddLinkEls[i].setAttribute('href', ddLink + '&referrerEffort=' + eStoreData.effortId + '&referrerAssetId=' + eStoreData.assetId); } } // Link parameters var $eLinkParams = $('.e-link-params'); var $eLinkParamsUrl = $eLinkParams.attr('href') + '?' + paramsString; if ($eLinkParams) $eLinkParams.attr('href', $eLinkParamsUrl); } // Views if (localStorage.getItem('eViews') === null) { localStorage.setItem('eViews', 1); } else { var eCurrentViews = parseInt(localStorage.getItem('eViews'), 10); localStorage.setItem('eViews', eCurrentViews + 1); } var eViewCount = localStorage.getItem('eViews'); if (debug) console.log(`Views: ${eViewCount}`);