{
countryCode: 'IE',
placeholder: '+353 00 000 0000',
helpText: 'Include the IE country code +353 before the phone number',
},
{
countryCode: 'IT',
placeholder: '+39 000 000 0000',
helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',
},
];
const selectedPlaceholder = mockPlaceholders.find(function(item) {
return item && item.countryCode === countryCode;
});
return selectedPlaceholder ? selectedPlaceholder.placeholder :
mockPlaceholders[0].placeholder;
}
function updatePlaceholder(countryCode, fieldName) {
if (!countryCode || !fieldName) {
return;
}
const phoneInput = document.querySelector('#mce-' + fieldName);
if (!phoneInput) {
return;
}
const placeholder = getDefaultPlaceholder(countryCode);
if (placeholder) {
phoneInput.placeholder = placeholder;
}
}
function updateCountryCodeInstruction(countryCode, fieldName) {
updatePlaceholder(countryCode, fieldName);
}
function getDefaultHelpText(countryCode) {
var mockPlaceholders = [
{
countryCode: 'US',
placeholder: '+1 000 000 0000',
helpText: 'Include the US country code +1 before the phone number',
},
{
countryCode: 'GB',
placeholder: '+44 0000 000000',
helpText: 'Include the GB country code +44 before the phone number',
},
{
countryCode: 'CA',
placeholder: '+1 000 000 0000',
helpText: 'Include the CA country code +1 before the phone number',
},
{
countryCode: 'AU',
placeholder: '+61 000 000 000',
helpText: 'Include the AU country code +61 before the phone number',
},
{
countryCode: 'DE',
placeholder: '+49 000 0000000',
helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein',
},
{
countryCode: 'FR',
placeholder: '+33 0 00 00 00 00',
helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone',
},
{
countryCode: 'ES',
placeholder: '+34 000 000 000',
helpText: 'Incluya el código de país ES +34 antes del número de teléfono',
},
{
countryCode: 'NL',
placeholder: '+31 0 00000000',
helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer',
},
{
countryCode: 'BE',
placeholder: '+32 000 00 00 00',
helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone',
},
{
countryCode: 'CH',
placeholder: '+41 00 000 00 00',
helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein',
},
{
countryCode: 'AT',
placeholder: '+43 000 000 0000',
helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein',
},
{
countryCode: 'IE',
placeholder: '+353 00 000 0000',
helpText: 'Include the IE country code +353 before the phone number',
},
{
countryCode: 'IT',
placeholder: '+39 000 000 0000',
helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',
},
];
if (!countryCode || typeof countryCode !== 'string') {
return mockPlaceholders[0].helpText;
}
const selectedHelpText = mockPlaceholders.find(function(item) {
return item && item.countryCode === countryCode;
});
return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText;
}
function setDefaultHelpText(countryCode) {
const helpTextSpan = document.querySelector('#help-text');
if (!helpTextSpan) {
return;
}
}
function updateHelpTextCountryCode(countryCode, fieldName) {
if (!countryCode || !fieldName) {
return;
}
setDefaultHelpText(countryCode);
}
function initializeSmsPhoneDropdown(fieldName) {
if (!fieldName || typeof fieldName !== 'string') {
return;
}
const dropdown = document.querySelector('#country-select-' + fieldName);
const displayFlag = document.querySelector('#flag-display-' + fieldName);
if (!dropdown || !displayFlag) {
return;
}
const smsPhoneData = window.MC?.smsPhoneData;
if (smsPhoneData && smsPhoneData.programs &&
Array.isArray(smsPhoneData.programs)) {
dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs);
}
const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode,
smsPhoneData?.programs);
if (defaultProgram && defaultProgram.countryCode) {
dropdown.value = defaultProgram.countryCode;
const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);
if (flagSpan) {
flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode);
flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag');
}
updateSmsLegalText(defaultProgram.countryCode, fieldName);
updatePlaceholder(defaultProgram.countryCode, fieldName);
updateCountryCodeInstruction(defaultProgram.countryCode, fieldName);
}
var smsNotRequiredRemoveCountryCodeEnabled = true;
var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email
Address","helper_text":"","merge_id":0,"type":"email","required":true,"audience_field_name":"Em
ail
Address","field_type":"merge","enabled":true,"order":0},"FNAME":{"name":"FNAME","label":"Firs
t Name","helper_text":"","type":"text","required":true,"audience_field_name":"First
Name","enabled":true,"order":1,"field_type":"merge","merge_id":1},"LNAME":{"name":"LNAME","
label":"Last Name","helper_text":"","type":"text","required":true,"audience_field_name":"Last
Name","enabled":true,"order":2,"field_type":"merge","merge_id":2},"PHONE":{"name":"PHONE",
"label":"Phone
Number","helper_text":"","type":"phone","required":false,"audience_field_name":"Phone
Number","phoneformat":"","enabled":true,"order":3,"field_type":"merge","merge_id":4},"ADDRES
S":{"name":"ADDRESS","label":"Address","helper_text":"","type":"address","required":false,"audi
ence_field_name":"Address","enabled":false,"order":null,"field_type":"merge","merge_id":3,"cou
ntries":{"2":"Albania","3":"Algeria","4":"Andorra","5":"Angola","6":"Argentina","7":"Armenia","8":"A
ustralia","9":"Austria","10":"Azerbaijan","11":"Bahamas","12":"Bahrain","13":"Bangladesh","14":"
Barbados","15":"Belarus","16":"Belgium","17":"Belize","18":"Benin","19":"Bermuda","20":"Bhutan
","21":"Bolivia","22":"Bosnia and
Herzegovina","23":"Botswana","24":"Brazil","25":"Bulgaria","26":"Burkina
Faso","27":"Burundi","28":"Cambodia","29":"Cameroon","30":"Canada","31":"Cape
Verde","32":"Cayman Islands","33":"Central African
Republic","34":"Chad","35":"Chile","36":"China","37":"Colombia","38":"Congo","40":"Croatia","41"
:"Cyprus","42":"Czech
Republic","43":"Denmark","44":"Djibouti","45":"Ecuador","46":"Egypt","47":"El
Salvador","48":"Equatorial
Guinea","49":"Eritrea","50":"Estonia","51":"Ethiopia","52":"Fiji","53":"Finland","54":"France","56":"
Gabon","57":"Gambia","58":"Georgia","59":"Germany","60":"Ghana","61":"Greece","62":"Guam",
"63":"Guinea","64":"Guinea-Bissau","65":"Guyana","66":"Honduras","67":"Hong
Kong","68":"Hungary","69":"Iceland","70":"India","71":"Indonesia","74":"Ireland","75":"Israel","76"
:"Italy","78":"Japan","79":"Jordan","80":"Kazakhstan","81":"Kenya","82":"Kuwait","83":"Kyrgyzsta
n","84":"Lao People's Democratic
Republic","85":"Latvia","86":"Lebanon","87":"Lesotho","88":"Liberia","90":"Liechtenstein","91":"Lit
huania","92":"Luxembourg","93":"Macedonia","94":"Madagascar","95":"Malawi","96":"Malaysia","
97":"Maldives","98":"Mali","99":"Malta","100":"Mauritania","101":"Mexico","102":"Moldova","103":
"Monaco","104":"Mongolia","105":"Morocco","106":"Mozambique","107":"Namibia","108":"Nepal"
,"109":"Netherlands","110":"Netherlands Antilles","111":"New
Zealand","112":"Nicaragua","113":"Niger","114":"Nigeria","116":"Norway","117":"Oman","118":"Pa
kistan","119":"Panama","120":"Paraguay","121":"Peru","122":"Philippines","123":"Poland","124":"
Portugal","126":"Qatar","127":"Reunion","128":"Romania","129":"Russia","130":"Rwanda","132":"
Samoa (Independent)","133":"Saudi Arabia","134":"Senegal","135":"Seychelles","136":"Sierra
Leone","137":"Singapore","138":"Slovakia","139":"Slovenia","140":"Somalia","141":"South
Africa","142":"South Korea","143":"Spain","144":"Sri
Lanka","146":"Suriname","147":"Swaziland","148":"Sweden","149":"Switzerland","152":"Taiwan",
"153":"Tanzania","154":"Thailand","155":"Togo","156":"Tunisia","157":"Turkiye","158":"Turkmenist
an","159":"Uganda","161":"Ukraine","162":"United Arab
Emirates","163":"Uruguay","164":"USA","165":"Uzbekistan","166":"Vatican City State (Holy
See)","167":"Venezuela","168":"Vietnam","169":"Virgin Islands
(British)","170":"Yemen","173":"Zambia","174":"Zimbabwe","175":"Antigua And
Barbuda","176":"Anguilla","178":"American Samoa","179":"Aruba","180":"Brunei
Darussalam","181":"Bouvet Island","183":"Cook Islands","185":"Christmas
Island","187":"Dominican Republic","188":"Western Sahara","189":"Falkland
Islands","191":"Faroe Islands","192":"Grenada","193":"French
Guiana","194":"Gibraltar","195":"Greenland","196":"Guadeloupe","198":"Guatemala","200":"Haiti
","202":"Jamaica","203":"Kiribati","204":"Comoros","205":"Saint Kitts and Nevis","206":"Saint
Lucia","207":"Marshall Islands","208":"Macau","210":"Martinique","212":"Mauritius","213":"New
Caledonia","214":"Norfolk Island","215":"Nauru","217":"Niue","219":"Papua New
Guinea","221":"Pitcairn","222":"Palau","223":"Solomon Islands","225":"Svalbard and Jan Mayen
Islands","227":"San Marino","232":"Tonga","233":"Timor-Leste","234":"Trinidad and
Tobago","235":"Tuvalu","237":"Saint Vincent and the Grenadines","238":"Virgin Islands
(U.S.)","239":"Vanuatu","241":"Mayotte","242":"Myanmar","255":"Sao Tome and
Principe","257":"South Georgia and the South Sandwich Islands","260":"Tajikistan","262":"United
Kingdom","268":"Costa Rica","270":"Guernsey","272":"North
Korea","274":"Afghanistan","275":"Cote D'Ivoire","276":"Cuba","277":"French
Polynesia","278":"Iran","279":"Iraq","281":"Libya","282":"Palestine","285":"Syria","286":"Aaland
Islands","287":"Turks & Caicos Islands","288":"Jersey (Channel
Islands)","289":"Dominica","290":"Montenegro","293":"Sudan","294":"Montserrat","298":"Curaca
o","302":"Sint Maarten","311":"South Sudan","315":"Republic of Kosovo","318":"Congo,
Democratic Republic of the","323":"Isle of Man","324":"Saint Martin","325":"Bonaire, Saint
Eustatius and
Saba","326":"Serbia"},"defaultcountry":164},"BIRTHDAY":{"name":"BIRTHDAY","label":"Birthday
","helper_text":"","type":"birthday","required":false,"audience_field_name":"Birthday","dateformat
":"MM/DD","enabled":false,"order":null,"field_type":"merge","merge_id":5},"COMPANY":{"name":
"COMPANY","label":"Company","helper_text":"","type":"text","required":false,"audience_field_na
me":"Company","enabled":false,"order":null,"field_type":"merge","merge_id":6},"MMERGE7":{"n
ame":"MMERGE7","label":"ID","helper_text":"","type":"number","required":false,"audience_field_
name":"ID","enabled":false,"order":null,"field_type":"merge","merge_id":7},"MMERGE8":{"name":
"MMERGE8","label":"Customer
Type","helper_text":"","type":"text","required":false,"audience_field_name":"Customer
Type","enabled":false,"order":null,"field_type":"merge","merge_id":8},"MMERGE9":{"name":"MM
ERGE9","label":"Customer notifications
enabled","helper_text":"","type":"text","required":false,"audience_field_name":"Customer
notifications
enabled","enabled":false,"order":null,"field_type":"merge","merge_id":9},"MMERGE10":{"name":"
MMERGE10","label":"Customer is
Contractor","helper_text":"","type":"text","required":false,"audience_field_name":"Customer is
Contractor","enabled":false,"order":null,"field_type":"merge","merge_id":10},"MMERGE11":{"nam
e":"MMERGE11","label":"Lifetime
value","helper_text":"","type":"text","required":false,"audience_field_name":"Lifetime
value","enabled":false,"order":null,"field_type":"merge","merge_id":11}}).find(function(f) { return
f.name === fieldName && f.type === 'smsphone'; });
var isRequired = smsField ? smsField.required : false;
var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ?
isRequired : true;
var phoneInput = document.querySelector('#mce-' + fieldName);
if (phoneInput && defaultProgram.countryCallingCode && shouldAppendCountryCode) {
phoneInput.value = defaultProgram.countryCallingCode;
}
displayFlag?.addEventListener('click', function(e) {
dropdown.focus();
});
dropdown?.addEventListener('change', function() {
const selectedCountry = this.value;
if (!selectedCountry || typeof selectedCountry !== 'string') {
return;
}
const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);
if (flagSpan) {
flagSpan.textContent = getCountryUnicodeFlag(selectedCountry);
flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag');
}
const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) {
return program && program.countryCode === selectedCountry;
});
var smsNotRequiredRemoveCountryCodeEnabled = true;
var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email
Address","helper_text":"","merge_id":0,"type":"email","required":true,"audience_field_name":"Em
ail
Address","field_type":"merge","enabled":true,"order":0},"FNAME":{"name":"FNAME","label":"Firs
t Name","helper_text":"","type":"text","required":true,"audience_field_name":"First
Name","enabled":true,"order":1,"field_type":"merge","merge_id":1},"LNAME":{"name":"LNAME","
label":"Last Name","helper_text":"","type":"text","required":true,"audience_field_name":"Last
Name","enabled":true,"order":2,"field_type":"merge","merge_id":2},"PHONE":{"name":"PHONE",
"label":"Phone
Number","helper_text":"","type":"phone","required":false,"audience_field_name":"Phone
Number","phoneformat":"","enabled":true,"order":3,"field_type":"merge","merge_id":4},"ADDRES
S":{"name":"ADDRESS","label":"Address","helper_text":"","type":"address","required":false,"audi
ence_field_name":"Address","enabled":false,"order":null,"field_type":"merge","merge_id":3,"cou
ntries":{"2":"Albania","3":"Algeria","4":"Andorra","5":"Angola","6":"Argentina","7":"Armenia","8":"A
ustralia","9":"Austria","10":"Azerbaijan","11":"Bahamas","12":"Bahrain","13":"Bangladesh","14":"
Barbados","15":"Belarus","16":"Belgium","17":"Belize","18":"Benin","19":"Bermuda","20":"Bhutan
","21":"Bolivia","22":"Bosnia and
Herzegovina","23":"Botswana","24":"Brazil","25":"Bulgaria","26":"Burkina
Faso","27":"Burundi","28":"Cambodia","29":"Cameroon","30":"Canada","31":"Cape
Verde","32":"Cayman Islands","33":"Central African
Republic","34":"Chad","35":"Chile","36":"China","37":"Colombia","38":"Congo","40":"Croatia","41"
:"Cyprus","42":"Czech
Republic","43":"Denmark","44":"Djibouti","45":"Ecuador","46":"Egypt","47":"El
Salvador","48":"Equatorial
Guinea","49":"Eritrea","50":"Estonia","51":"Ethiopia","52":"Fiji","53":"Finland","54":"France","56":"
Gabon","57":"Gambia","58":"Georgia","59":"Germany","60":"Ghana","61":"Greece","62":"Guam",
"63":"Guinea","64":"Guinea-Bissau","65":"Guyana","66":"Honduras","67":"Hong
Kong","68":"Hungary","69":"Iceland","70":"India","71":"Indonesia","74":"Ireland","75":"Israel","76"
:"Italy","78":"Japan","79":"Jordan","80":"Kazakhstan","81":"Kenya","82":"Kuwait","83":"Kyrgyzsta
n","84":"Lao People's Democratic
Republic","85":"Latvia","86":"Lebanon","87":"Lesotho","88":"Liberia","90":"Liechtenstein","91":"Lit
huania","92":"Luxembourg","93":"Macedonia","94":"Madagascar","95":"Malawi","96":"Malaysia","
97":"Maldives","98":"Mali","99":"Malta","100":"Mauritania","101":"Mexico","102":"Moldova","103":
"Monaco","104":"Mongolia","105":"Morocco","106":"Mozambique","107":"Namibia","108":"Nepal"
,"109":"Netherlands","110":"Netherlands Antilles","111":"New
Zealand","112":"Nicaragua","113":"Niger","114":"Nigeria","116":"Norway","117":"Oman","118":"Pa
kistan","119":"Panama","120":"Paraguay","121":"Peru","122":"Philippines","123":"Poland","124":"
Portugal","126":"Qatar","127":"Reunion","128":"Romania","129":"Russia","130":"Rwanda","132":"
Samoa (Independent)","133":"Saudi Arabia","134":"Senegal","135":"Seychelles","136":"Sierra
Leone","137":"Singapore","138":"Slovakia","139":"Slovenia","140":"Somalia","141":"South
Africa","142":"South Korea","143":"Spain","144":"Sri
Lanka","146":"Suriname","147":"Swaziland","148":"Sweden","149":"Switzerland","152":"Taiwan",
"153":"Tanzania","154":"Thailand","155":"Togo","156":"Tunisia","157":"Turkiye","158":"Turkmenist
an","159":"Uganda","161":"Ukraine","162":"United Arab
Emirates","163":"Uruguay","164":"USA","165":"Uzbekistan","166":"Vatican City State (Holy
See)","167":"Venezuela","168":"Vietnam","169":"Virgin Islands
(British)","170":"Yemen","173":"Zambia","174":"Zimbabwe","175":"Antigua And
Barbuda","176":"Anguilla","178":"American Samoa","179":"Aruba","180":"Brunei
Darussalam","181":"Bouvet Island","183":"Cook Islands","185":"Christmas
Island","187":"Dominican Republic","188":"Western Sahara","189":"Falkland
Islands","191":"Faroe Islands","192":"Grenada","193":"French
Guiana","194":"Gibraltar","195":"Greenland","196":"Guadeloupe","198":"Guatemala","200":"Haiti
","202":"Jamaica","203":"Kiribati","204":"Comoros","205":"Saint Kitts and Nevis","206":"Saint
Lucia","207":"Marshall Islands","208":"Macau","210":"Martinique","212":"Mauritius","213":"New
Caledonia","214":"Norfolk Island","215":"Nauru","217":"Niue","219":"Papua New
Guinea","221":"Pitcairn","222":"Palau","223":"Solomon Islands","225":"Svalbard and Jan Mayen
Islands","227":"San Marino","232":"Tonga","233":"Timor-Leste","234":"Trinidad and
Tobago","235":"Tuvalu","237":"Saint Vincent and the Grenadines","238":"Virgin Islands
(U.S.)","239":"Vanuatu","241":"Mayotte","242":"Myanmar","255":"Sao Tome and
Principe","257":"South Georgia and the South Sandwich Islands","260":"Tajikistan","262":"United
Kingdom","268":"Costa Rica","270":"Guernsey","272":"North
Korea","274":"Afghanistan","275":"Cote D'Ivoire","276":"Cuba","277":"French
Polynesia","278":"Iran","279":"Iraq","281":"Libya","282":"Palestine","285":"Syria","286":"Aaland
Islands","287":"Turks & Caicos Islands","288":"Jersey (Channel
Islands)","289":"Dominica","290":"Montenegro","293":"Sudan","294":"Montserrat","298":"Curaca
o","302":"Sint Maarten","311":"South Sudan","315":"Republic of Kosovo","318":"Congo,
Democratic Republic of the","323":"Isle of Man","324":"Saint Martin","325":"Bonaire, Saint
Eustatius and
Saba","326":"Serbia"},"defaultcountry":164},"BIRTHDAY":{"name":"BIRTHDAY","label":"Birthday
","helper_text":"","type":"birthday","required":false,"audience_field_name":"Birthday","dateformat
":"MM/DD","enabled":false,"order":null,"field_type":"merge","merge_id":5},"COMPANY":{"name":
"COMPANY","label":"Company","helper_text":"","type":"text","required":false,"audience_field_na
me":"Company","enabled":false,"order":null,"field_type":"merge","merge_id":6},"MMERGE7":{"n
ame":"MMERGE7","label":"ID","helper_text":"","type":"number","required":false,"audience_field_
name":"ID","enabled":false,"order":null,"field_type":"merge","merge_id":7},"MMERGE8":{"name":
"MMERGE8","label":"Customer
Type","helper_text":"","type":"text","required":false,"audience_field_name":"Customer
Type","enabled":false,"order":null,"field_type":"merge","merge_id":8},"MMERGE9":{"name":"MM
ERGE9","label":"Customer notifications
enabled","helper_text":"","type":"text","required":false,"audience_field_name":"Customer
notifications
enabled","enabled":false,"order":null,"field_type":"merge","merge_id":9},"MMERGE10":{"name":"
MMERGE10","label":"Customer is
Contractor","helper_text":"","type":"text","required":false,"audience_field_name":"Customer is
Contractor","enabled":false,"order":null,"field_type":"merge","merge_id":10},"MMERGE11":{"nam
e":"MMERGE11","label":"Lifetime
value","helper_text":"","type":"text","required":false,"audience_field_name":"Lifetime
value","enabled":false,"order":null,"field_type":"merge","merge_id":11}}).find(function(f) { return
f.name === fieldName && f.type === 'smsphone'; });
var isRequired = smsField ? smsField.required : false;
var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ?
isRequired : true;
var phoneInput = document.querySelector('#mce-' + fieldName);
if (phoneInput && selectedProgram.countryCallingCode && shouldAppendCountryCode) {
phoneInput.value = selectedProgram.countryCallingCode;
}
updateSmsLegalText(selectedCountry, fieldName);
updatePlaceholder(selectedCountry, fieldName);
updateCountryCodeInstruction(selectedCountry, fieldName);
});
}
document.addEventListener('DOMContentLoaded', function() {
const smsPhoneFields = document.querySelectorAll('[id^="country-select-"]');
smsPhoneFields.forEach(function(dropdown) {
const fieldName = dropdown?.id.replace('country-select-', '');
initializeSmsPhoneDropdown(fieldName);
});
});