

Din Mixing Guide
]*>/gi, ‘ ‘) .replace(blockWrapperRegex, ”) : program.requiredTemplate.replace(divRegex, ”); legalTextElement.textContent = ”; const parts = template.split(/(.*?)/g); parts.forEach(function(part) { if (!part) { return; } const anchorMatch = part.match(/(.*?)/); if (anchorMatch) { const linkElement = document.createElement(‘a’); linkElement.href = sanitizeUrl(anchorMatch[1]); linkElement.target = sanitizeHtml(anchorMatch[2]); linkElement.textContent = sanitizeHtml(anchorMatch[3]); legalTextElement.appendChild(linkElement); } else { legalTextElement.appendChild(document.createTextNode(part)); } }); } function generateDropdownOptions(smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return ”; } var programs = false ? smsProgramData.filter(function(p, i, arr) { return arr.findIndex(function(q) { return q.countryCode === p.countryCode; }) === i; }) : smsProgramData; return programs.map(program => { const flag = getCountryUnicodeFlag(program.countryCode); const countryName = getCountryName(program.countryCode); const callingCode = program.countryCallingCode || ”; // Sanitize all values to prevent XSS const sanitizedCountryCode = sanitizeHtml(program.countryCode || ”); const sanitizedCountryName = sanitizeHtml(countryName || ”); const sanitizedCallingCode = sanitizeHtml(callingCode || ”); return ” + sanitizedCountryName + ‘ ‘ + sanitizedCallingCode + ”’; }).join(”); } function getCountryName(countryCode) { if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) { for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) { if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) { return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name; } } } return countryCode; } function getDefaultPlaceholder(countryCode) { if (!countryCode || typeof countryCode !== 'string') { return '+1 000 000 0000'; // Standard US placeholder } var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Inkluder det amerikanske landekode +1 før telefonnummeret', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Inkluder det britiske landekode +44 før telefonnummeret', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Inkluder det canadiske landekode +1 før telefonnummeret', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Inkluder det australske landekode +61 før telefonnummeret', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Inkluder det tyske landekode +49 før telefonnummeret', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Inkluder det franske landekode +33 før telefonnummeret', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Inkluder det spanske landekode +34 før telefonnummeret', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Inkluder det nederlandske landekode +31 før telefonnummeret', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Inkluder det belgiske landekode +32 før telefonnummeret', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Inkluder det schweiziske landekode +41 før telefonnummeret', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Inkluder det østrigske landekode +43 før telefonnummeret', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Inkluder det irske landekode +353 før telefonnummeret', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Inkluder det italienske landekode +39 før telefonnummeret', }, ]; 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: 'Inkluder det amerikanske landekode +1 før telefonnummeret', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Inkluder det britiske landekode +44 før telefonnummeret', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Inkluder det canadiske landekode +1 før telefonnummeret', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Inkluder det australske landekode +61 før telefonnummeret', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Inkluder det tyske landekode +49 før telefonnummeret', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Inkluder det franske landekode +33 før telefonnummeret', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Inkluder det spanske landekode +34 før telefonnummeret', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Inkluder det nederlandske landekode +31 før telefonnummeret', }, { yCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Tilføj CH-landekoden +41 før telefonnummeret', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Tilføj AT-landekoden +43 før telefonnummeret', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Tilføj IE-landekoden +353 før telefonnummeret', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Tilføj IT-landekoden +39 før telefonnummeret', }, ]; 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":"E-mail-adresse","helper_text":"","type":"email","required":true,"audience_field_name":"E-mail-adresse","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"Fornavn","helper_text":"","type":"text","required":false,"audience_field_name":"Fornavn","enabled":true,"order":1,"field_type":"merge","merge_id":1},"LNAME":{"name":"LNAME","label":"Efternavn","helper_text":"","type":"text","required":false,"audience_field_name":"Efternavn","enabled":true,"order":2,"field_type":"merge","merge_id":2},"ADDRESS":{"name":"ADDRESS","label":"Adresse","helper_text":"","type":"address","required":false,"audience_field_name":"Adresse","enabled":false,"order":null,"field_type":"merge","merge_id":3,"countries":{"2":"Albanien","3":"Algeriet","4":"Andorra","5":"Angola","6":"Argentina","7":"Armenien","8":"Australien","9":"Østrig","10":"Aserbajdsjan","11":"Bahamas","12":"Bahrain","13":"Bangladesh","14":"Barbados","15":"Hviderusland","16":"Belgien","17":"Belize","18":"Benin","19":"Bermuda","20":"Bhutan","21":"Bolivia","22":"Bosnien-Hercegovina","23":"Botswana","24":"Brasilien","25":"Bulgarien","26":"Burkina Faso","27":"Burundi","28":"Cambodja","29":"Camerun","30":"Canada","31":"Cape Verde","32":"Caymanøerne","33":"Den Centralafrikanske Republik","34":"Chad","35":"Chile","36":"Kina","37":"Colombia","38":"Congo","40":"Kroatien","41":"Cypern","42":"Tjekkiet","43":"Danmark","44":"Djibouti","45":"Ecuador","46":"Egypten","47":"El Salvador","48":"Ækvatorialguinea","49":"Eritrea","50":"Estland","51":"Etiopien","52":"Fiji","53":"Finland","54":"Frankrig","56":"Gabon","57":"Gambia","58":"Georgien","59":"Tyskland","60":"Ghana","61":"Grækenland","62":"Guam","63":"Guinea","64":"Guinea-Bissau","65":"Guyana","66":"Honduras","67":"Hongkong","68":"Ungarn","69":"Island","70":"Indien","71":"Indonesien","74":"Irland","75":"Israel","76":"Italien","78":"Japan","79":"Jordan","80":"Kasakhstan","81":"Kenya","82":"Kuwait","83":"Kirgisistan","84":"Laos","85":"Letland","86":"Libanon","87":"Lesotho","88":"Liberia","90":"Liechtenstein","91":"Litauen","92":"Luxembourg","93":"Nordmakedonien","94":"Madagaskar","95":"Malawi","96":"Malaysia","97":"Maldiverne","98":"Mali","99":"Malta","100":"Mauretanien","101":"Mexico","102":"Moldova","103":"Monaco","104":"Mongoliet","105":"Marokko","106":"Mozambique","107":"Namibia","108":"Nepal","109":"Holland","110":"De Nederlandske Antiller","111":"New Zealand","112":"Nicaragua","113":"Niger","114":"Nigeria","116":"Norge","117":"Oman","118":"Pakistan","119":"Panama","120":"Paraguay",ArrayneInput.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":"E-mail-adresse","helper_text":"","type":"email","required":true,"audience_field_name":"E-mail-adresse","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"Fornavn","helper_text":"","type":"text","required":false,"audience_field_name":"Fornavn","enabled":true,"order":1,"field_type":"merge","merge_id":1},"LNAME":{"name":"LNAME","label":"Efternavn","helper_text":"","type":"text","required":false,"audience_field_name":"Efternavn","enabled":true,"order":2,"field_type":"merge","merge_id":2},"ADDRESS":{"name":"ADDRESS","label":"Adresse","helper_text":"","type":"address","required":false,"audience_field_name":"Adresse","enabled":false,"order":null,"field_type":"merge","merge_id":3,"countries":{"2":"Albanien","3":"Algeriet","4":"Andorra","5":"Angola","6":"Argentina","7":"Armenien","8":"Australien","9":"Østrig","10":"Aserbajdsjan","11":"Bahamas","12":"Bahrain","13":"Bangladesh","14":"Barbados","15":"Hviderusland","16":"Belgien","17":"Belize","18":"Benin","19":"Bermuda","20":"Bhutan","21":"Bolivia","22":"Bosnien-Hercegovina","23":"Botswana","24":"Brasilien","25":"Bulgarien","26":"Burkina Faso","27":"Burundi","28":"Cambodja","29":"Camerun","30":"Canada","31":"Cabo Verde","32":"Caymanøerne","33":"Centralafrikanske Republik","34":"Chad","35":"Chile","36":"Kina","37":"Colombia","38":"Congo","40":"Kroatien","41":"Cypern","42":"Tjekkiet","43":"Danmark","44":"Djibouti","45":"Ecuador","46":"Egypten","47":"El Salvador","48":"Ækvatorialguinea","49":"Eritrea","50":"Estland","51":"Etiopien","52":"Fiji","53":"Finland","54":"Frankrig","56":"Gabon","57":"Gambia","58":"Georgien","59":"Tyskland","60":"Ghana","61":"Grækenland","62":"Guam","63":"Guinea","64":"Guinea-Bissau","65":"Guyana","66":"Honduras","67":"Hongkong","68":"Ungarn","69":"Island","70":"Indien","71":"Indonesien","74":"Irland","75":"Israel","76":"Italien","78":"Japan","79":"Jordan","80":"Kasakhstan","81":"Kenya","82":"Kuwait","83":"Kirgisistan","84":"Laos","85":"Letland","86":"Libanon","87":"Lesotho","88":"Liberia","90":"Liechtenstein","91":"Litauen","92":"Luxembourg","93":"Nordmakedonien","94":"Madagaskar","95":"Malawi","96":"Malaysia","97":"Maldiverne","98":"Mali","99":"Malta","100":"Mauretanien","101":"Mexico","102":"Moldova","103":"Monaco","104":"Mongoliet","105":"Marokko","106":"Mozambique","107":"Namibia","108":"Nepal","109":"Holland","110":"De nederlandske Antiller","111":"New Zealand","112":"Nicaragua","113":"Niger","114":"Nigeria","116":"Norge","117":"Oman","118":"Pakistan","119":"Panama","120":"Paraguay","121":"Peru","122":"Filippinerne","123":"Polen","124":"Portugal","126":"Qatar","127":"Reunion","128":"Rumænien","129":"Rusland","130":"Rwanda","132":"Samoa","133":"Saudi-Arabien","134":"Senegal","135":"Seychellerne","136":"Sierra Leone","137":"Singapore","138":"Slovakiet","139":"Slovenien","140":"Somalia","141":"Sydafrika","142":"Sydkorea","143":"Spanien","144":"Sri Lanka","146":"Surinam","147":"Swaziland","148":"Sverige","149":"Schweiz","152":"Taiwan","153":"Tanzania","154":"Thailand","155":"Togo","156":"Tunesien","157":"Tyrkiet","158":"Turkmenistan","159":"Uganda","161":"Ukraine","162":"Forenede Arabiske Emirater","163":"Uruguay","164":"USA","165":"Usbekistan","166":"Vatikanstaten","167":"Venezuela","168":"Vietnam","169":"De Britiske Jomfruøer","170":"Yemen","173":"Zambia","174":"Zimbabwe","175":"Antigua og Barbuda","176":"Anguilla","178":"Amerikansk Samoa","179":"Aruba","180":"Brunei Darussalam","181":"Bouvetøen","183":"Cookøerne","185":"Juleøen","187":"Dominikanske Republik","188":"Vestsahara","189":"Falklandsøerne","191":"Færøerne","192":"Grenada","193":"Fransk Guyana","194":"Gibraltar","195":"Grønland","196":"Guadeloupe","198":"Guatemala","200":"Haiti","202":"Jamaica","203":"Kiribati","204":"Comorerne","205":"Saint Kitts og Nevis","206":"Saint Lucia","207":"Marshalløerne","208":"Macao","210":"Martinique","212":"Mauritius","213":"Ny Kaledonien","214":"Norfolkøen","215":"Nauru","217":"Niue","219":"Papua Ny Guinea","221":"Pitcairn","222":"Palau","223":"Salomonøerne","225":"Svalbard og Jan Mayen","227":"San Marino","232":"Tonga","233":"Østtimor","234":"Trinidad og Tobago","235":"Tuvalu","237":"Saint Vincent og Grenadinerne","238":"Jomfruøerne (USA)","239":"Vanuatu","241":"Mayotte","242":"Myanmar","255":"São Tomé og Príncipe","257":"South Georgia og South Sandwichøerne","260":"Tadsjikistan","262":"Det Forenede Kongerige","268":"Costa Rica","270":"Gue"}}rnsey","272":"Nordkorea","274":"Afghanistan","275":"Elfenbenskysten","276":"Cuba","277":"Fransk Polynesien","278":"Iran","279":"Irak","281":"Libyen","282":"Palæstina","285":"Syrien","286":"Åland (Øerne)","287":"Turks- og Caicosøerne","288":"Jersey (Øerne i Kanalen)","289":"Dominica","290":"Montenegro","293":"Sudan","294":"Montserrat","298":"Curaçao","302":"Sint Maarten","311":"Sydsudan","315":"Kosovo","318":"Congo, Demokratiske Republik","323":"Isle of Man","324":"Saint Martin","325":"Bonaire, Sint Eustatius og Saba","326":"Serbien","327":"Saint Barthélemy"},"defaultcountry":164},"PHONE":{"name":"PHONE","label":"Telefonnummer","helper_text":"","type":"phone","required":false,"audience_field_name":"Telefonnummer","phoneformat":"","enabled":false,"order":null,"field_type":"merge","merge_id":4},"BIRTHDAY":{"name":"BIRTHDAY","label":"Fødselsdag","helper_text":"","type":"birthday","required":false,"audience_field_name":"Fødselsdag","dateformat":"MM/DD","enabled":false,"order":null,"field_type":"merge","merge_id":5},"COMPANY":{"name":"COMPANY","label":"Firma","helper_text":"","type":"text","required":false,"audience_field_name":"Firma","enabled":false,"order":null,"field_type":"merge","merge_id":6},"MMERGE7":{"name":"MMERGE7","label":"Oprettelsesdato","helper_text":"","type":"date","required":false,"audience_field_name":"Oprettelsesdato","dateformat":"MM/DD/YYYY","enabled":false,"order":null,"field_type":"merge","merge_id":7},"MMERGE8":{"name":"MMERGE8","label":"Datapost-ID","helper_text":"","type":"number","required":false,"audience_field_name":"Datapost-ID","enabled":false,"order":null,"field_type":"merge","merge_id":8},"MMERGE9":{"name":"MMERGE9","label":"Ansvarlig medarbejder for virksomhed","helper_text":"","type":"text","required":false,"audience_field_name":"Ansvarlig medarbejder for virksomhed","enabled":false,"order":null,"field_type":"merge","merge_id":9},"MMERGE10":{"name":"MMERGE10","label":"By","helper_text":"","type":"text","required":false,"audience_field_name":"By","enabled":false,"order":null,"field_type":"merge","merge_id":10},"MMERGE11":{"name":"MMERGE11","label":"Land/Region","helper_text":"","type":"text","required":false,"audience_field_name":"Land/Region","enabled":false,"order":null,"field_type":"merge","merge_id":11},"MMERGE12":{"name":"MMERGE12","label":"Branche","helper_text":"","type":"text","required":false,"audience_field_name":"Branche","enabled":false,"order":null,"field_type":"merge","merge_id":12},"MMERGE13":{"name":"MMERGE13","label":"Udstiller","helper_text":"","type":"number","required":false,"audience_field_name":"Udstiller","enabled":false,"order":null,"field_type":"merge","merge_id":13},"MMERGE14":{"name":"MMERGE14","label":"Besøgende","helper_text":"","type":"number","required":false,"audience_field_name":"Besøgende","enabled":false,"order":null,"field_type":"merge","merge_id":14},"MMERGE15":{"name":"MMERGE15","label":"Kontaktperson for catering","helper_text":"","type":"text","required":false,"audience_field_name":"Kontaktperson for catering","enabled":false,"order":null,"field_type":"merge","merge_id":15}}).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); }); });
