// v2
var INTERVAL_DELAY = 100;
var MAX_INTERVAL_ITERATIONS = 150; // 15s at 100ms intervals
var FORM_ID = 'myDynamicForm';
var rfLocale = window.rfLocale || { lang: 'en', region: 'US' };
// Only set the initial NC value once.
var initialNCValueSet = false
var countryOptInMap = {
AF: { email: 'opt-out', },
AI: { email: 'opt-out', },
AG: { email: 'opt-out', },
AL: { email: 'opt-out', },
DZ: { email: 'opt-out', },
AS: { email: 'opt-out', },
AD: { email: 'opt-out', },
AO: { email: 'opt-out', },
AR: { email: 'opt-out', },
AM: { email: 'opt-out', },
AW: { email: 'opt-out', },
AU: { email: 'opt-in', },
AT: { email: 'opt-in', },
AZ: { email: 'opt-out', },
BS: { email: 'opt-out', },
BH: { email: 'opt-out', },
BD: { email: 'opt-out', },
BB: { email: 'opt-out', },
BY: { email: 'opt-out', },
BE: { email: 'opt-in', },
BZ: { email: 'opt-out', },
BJ: { email: 'opt-out', },
BM: { email: 'opt-out', },
BT: { email: 'opt-out', },
BO: { email: 'opt-out', },
BA: { email: 'opt-in', },
BW: { email: 'opt-out', },
BV: { email: 'opt-in', },
BR: { email: 'opt-in', },
VG: { email: 'opt-out', },
IO: { email: 'opt-in', },
BN: { email: 'opt-out', },
BG: { email: 'opt-in', },
BF: { email: 'opt-out', },
BI: { email: 'opt-out', },
KH: { email: 'opt-out', },
CM: { email: 'opt-out', },
CA: { email: 'opt-in', },
CV: { email: 'opt-out', },
KY: { email: 'opt-out', },
CF: { email: 'opt-out', },
TD: { email: 'opt-out', },
CL: { email: 'opt-out', },
CN: { email: 'opt-out', },
CX: { email: 'opt-out', },
CC: { email: 'opt-out', },
CO: { email: 'opt-out', },
KM: { email: 'opt-out', },
CG: { email: 'opt-out', },
CD: { email: 'opt-out', },
CK: { email: 'opt-out', },
CR: { email: 'opt-out', },
HR: { email: 'opt-in', },
CY: { email: 'opt-in', },
CZ: { email: 'opt-in', },
DK: { email: 'opt-in', },
DJ: { email: 'opt-out', },
DM: { email: 'opt-out', },
DO: { email: 'opt-out', },
EC: { email: 'opt-out', },
EG: { email: 'opt-out', },
SV: { email: 'opt-out', },
GQ: { email: 'opt-out', },
ER: { email: 'opt-out', },
EE: { email: 'opt-in', },
ET: { email: 'opt-out', },
FK: { email: 'opt-out', },
FO: { email: 'opt-in', },
FJ: { email: 'opt-out', },
FI: { email: 'opt-in', },
FR: { email: 'opt-in', },
GF: { email: 'opt-in', },
PF: { email: 'opt-out', },
TF: { email: 'opt-out', },
GA: { email: 'opt-out', },
GM: { email: 'opt-out', },
GE: { email: 'opt-out', },
DE: { email: 'opt-in', },
GH: { email: 'opt-out', },
GI: { email: 'opt-out', },
GR: { email: 'opt-in', },
GL: { email: 'opt-in', },
GD: { email: 'opt-out', },
GP: { email: 'opt-in', },
GU: { email: 'opt-out', },
GT: { email: 'opt-out', },
GG: { email: 'opt-in', },
GN: { email: 'opt-out', },
GW: { email: 'opt-out', },
GY: { email: 'opt-out', },
HT: { email: 'opt-out', },
HM: { email: 'opt-out', },
VA: { email: 'opt-out', },
HN: { email: 'opt-out', },
HK: { email: 'opt-out', },
HU: { email: 'opt-in', },
IS: { email: 'opt-in', },
IN: { email: 'opt-out', },
ID: { email: 'opt-out', },
IR: { email: 'opt-in', },
IQ: { email: 'opt-out', },
IE: { email: 'opt-in', },
IM: { email: 'opt-in', },
IL: { email: 'opt-out', },
IT: { email: 'opt-in', },
CI: { email: 'opt-out', },
JM: { email: 'opt-out', },
JP: { email: 'opt-out', },
JE: { email: 'opt-in', },
JO: { email: 'opt-out', },
KZ: { email: 'opt-out', },
KE: { email: 'opt-out', },
KI: { email: 'opt-out', },
KR: { email: 'opt-out', },
KW: { email: 'opt-out', },
KG: { email: 'opt-out', },
LA: { email: 'opt-out', },
LV: { email: 'opt-in', },
LB: { email: 'opt-out', },
LS: { email: 'opt-out', },
LR: { email: 'opt-out', },
LY: { email: 'opt-out', },
LI: { email: 'opt-in', },
LT: { email: 'opt-in', },
LU: { email: 'opt-in', },
MO: { email: 'opt-out', },
MK: { email: 'opt-out', },
MG: { email: 'opt-out', },
MW: { email: 'opt-out', },
MY: { email: 'opt-out', },
MV: { email: 'opt-out', },
ML: { email: 'opt-out', },
MT: { email: 'opt-in', },
MH: { email: 'opt-out', },
MQ: { email: 'opt-in', },
MR: { email: 'opt-out', },
MU: { email: 'opt-out', },
YT: { email: 'opt-in', },
MX: { email: 'opt-out', },
FM: { email: 'opt-out', },
MD: { email: 'opt-out', },
MC: { email: 'opt-out', },
MN: { email: 'opt-out', },
ME: { email: 'opt-out', },
MS: { email: 'opt-out', },
MA: { email: 'opt-out', },
MZ: { email: 'opt-out', },
MM: { email: 'opt-out', },
NA: { email: 'opt-out', },
NR: { email: 'opt-out', },
NP: { email: 'opt-out', },
NL: { email: 'opt-in', },
NC: { email: 'opt-out', },
NZ: { email: 'opt-in', },
NI: { email: 'opt-out', },
NE: { email: 'opt-out', },
NG: { email: 'opt-out', },
NU: { email: 'opt-out', },
NF: { email: 'opt-out', },
MP: { email: 'opt-out', },
NO: { email: 'opt-in', },
OM: { email: 'opt-out', },
PK: { email: 'opt-out', },
PW: { email: 'opt-out', },
PS: { email: 'opt-out', },
PA: { email: 'opt-out', },
PG: { email: 'opt-out', },
PY: { email: 'opt-out', },
PE: { email: 'opt-out', },
PH: { email: 'opt-out', },
PN: { email: 'opt-in', },
PL: { email: 'opt-in', },
PT: { email: 'opt-in', },
PR: { email: 'opt-out', },
QA: { email: 'opt-out', },
RE: { email: 'opt-in', },
RO: { email: 'opt-in', },
RU: { email: 'opt-in', },
RW: { email: 'opt-out', },
KN: { email: 'opt-out', },
ST: { email: 'opt-out', },
SH: { email: 'opt-in', },
LC: { email: 'opt-out', },
VC: { email: 'opt-out', },
PM: { email: 'opt-out', },
SR: { email: 'opt-out', },
WS: { email: 'opt-out', },
SM: { email: 'opt-out', },
SA: { email: 'opt-out', },
SN: { email: 'opt-out', },
RS: { email: 'opt-out', },
SC: { email: 'opt-out', },
SL: { email: 'opt-out', },
SG: { email: 'opt-out', },
SK: { email: 'opt-in', },
SI: { email: 'opt-in', },
SB: { email: 'opt-out', },
SO: { email: 'opt-out', },
ZA: { email: 'opt-out', },
GS: { email: 'opt-in', },
ES: { email: 'opt-in', },
LK: { email: 'opt-out', },
SJ: { email: 'opt-in', },
SZ: { email: 'opt-out', },
SE: { email: 'opt-in', },
CH: { email: 'opt-in', },
TW: { email: 'opt-out', },
TJ: { email: 'opt-out', },
TZ: { email: 'opt-out', },
TH: { email: 'opt-out', },
TL: { email: 'opt-out', },
TG: { email: 'opt-out', },
TK: { email: 'opt-out', },
TO: { email: 'opt-out', },
TN: { email: 'opt-out', },
TT: { email: 'opt-out', },
TR: { email: 'opt-out', },
TM: { email: 'opt-out', },
TC: { email: 'opt-out', },
TV: { email: 'opt-out', },
UG: { email: 'opt-out', },
UA: { email: 'opt-out', },
AE: { email: 'opt-out', },
GB: { email: 'opt-in', },
US: { email: 'opt-out', },
UY: { email: 'opt-out', },
UZ: { email: 'opt-out', },
VU: { email: 'opt-out', },
VE: { email: 'opt-out', },
VN: { email: 'opt-out', },
VI: { email: 'opt-out', },
WF: { email: 'opt-out', },
EH: { email: 'opt-out', },
YE: { email: 'opt-out', },
ZM: { email: 'opt-in', },
ZW: { email: 'opt-in', },
};
function setCheckbox(box, value) {
if ((box.checked && !value) || (!box.checked && value))
box.click()
}
function applyNoticeChoice(e) {
var selectedCountry = e.target.value;
var notifyMeBox = document.getElementById('1665429917621001GQON');
var doNotNotifyMeBox = document.getElementById('1665429917621001GQONv');
var countryDefaults = countryOptInMap[selectedCountry] || {
email: '',
phone: '',
};
setTimeout(function () {
switch (countryDefaults.email) {
case 'opt-in':
setCheckbox(notifyMeBox, false);
setCheckbox(doNotNotifyMeBox, false);
break;
case 'opt-out':
setCheckbox(notifyMeBox, true);
setCheckbox(doNotNotifyMeBox, false);
break;
}
})
}
/**
* options: {
* enableLogs: Boolean,
* intervalFrequency: Number,
* logIdentifier: String,
* maxIterations: Number,
* onSuccess: () => void,
* successCheck: () => Boolean,
* }
*/
function waitForX(options) {
var log = function log() {
if (options.enableLogs)
console.log.apply(console, arguments)
}
var logSuffix = options.logIdentifier ? ' -- [' + options.logIdentifier + ']' : ''
var intervalFrequency = options.intervalFrequency || 100
var maxIterations = options.maxIterations || 100
// Do 1 immediate check before the interval starts.
if (options.successCheck()) {
log('SUCCESS (immediate), no interval needed' + logSuffix)
options.onSuccess()
return;
}
log('every ' + intervalFrequency + 'ms, for ' + intervalFrequency * maxIterations + 'ms' + logSuffix)
var iterations = 0
var waitTimer = window.setInterval(function () {
if (options.successCheck.apply(options)) {
log('SUCCESS, waited: ' + ((iterations + 1) * intervalFrequency) + 'ms (' + (iterations + 1) + ' iterations)' + logSuffix)
options.onSuccess.apply(options)
window.clearInterval(waitTimer);
log('cleared interval' + logSuffix)
}
if (iterations >= maxIterations) {
log('TIMED OUT' + logSuffix)
// Safety net to ensure this interval won't run forever.
window.clearInterval(waitTimer)
log('cleared interval' + logSuffix)
}
iterations++
}, options.intervalFrequency)
}
if (data.page !== null) {
//Modified so this will run for all places in which the Global Opt-In attribute will run.
//(data.page === 'contactInfo' || data.page === 'createaccount' || data.page === 'attendeeInfo' ||data.page ==='attendeepage2') {
waitForX({
intervalFrequency: INTERVAL_DELAY,
maxIterations: MAX_INTERVAL_ITERATIONS,
onSuccess: function () {
var countrySelectBox = document.querySelector('#formAttendee-countryId');
if (countrySelectBox) {
if (!initialNCValueSet) {
initialNCValueSet = true
applyNoticeChoice({ target: countrySelectBox })
}
countrySelectBox.addEventListener('change', applyNoticeChoice);
}
},
successCheck: function () {
return document.querySelector('#' + FORM_ID);
},
});
}
window.dataLayer = window.dataLayer || [];
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-PJNPLP7');
window.dataLayer = window.dataLayer || [];
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-PJNPLP7');