{"id":25436,"date":"2026-02-05T13:55:52","date_gmt":"2026-02-05T12:55:52","guid":{"rendered":"https:\/\/retina.ch\/?page_id=25436"},"modified":"2026-02-05T14:02:20","modified_gmt":"2026-02-05T13:02:20","slug":"mailchimp-signup","status":"publish","type":"page","link":"https:\/\/retina.ch\/it\/mailchimp-signup\/","title":{"rendered":"Mailchimp Signup"},"content":{"rendered":"\n<div id=\"mc_embed_shell\">\n      <link href=\"\/\/cdn-images.mailchimp.com\/embedcode\/classic-061523.css\" rel=\"stylesheet\" type=\"text\/css\">\n  <style type=\"text\/css\">\n        #mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: 600px;}\n        \/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.\n           We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. *\/\n<\/style>\n<div id=\"mc_embed_signup\">\n    <form action=\"https:\/\/retina.us2.list-manage.com\/subscribe\/post?u=965727222bd46203a97a7f0d8&amp;id=6b1bc4be53&amp;f_id=003e91e3f0\" method=\"post\" id=\"mc-embedded-subscribe-form\" name=\"mc-embedded-subscribe-form\" class=\"validate\" target=\"_blank\">\n        <div id=\"mc_embed_signup_scroll\"><h2>Retina Suisse Deutsch Signup<\/h2>\n            <div class=\"indicates-required\"><span class=\"asterisk\">*<\/span> indicates required<\/div>\n            <div class=\"mc-field-group\"><label for=\"mce-EMAIL\">Email Adresse <span class=\"asterisk\">*<\/span><\/label><input type=\"email\" name=\"EMAIL\" class=\"required email\" id=\"mce-EMAIL\" required=\"\" value=\"\"><\/div><div class=\"mc-field-group\"><label for=\"mce-FNAME\">Vorname <\/label><input type=\"text\" name=\"FNAME\" class=\" text\" id=\"mce-FNAME\" value=\"\"><\/div><div class=\"mc-field-group\"><label for=\"mce-LNAME\">Nachname <\/label><input type=\"text\" name=\"LNAME\" class=\" text\" id=\"mce-LNAME\" value=\"\"><\/div><div class=\"mc-field-group input-group\"><strong>Retina Suisse Mitglied <\/strong><ul><li><input type=\"radio\" name=\"MITGLIED\" id=\"mce-MITGLIED0\" value=\"Ja\"><label for=\"mce-MITGLIED0\">Ja<\/label><\/li><li><input type=\"radio\" name=\"MITGLIED\" id=\"mce-MITGLIED1\" value=\"Nein\"><label for=\"mce-MITGLIED1\">Nein<\/label><\/li><\/ul><\/div><div class=\"mc-field-group\"><label for=\"mce-MMERGE3\">Kanton <\/label><input type=\"text\" name=\"MMERGE3\" class=\" text\" id=\"mce-MMERGE3\" value=\"\"><\/div>\n        <div id=\"mce-responses\" class=\"clear\">\n            <div class=\"response\" id=\"mce-error-response\" style=\"display: none;\"><\/div>\n            <div class=\"response\" id=\"mce-success-response\" style=\"display: none;\"><\/div>\n        <\/div><div aria-hidden=\"true\" style=\"position: absolute; left: -5000px;\"><input type=\"text\" name=\"b_965727222bd46203a97a7f0d8_6b1bc4be53\" tabindex=\"-1\" value=\"\"><\/div><div class=\"clear\"><input type=\"submit\" name=\"subscribe\" id=\"mc-embedded-subscribe\" class=\"button\" value=\"Subscribe\"><\/div>\n    <\/div>\n<\/form>\n<\/div>\n<script type=\"text\/javascript\" src=\"\/\/s3.amazonaws.com\/downloads.mailchimp.com\/js\/mc-validate.js\"><\/script><script type=\"text\/javascript\">(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';fnames[12]='MITGLIED';ftypes[12]='radio';fnames[3]='MMERGE3';ftypes[3]='text';\/*\n * Translated default messages for the $ validation plugin.\n * Locale: DE\n *\/\n$.extend($.validator.messages, {\n\trequired: \"Dieses Feld ist ein Pflichtfeld.\",\n\tmaxlength: $.validator.format(\"Geben Sie bitte maximal {0} Zeichen ein.\"),\n\tminlength: $.validator.format(\"Geben Sie bitte mindestens {0} Zeichen ein.\"),\n\trangelength: $.validator.format(\"Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein.\"),\n\temail: \"Geben Sie bitte eine g\u00fcltige E-Mail Adresse ein.\",\n\turl: \"Geben Sie bitte eine g\u00fcltige URL ein.\",\n\tdate: \"Bitte geben Sie ein g\u00fcltiges Datum ein.\",\n\tnumber: \"Geben Sie bitte eine Nummer ein.\",\n\tdigits: \"Geben Sie bitte nur Ziffern ein.\",\n\tequalTo: \"Bitte denselben Wert wiederholen.\",\n\trange: $.validator.format(\"Geben Sie bitten einen Wert zwischen {0} und {1}.\"),\n\tmax: $.validator.format(\"Geben Sie bitte einen Wert kleiner oder gleich {0} ein.\"),\n\tmin: $.validator.format(\"Geben Sie bitte einen Wert gr\u00f6\u00dfer oder gleich {0} ein.\"),\n\tcreditcard: \"Geben Sie bitte ein g\u00fcltige Kreditkarten-Nummer ein.\"\n});}(jQuery));var $mcj = jQuery.noConflict(true);\n    \/\/ SMS Phone Multi-Country Functionality\n    if(!window.MC) {\n      window.MC = {};\n    }\n    window.MC.smsPhoneData = {\n      defaultCountryCode: 'CH',\n      programs: [],\n      smsProgramDataCountryNames: []\n    };\n\n    function getCountryUnicodeFlag(countryCode) {\n       return countryCode.toUpperCase().replace(\/.\/g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397))\n    };\n\n    \/\/ HTML sanitization function to prevent XSS\n    function sanitizeHtml(str) {\n      if (typeof str !== 'string') return '';\n      return str\n        .replace(\/&\/g, '&amp;')\n        .replace(\/<\/g, '&lt;')\n        .replace(\/>\/g, '&gt;')\n        .replace(\/\"\/g, '&quot;')\n        .replace(\/'\/g, '&#x27;')\n        .replace(\/\\\/\/g, '&#x2F;');\n    }\n\n    \/\/ URL sanitization function to prevent javascript: and data: URLs\n    function sanitizeUrl(url) {\n      if (typeof url !== 'string') return '';\n      const trimmedUrl = url.trim().toLowerCase();\n      if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) {\n        return '#';\n      }\n      return url;\n    }\n\n    const getBrowserLanguage = () => {\n      if (!window?.navigator?.language?.split('-')[1]) {\n        return window?.navigator?.language?.toUpperCase();\n      }\n      return window?.navigator?.language?.split('-')[1];\n    };\n\n    function getDefaultCountryProgram(defaultCountryCode, smsProgramData) {\n      if (!smsProgramData || smsProgramData.length === 0) {\n        return null;\n      }\n\n      const browserLanguage = getBrowserLanguage();\n\n      if (browserLanguage) {\n        const foundProgram = smsProgramData.find(\n          (program) => program?.countryCode === browserLanguage,\n        );\n        if (foundProgram) {\n          return foundProgram;\n        }\n      }\n\n      if (defaultCountryCode) {\n        const foundProgram = smsProgramData.find(\n          (program) => program?.countryCode === defaultCountryCode,\n        );\n        if (foundProgram) {\n          return foundProgram;\n        }\n      }\n\n      return smsProgramData[0];\n    }\n\n    function updateSmsLegalText(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      const programs = window?.MC?.smsPhoneData?.programs;\n      if (!programs || !Array.isArray(programs)) {\n        return;\n      }\n      \n      const program = programs.find(program => program?.countryCode === countryCode);\n      if (!program || !program.requiredTemplate) {\n        return;\n      }\n      \n      const legalTextElement = document.querySelector('#legal-text-' + fieldName);\n      if (!legalTextElement) {\n        return;\n      }\n      \n      \/\/ Remove HTML tags and clean up the text\n      const divRegex = new RegExp('<\/?[div][^>]*>', 'gi');\n      const fullAnchorRegex = new RegExp('<a.*?<\/a>', 'g');\n      const anchorRegex = new RegExp('<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\/a>');\n      \n      const template = program.requiredTemplate.replace(divRegex, '');\n      \n      \n\n      legalTextElement.textContent = '';\n      const parts = template.split(\/(<a href=\".*?\" target=\".*?\">.*?<\\\/a>)\/g);\n      parts.forEach(function(part) {\n        if (!part) {\n          return;\n        }\n        const anchorMatch = part.match(\/<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\\\/a>\/);\n        if (anchorMatch) {\n          const linkElement = document.createElement('a');\n          linkElement.href = sanitizeUrl(anchorMatch[1]);\n          linkElement.target = sanitizeHtml(anchorMatch[2]);\n          linkElement.textContent = sanitizeHtml(anchorMatch[3]);\n          legalTextElement.appendChild(linkElement);\n        } else {\n          legalTextElement.appendChild(document.createTextNode(part));\n        }\n      });\n          \n    }\n\n    function generateDropdownOptions(smsProgramData) {\n      if (!smsProgramData || smsProgramData.length === 0) {\n        return '';\n      }\n      \n      return smsProgramData.map(program => {\n        const flag = getCountryUnicodeFlag(program.countryCode);\n        const countryName = getCountryName(program.countryCode);\n        const callingCode = program.countryCallingCode || '';\n        \/\/ Sanitize all values to prevent XSS\n        const sanitizedCountryCode = sanitizeHtml(program.countryCode || '');\n        const sanitizedCountryName = sanitizeHtml(countryName || '');\n        const sanitizedCallingCode = sanitizeHtml(callingCode || '');\n        return '<option value=\"' + sanitizedCountryCode + '\">' + sanitizedCountryName + ' ' + sanitizedCallingCode + '<\/option>';\n      }).join('');\n    }\n\n    function getCountryName(countryCode) {\n      if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) {\n        for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) {\n          if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) {\n            return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name;\n          }\n        }\n      }\n      return countryCode;\n    }\n\n    function getDefaultPlaceholder(countryCode) {\n      if (!countryCode || typeof countryCode !== 'string') {\n        return '+1 000 000 0000'; \/\/ Default US placeholder\n      }\n      \n            var mockPlaceholders = [\n        {\n          countryCode: 'US',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the US country code +1 before the phone number',\n        },\n        {\n          countryCode: 'GB',\n          placeholder: '+44 0000 000000',\n          helpText: 'Include the GB country code +44 before the phone number',\n        },\n        {\n          countryCode: 'CA',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the CA country code +1 before the phone number',\n        },\n        {\n          countryCode: 'AU',\n          placeholder: '+61 000 000 000',\n          helpText: 'Include the AU country code +61 before the phone number',\n        },\n        {\n          countryCode: 'DE',\n          placeholder: '+49 000 0000000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\n        },\n        {\n          countryCode: 'FR',\n          placeholder: '+33 0 00 00 00 00',\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'ES',\n          placeholder: '+34 000 000 000',\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\n        },\n        {\n          countryCode: 'NL',\n          placeholder: '+31 0 00000000',\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\n        },\n        {\n          countryCode: 'BE',\n          placeholder: '+32 000 00 00 00',\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'CH',\n          placeholder: '+41 00 000 00 00',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\n        },\n        {\n          countryCode: 'AT',\n          placeholder: '+43 000 000 0000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\n        },\n        {\n          countryCode: 'IE',\n          placeholder: '+353 00 000 0000',\n          helpText: 'Include the IE country code +353 before the phone number',\n        },\n        {\n          countryCode: 'IT',\n          placeholder: '+39 000 000 0000',\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\n        },\n      ];\n\n      const selectedPlaceholder = mockPlaceholders.find(function(item) {\n        return item &#038;&#038; item.countryCode === countryCode;\n      });\n      \n      return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder;\n    }\n\n    function updatePlaceholder(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      const phoneInput = document.querySelector('#mce-' + fieldName);\n      if (!phoneInput) {\n        return;\n      }\n      \n      const placeholder = getDefaultPlaceholder(countryCode);\n      if (placeholder) {\n        phoneInput.placeholder = placeholder;\n      }\n    }\n\n    function updateCountryCodeInstruction(countryCode, fieldName) {\n      updatePlaceholder(countryCode, fieldName);\n      \n    }\n\n    function getDefaultHelpText(countryCode) {\n      var mockPlaceholders = [\n        {\n          countryCode: 'US',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the US country code +1 before the phone number',\n        },\n        {\n          countryCode: 'GB',\n          placeholder: '+44 0000 000000',\n          helpText: 'Include the GB country code +44 before the phone number',\n        },\n        {\n          countryCode: 'CA',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the CA country code +1 before the phone number',\n        },\n        {\n          countryCode: 'AU',\n          placeholder: '+61 000 000 000',\n          helpText: 'Include the AU country code +61 before the phone number',\n        },\n        {\n          countryCode: 'DE',\n          placeholder: '+49 000 0000000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\n        },\n        {\n          countryCode: 'FR',\n          placeholder: '+33 0 00 00 00 00',\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'ES',\n          placeholder: '+34 000 000 000',\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\n        },\n        {\n          countryCode: 'NL',\n          placeholder: '+31 0 00000000',\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\n        },\n        {\n          countryCode: 'BE',\n          placeholder: '+32 000 00 00 00',\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'CH',\n          placeholder: '+41 00 000 00 00',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\n        },\n        {\n          countryCode: 'AT',\n          placeholder: '+43 000 000 0000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\n        },\n        {\n          countryCode: 'IE',\n          placeholder: '+353 00 000 0000',\n          helpText: 'Include the IE country code +353 before the phone number',\n        },\n        {\n          countryCode: 'IT',\n          placeholder: '+39 000 000 0000',\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\n        },\n      ];\n      \n      if (!countryCode || typeof countryCode !== 'string') {\n        return mockPlaceholders[0].helpText;\n      }\n      \n      const selectedHelpText = mockPlaceholders.find(function(item) {\n          return item &#038;&#038; item.countryCode === countryCode;\n        });\n        \n        return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText;\n    }\n\n    function setDefaultHelpText(countryCode) {\n      const helpTextSpan = document.querySelector('#help-text');\n      if (!helpTextSpan) {\n        return;\n      }\n\n        \n    }\n\n    function updateHelpTextCountryCode(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      setDefaultHelpText(countryCode);\n    }\n\n    function initializeSmsPhoneDropdown(fieldName) {\n      if (!fieldName || typeof fieldName !== 'string') {\n        return;\n      }\n      \n      const dropdown = document.querySelector('#country-select-' + fieldName);\n      const displayFlag = document.querySelector('#flag-display-' + fieldName);\n      \n      if (!dropdown || !displayFlag) {\n        return;\n      }\n\n      const smsPhoneData = window.MC?.smsPhoneData;\n      if (smsPhoneData &#038;&#038; smsPhoneData.programs &#038;&#038; Array.isArray(smsPhoneData.programs)) {\n        dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs);\n      }\n\n      const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs);\n      if (defaultProgram &#038;&#038; defaultProgram.countryCode) {\n        dropdown.value = defaultProgram.countryCode;\n        \n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\n        if (flagSpan) {\n          flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode);\n          flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag');\n        }\n        \n        updateSmsLegalText(defaultProgram.countryCode, fieldName);\n        updatePlaceholder(defaultProgram.countryCode, fieldName);\n        updateCountryCodeInstruction(defaultProgram.countryCode, fieldName);\n      }\n\n     \n      var smsNotRequiredRemoveCountryCodeEnabled = true;\n      var smsField = Object.values({\"EMAIL\":{\"name\":\"EMAIL\",\"label\":\"Email Adresse\",\"helper_text\":\"\",\"type\":\"email\",\"required\":true,\"audience_field_name\":\"Email Adresse\",\"merge_id\":0,\"help_text_enabled\":false,\"enabled\":true,\"order\":0,\"field_type\":\"merge\"},\"FNAME\":{\"name\":\"FNAME\",\"label\":\"Vorname\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Vorname\",\"merge_id\":1,\"help_text_enabled\":false,\"enabled\":true,\"order\":1,\"field_type\":\"merge\"},\"LNAME\":{\"name\":\"LNAME\",\"label\":\"Nachname\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Nachname\",\"merge_id\":2,\"help_text_enabled\":false,\"enabled\":true,\"order\":2,\"field_type\":\"merge\"},\"MITGLIED\":{\"name\":\"MITGLIED\",\"label\":\"Retina Suisse Mitglied\",\"helper_text\":\"\",\"type\":\"radio\",\"required\":false,\"audience_field_name\":\"Retina Suisse Mitglied\",\"choices\":[{\"value\":\"Ja\",\"label\":\"Ja\"},{\"value\":\"Nein\",\"label\":\"Nein\"}],\"merge_id\":12,\"help_text_enabled\":false,\"enabled\":true,\"order\":3,\"field_type\":\"merge\"},\"MMERGE3\":{\"name\":\"MMERGE3\",\"label\":\"Kanton\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Kanton\",\"merge_id\":3,\"help_text_enabled\":false,\"enabled\":true,\"order\":4,\"field_type\":\"merge\"}}).find(function(f) { return f.name === fieldName &#038;&#038; f.type === 'smsphone'; });\n      var isRequired = smsField ? smsField.required : false;\n      var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true;\n      \n      var phoneInput = document.querySelector('#mce-' + fieldName);\n      if (phoneInput &#038;&#038; defaultProgram.countryCallingCode &#038;&#038; shouldAppendCountryCode) {\n        phoneInput.value = defaultProgram.countryCallingCode;\n      }\n      \n\n\n      displayFlag?.addEventListener('click', function(e) {\n        dropdown.focus();\n      });\n\n\n      dropdown?.addEventListener('change', function() {\n        const selectedCountry = this.value;\n        \n        if (!selectedCountry || typeof selectedCountry !== 'string') {\n          return;\n        }\n        \n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\n        if (flagSpan) {\n          flagSpan.textContent = getCountryUnicodeFlag(selectedCountry);\n          flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag');\n        }\n\n         \n        const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) {\n          return program &#038;&#038; program.countryCode === selectedCountry;\n        });\n\n        var smsNotRequiredRemoveCountryCodeEnabled = true;\n        var smsField = Object.values({\"EMAIL\":{\"name\":\"EMAIL\",\"label\":\"Email Adresse\",\"helper_text\":\"\",\"type\":\"email\",\"required\":true,\"audience_field_name\":\"Email Adresse\",\"merge_id\":0,\"help_text_enabled\":false,\"enabled\":true,\"order\":0,\"field_type\":\"merge\"},\"FNAME\":{\"name\":\"FNAME\",\"label\":\"Vorname\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Vorname\",\"merge_id\":1,\"help_text_enabled\":false,\"enabled\":true,\"order\":1,\"field_type\":\"merge\"},\"LNAME\":{\"name\":\"LNAME\",\"label\":\"Nachname\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Nachname\",\"merge_id\":2,\"help_text_enabled\":false,\"enabled\":true,\"order\":2,\"field_type\":\"merge\"},\"MITGLIED\":{\"name\":\"MITGLIED\",\"label\":\"Retina Suisse Mitglied\",\"helper_text\":\"\",\"type\":\"radio\",\"required\":false,\"audience_field_name\":\"Retina Suisse Mitglied\",\"choices\":[{\"value\":\"Ja\",\"label\":\"Ja\"},{\"value\":\"Nein\",\"label\":\"Nein\"}],\"merge_id\":12,\"help_text_enabled\":false,\"enabled\":true,\"order\":3,\"field_type\":\"merge\"},\"MMERGE3\":{\"name\":\"MMERGE3\",\"label\":\"Kanton\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Kanton\",\"merge_id\":3,\"help_text_enabled\":false,\"enabled\":true,\"order\":4,\"field_type\":\"merge\"}}).find(function(f) { return f.name === fieldName &#038;&#038; f.type === 'smsphone'; });\n        var isRequired = smsField ? smsField.required : false;\n        var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true;\n        \n        var phoneInput = document.querySelector('#mce-' + fieldName);\n        if (phoneInput &#038;&#038; selectedProgram.countryCallingCode &#038;&#038; shouldAppendCountryCode) {\n          phoneInput.value = selectedProgram.countryCallingCode;\n        }\n        \n        \n        updateSmsLegalText(selectedCountry, fieldName);\n        updatePlaceholder(selectedCountry, fieldName);\n        updateCountryCodeInstruction(selectedCountry, fieldName);\n      });\n    }\n\n    document.addEventListener('DOMContentLoaded', function() {\n      const smsPhoneFields = document.querySelectorAll('[id^=\"country-select-\"]');\n      \n      smsPhoneFields.forEach(function(dropdown) {\n        const fieldName = dropdown?.id.replace('country-select-', '');\n        initializeSmsPhoneDropdown(fieldName);\n      });\n    });\n    <\/script><\/div>\n\n\n\n\n<div class=\"wp-block-nk-awb nk-awb alignfull hightlightbox nomargtop nomargbottom\"><div class=\"nk-awb-wrap\" data-awb-type=\"color\"><div class=\"nk-awb-overlay\" style=\"background: #fff9bf;\"><\/div><\/div><div class=\"nk-awb-wrap-content is-layout-constrained wp-block-nk-awb-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div id=\"mc_embed_shell\">\n      <link href=\"\/\/cdn-images.mailchimp.com\/embedcode\/classic-061523.css\" rel=\"stylesheet\" type=\"text\/css\">\n  <style type=\"text\/css\">\n        #mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: 600px;}\n        \/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.\n           We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. *\/\n<\/style>\n<div id=\"mc_embed_signup\">\n    <form action=\"https:\/\/retina.us2.list-manage.com\/subscribe\/post?u=965727222bd46203a97a7f0d8&amp;id=47b888a80f&amp;f_id=003d91e3f0\" method=\"post\" id=\"mc-embedded-subscribe-form\" name=\"mc-embedded-subscribe-form\" class=\"validate\" target=\"_blank\">\n        <div id=\"mc_embed_signup_scroll\"><h2>Retina Suisse Fran\u00e7ais Signup<\/h2>\n            <div class=\"indicates-required\"><span class=\"asterisk\">*<\/span> indicates required<\/div>\n            <div class=\"mc-field-group\"><label for=\"mce-EMAIL\">E-mail <span class=\"asterisk\">*<\/span><\/label><input type=\"email\" name=\"EMAIL\" class=\"required email\" id=\"mce-EMAIL\" required=\"\" value=\"\"><\/div><div class=\"mc-field-group\"><label for=\"mce-FNAME\">Pr\u00e9nom <\/label><input type=\"text\" name=\"FNAME\" class=\" text\" id=\"mce-FNAME\" value=\"\"><\/div><div class=\"mc-field-group\"><label for=\"mce-LNAME\">Nom <\/label><input type=\"text\" name=\"LNAME\" class=\" text\" id=\"mce-LNAME\" value=\"\"><\/div><div class=\"mc-field-group input-group\"><strong>Retina Suisse Membre <\/strong><ul><li><input type=\"radio\" name=\"MITGLIED\" id=\"mce-MITGLIED0\" value=\"Ja\"><label for=\"mce-MITGLIED0\">Ja<\/label><\/li><li><input type=\"radio\" name=\"MITGLIED\" id=\"mce-MITGLIED1\" value=\"Nein\"><label for=\"mce-MITGLIED1\">Nein<\/label><\/li><\/ul><\/div><div class=\"mc-field-group\"><label for=\"mce-MMERGE4\">Canton <\/label><input type=\"text\" name=\"MMERGE4\" class=\" text\" id=\"mce-MMERGE4\" value=\"\"><\/div>\n        <div id=\"mce-responses\" class=\"clear\">\n            <div class=\"response\" id=\"mce-error-response\" style=\"display: none;\"><\/div>\n            <div class=\"response\" id=\"mce-success-response\" style=\"display: none;\"><\/div>\n        <\/div><div aria-hidden=\"true\" style=\"position: absolute; left: -5000px;\"><input type=\"text\" name=\"b_965727222bd46203a97a7f0d8_47b888a80f\" tabindex=\"-1\" value=\"\"><\/div><div class=\"clear\"><input type=\"submit\" name=\"subscribe\" id=\"mc-embedded-subscribe\" class=\"button\" value=\"Subscribe\"><\/div>\n    <\/div>\n<\/form>\n<\/div>\n<script type=\"text\/javascript\" src=\"\/\/s3.amazonaws.com\/downloads.mailchimp.com\/js\/mc-validate.js\"><\/script><script type=\"text\/javascript\">(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';fnames[3]='MITGLIED';ftypes[3]='radio';fnames[4]='MMERGE4';ftypes[4]='text';\/*\n * Translated default messages for the $ validation plugin.\n * Locale: FR\n *\/\n$.extend($.validator.messages, {\n        required: \"Ce champ est requis.\",\n        remote: \"Veuillez remplir ce champ pour continuer.\",\n        email: \"Veuillez entrer une adresse email valide.\",\n        url: \"Veuillez entrer une URL valide.\",\n        date: \"Veuillez entrer une date valide.\",\n        dateISO: \"Veuillez entrer une date valide (ISO).\",\n        number: \"Veuillez entrer un nombre valide.\",\n        digits: \"Veuillez entrer (seulement) une valeur num\u00e9rique.\",\n        creditcard: \"Veuillez entrer un num\u00e9ro de carte de cr\u00e9dit valide.\",\n        equalTo: \"Veuillez entrer une nouvelle fois la m\u00eame valeur.\",\n        accept: \"Veuillez entrer une valeur avec une extension valide.\",\n        maxlength: $.validator.format(\"Veuillez ne pas entrer plus de {0} caract\u00e8res.\"),\n        minlength: $.validator.format(\"Veuillez entrer au moins {0} caract\u00e8res.\"),\n        rangelength: $.validator.format(\"Veuillez entrer entre {0} et {1} caract\u00e8res.\"),\n        range: $.validator.format(\"Veuillez entrer une valeur entre {0} et {1}.\"),\n        max: $.validator.format(\"Veuillez entrer une valeur inf\u00e9rieure ou \u00e9gale \u00e0 {0}.\"),\n        min: $.validator.format(\"Veuillez entrer une valeur sup\u00e9rieure ou \u00e9gale \u00e0 {0}.\")\n});}(jQuery));var $mcj = jQuery.noConflict(true);\n    \/\/ SMS Phone Multi-Country Functionality\n    if(!window.MC) {\n      window.MC = {};\n    }\n    window.MC.smsPhoneData = {\n      defaultCountryCode: 'CH',\n      programs: [],\n      smsProgramDataCountryNames: []\n    };\n\n    function getCountryUnicodeFlag(countryCode) {\n       return countryCode.toUpperCase().replace(\/.\/g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397))\n    };\n\n    \/\/ HTML sanitization function to prevent XSS\n    function sanitizeHtml(str) {\n      if (typeof str !== 'string') return '';\n      return str\n        .replace(\/&\/g, '&amp;')\n        .replace(\/<\/g, '&lt;')\n        .replace(\/>\/g, '&gt;')\n        .replace(\/\"\/g, '&quot;')\n        .replace(\/'\/g, '&#x27;')\n        .replace(\/\\\/\/g, '&#x2F;');\n    }\n\n    \/\/ URL sanitization function to prevent javascript: and data: URLs\n    function sanitizeUrl(url) {\n      if (typeof url !== 'string') return '';\n      const trimmedUrl = url.trim().toLowerCase();\n      if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) {\n        return '#';\n      }\n      return url;\n    }\n\n    const getBrowserLanguage = () => {\n      if (!window?.navigator?.language?.split('-')[1]) {\n        return window?.navigator?.language?.toUpperCase();\n      }\n      return window?.navigator?.language?.split('-')[1];\n    };\n\n    function getDefaultCountryProgram(defaultCountryCode, smsProgramData) {\n      if (!smsProgramData || smsProgramData.length === 0) {\n        return null;\n      }\n\n      const browserLanguage = getBrowserLanguage();\n\n      if (browserLanguage) {\n        const foundProgram = smsProgramData.find(\n          (program) => program?.countryCode === browserLanguage,\n        );\n        if (foundProgram) {\n          return foundProgram;\n        }\n      }\n\n      if (defaultCountryCode) {\n        const foundProgram = smsProgramData.find(\n          (program) => program?.countryCode === defaultCountryCode,\n        );\n        if (foundProgram) {\n          return foundProgram;\n        }\n      }\n\n      return smsProgramData[0];\n    }\n\n    function updateSmsLegalText(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      const programs = window?.MC?.smsPhoneData?.programs;\n      if (!programs || !Array.isArray(programs)) {\n        return;\n      }\n      \n      const program = programs.find(program => program?.countryCode === countryCode);\n      if (!program || !program.requiredTemplate) {\n        return;\n      }\n      \n      const legalTextElement = document.querySelector('#legal-text-' + fieldName);\n      if (!legalTextElement) {\n        return;\n      }\n      \n      \/\/ Remove HTML tags and clean up the text\n      const divRegex = new RegExp('<\/?[div][^>]*>', 'gi');\n      const fullAnchorRegex = new RegExp('<a.*?<\/a>', 'g');\n      const anchorRegex = new RegExp('<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\/a>');\n      \n      const template = program.requiredTemplate.replace(divRegex, '');\n      \n      \n\n      legalTextElement.textContent = '';\n      const parts = template.split(\/(<a href=\".*?\" target=\".*?\">.*?<\\\/a>)\/g);\n      parts.forEach(function(part) {\n        if (!part) {\n          return;\n        }\n        const anchorMatch = part.match(\/<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\\\/a>\/);\n        if (anchorMatch) {\n          const linkElement = document.createElement('a');\n          linkElement.href = sanitizeUrl(anchorMatch[1]);\n          linkElement.target = sanitizeHtml(anchorMatch[2]);\n          linkElement.textContent = sanitizeHtml(anchorMatch[3]);\n          legalTextElement.appendChild(linkElement);\n        } else {\n          legalTextElement.appendChild(document.createTextNode(part));\n        }\n      });\n          \n    }\n\n    function generateDropdownOptions(smsProgramData) {\n      if (!smsProgramData || smsProgramData.length === 0) {\n        return '';\n      }\n      \n      return smsProgramData.map(program => {\n        const flag = getCountryUnicodeFlag(program.countryCode);\n        const countryName = getCountryName(program.countryCode);\n        const callingCode = program.countryCallingCode || '';\n        \/\/ Sanitize all values to prevent XSS\n        const sanitizedCountryCode = sanitizeHtml(program.countryCode || '');\n        const sanitizedCountryName = sanitizeHtml(countryName || '');\n        const sanitizedCallingCode = sanitizeHtml(callingCode || '');\n        return '<option value=\"' + sanitizedCountryCode + '\">' + sanitizedCountryName + ' ' + sanitizedCallingCode + '<\/option>';\n      }).join('');\n    }\n\n    function getCountryName(countryCode) {\n      if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) {\n        for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) {\n          if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) {\n            return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name;\n          }\n        }\n      }\n      return countryCode;\n    }\n\n    function getDefaultPlaceholder(countryCode) {\n      if (!countryCode || typeof countryCode !== 'string') {\n        return '+1 000 000 0000'; \/\/ Default US placeholder\n      }\n      \n            var mockPlaceholders = [\n        {\n          countryCode: 'US',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the US country code +1 before the phone number',\n        },\n        {\n          countryCode: 'GB',\n          placeholder: '+44 0000 000000',\n          helpText: 'Include the GB country code +44 before the phone number',\n        },\n        {\n          countryCode: 'CA',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the CA country code +1 before the phone number',\n        },\n        {\n          countryCode: 'AU',\n          placeholder: '+61 000 000 000',\n          helpText: 'Include the AU country code +61 before the phone number',\n        },\n        {\n          countryCode: 'DE',\n          placeholder: '+49 000 0000000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\n        },\n        {\n          countryCode: 'FR',\n          placeholder: '+33 0 00 00 00 00',\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'ES',\n          placeholder: '+34 000 000 000',\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\n        },\n        {\n          countryCode: 'NL',\n          placeholder: '+31 0 00000000',\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\n        },\n        {\n          countryCode: 'BE',\n          placeholder: '+32 000 00 00 00',\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'CH',\n          placeholder: '+41 00 000 00 00',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\n        },\n        {\n          countryCode: 'AT',\n          placeholder: '+43 000 000 0000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\n        },\n        {\n          countryCode: 'IE',\n          placeholder: '+353 00 000 0000',\n          helpText: 'Include the IE country code +353 before the phone number',\n        },\n        {\n          countryCode: 'IT',\n          placeholder: '+39 000 000 0000',\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\n        },\n      ];\n\n      const selectedPlaceholder = mockPlaceholders.find(function(item) {\n        return item &#038;&#038; item.countryCode === countryCode;\n      });\n      \n      return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder;\n    }\n\n    function updatePlaceholder(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      const phoneInput = document.querySelector('#mce-' + fieldName);\n      if (!phoneInput) {\n        return;\n      }\n      \n      const placeholder = getDefaultPlaceholder(countryCode);\n      if (placeholder) {\n        phoneInput.placeholder = placeholder;\n      }\n    }\n\n    function updateCountryCodeInstruction(countryCode, fieldName) {\n      updatePlaceholder(countryCode, fieldName);\n      \n    }\n\n    function getDefaultHelpText(countryCode) {\n      var mockPlaceholders = [\n        {\n          countryCode: 'US',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the US country code +1 before the phone number',\n        },\n        {\n          countryCode: 'GB',\n          placeholder: '+44 0000 000000',\n          helpText: 'Include the GB country code +44 before the phone number',\n        },\n        {\n          countryCode: 'CA',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the CA country code +1 before the phone number',\n        },\n        {\n          countryCode: 'AU',\n          placeholder: '+61 000 000 000',\n          helpText: 'Include the AU country code +61 before the phone number',\n        },\n        {\n          countryCode: 'DE',\n          placeholder: '+49 000 0000000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\n        },\n        {\n          countryCode: 'FR',\n          placeholder: '+33 0 00 00 00 00',\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'ES',\n          placeholder: '+34 000 000 000',\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\n        },\n        {\n          countryCode: 'NL',\n          placeholder: '+31 0 00000000',\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\n        },\n        {\n          countryCode: 'BE',\n          placeholder: '+32 000 00 00 00',\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'CH',\n          placeholder: '+41 00 000 00 00',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\n        },\n        {\n          countryCode: 'AT',\n          placeholder: '+43 000 000 0000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\n        },\n        {\n          countryCode: 'IE',\n          placeholder: '+353 00 000 0000',\n          helpText: 'Include the IE country code +353 before the phone number',\n        },\n        {\n          countryCode: 'IT',\n          placeholder: '+39 000 000 0000',\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\n        },\n      ];\n      \n      if (!countryCode || typeof countryCode !== 'string') {\n        return mockPlaceholders[0].helpText;\n      }\n      \n      const selectedHelpText = mockPlaceholders.find(function(item) {\n          return item &#038;&#038; item.countryCode === countryCode;\n        });\n        \n        return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText;\n    }\n\n    function setDefaultHelpText(countryCode) {\n      const helpTextSpan = document.querySelector('#help-text');\n      if (!helpTextSpan) {\n        return;\n      }\n\n        \n    }\n\n    function updateHelpTextCountryCode(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      setDefaultHelpText(countryCode);\n    }\n\n    function initializeSmsPhoneDropdown(fieldName) {\n      if (!fieldName || typeof fieldName !== 'string') {\n        return;\n      }\n      \n      const dropdown = document.querySelector('#country-select-' + fieldName);\n      const displayFlag = document.querySelector('#flag-display-' + fieldName);\n      \n      if (!dropdown || !displayFlag) {\n        return;\n      }\n\n      const smsPhoneData = window.MC?.smsPhoneData;\n      if (smsPhoneData &#038;&#038; smsPhoneData.programs &#038;&#038; Array.isArray(smsPhoneData.programs)) {\n        dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs);\n      }\n\n      const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs);\n      if (defaultProgram &#038;&#038; defaultProgram.countryCode) {\n        dropdown.value = defaultProgram.countryCode;\n        \n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\n        if (flagSpan) {\n          flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode);\n          flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag');\n        }\n        \n        updateSmsLegalText(defaultProgram.countryCode, fieldName);\n        updatePlaceholder(defaultProgram.countryCode, fieldName);\n        updateCountryCodeInstruction(defaultProgram.countryCode, fieldName);\n      }\n\n     \n      var smsNotRequiredRemoveCountryCodeEnabled = true;\n      var smsField = Object.values({\"EMAIL\":{\"name\":\"EMAIL\",\"label\":\"E-mail\",\"helper_text\":\"\",\"type\":\"email\",\"required\":true,\"audience_field_name\":\"E-mail\",\"merge_id\":0,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"0\",\"field_type\":\"merge\"},\"FNAME\":{\"name\":\"FNAME\",\"label\":\"Pr\u00e9nom\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Pr\u00e9nom\",\"merge_id\":1,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"1\",\"field_type\":\"merge\"},\"LNAME\":{\"name\":\"LNAME\",\"label\":\"Nom\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Nom\",\"merge_id\":2,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"2\",\"field_type\":\"merge\"},\"MITGLIED\":{\"name\":\"MITGLIED\",\"label\":\"Retina Suisse Membre\",\"helper_text\":\"\",\"type\":\"radio\",\"required\":false,\"audience_field_name\":\"Retina Suisse Membre\",\"choices\":[{\"value\":\"Ja\",\"label\":\"Ja\"},{\"value\":\"Nein\",\"label\":\"Nein\"}],\"merge_id\":3,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"3\",\"field_type\":\"merge\"},\"MMERGE4\":{\"name\":\"MMERGE4\",\"label\":\"Canton\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Canton\",\"merge_id\":4,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"4\",\"field_type\":\"merge\"}}).find(function(f) { return f.name === fieldName &#038;&#038; f.type === 'smsphone'; });\n      var isRequired = smsField ? smsField.required : false;\n      var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true;\n      \n      var phoneInput = document.querySelector('#mce-' + fieldName);\n      if (phoneInput &#038;&#038; defaultProgram.countryCallingCode &#038;&#038; shouldAppendCountryCode) {\n        phoneInput.value = defaultProgram.countryCallingCode;\n      }\n      \n\n\n      displayFlag?.addEventListener('click', function(e) {\n        dropdown.focus();\n      });\n\n\n      dropdown?.addEventListener('change', function() {\n        const selectedCountry = this.value;\n        \n        if (!selectedCountry || typeof selectedCountry !== 'string') {\n          return;\n        }\n        \n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\n        if (flagSpan) {\n          flagSpan.textContent = getCountryUnicodeFlag(selectedCountry);\n          flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag');\n        }\n\n         \n        const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) {\n          return program &#038;&#038; program.countryCode === selectedCountry;\n        });\n\n        var smsNotRequiredRemoveCountryCodeEnabled = true;\n        var smsField = Object.values({\"EMAIL\":{\"name\":\"EMAIL\",\"label\":\"E-mail\",\"helper_text\":\"\",\"type\":\"email\",\"required\":true,\"audience_field_name\":\"E-mail\",\"merge_id\":0,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"0\",\"field_type\":\"merge\"},\"FNAME\":{\"name\":\"FNAME\",\"label\":\"Pr\u00e9nom\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Pr\u00e9nom\",\"merge_id\":1,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"1\",\"field_type\":\"merge\"},\"LNAME\":{\"name\":\"LNAME\",\"label\":\"Nom\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Nom\",\"merge_id\":2,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"2\",\"field_type\":\"merge\"},\"MITGLIED\":{\"name\":\"MITGLIED\",\"label\":\"Retina Suisse Membre\",\"helper_text\":\"\",\"type\":\"radio\",\"required\":false,\"audience_field_name\":\"Retina Suisse Membre\",\"choices\":[{\"value\":\"Ja\",\"label\":\"Ja\"},{\"value\":\"Nein\",\"label\":\"Nein\"}],\"merge_id\":3,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"3\",\"field_type\":\"merge\"},\"MMERGE4\":{\"name\":\"MMERGE4\",\"label\":\"Canton\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Canton\",\"merge_id\":4,\"help_text_enabled\":false,\"enabled\":true,\"order\":\"4\",\"field_type\":\"merge\"}}).find(function(f) { return f.name === fieldName &#038;&#038; f.type === 'smsphone'; });\n        var isRequired = smsField ? smsField.required : false;\n        var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true;\n        \n        var phoneInput = document.querySelector('#mce-' + fieldName);\n        if (phoneInput &#038;&#038; selectedProgram.countryCallingCode &#038;&#038; shouldAppendCountryCode) {\n          phoneInput.value = selectedProgram.countryCallingCode;\n        }\n        \n        \n        updateSmsLegalText(selectedCountry, fieldName);\n        updatePlaceholder(selectedCountry, fieldName);\n        updateCountryCodeInstruction(selectedCountry, fieldName);\n      });\n    }\n\n    document.addEventListener('DOMContentLoaded', function() {\n      const smsPhoneFields = document.querySelectorAll('[id^=\"country-select-\"]');\n      \n      smsPhoneFields.forEach(function(dropdown) {\n        const fieldName = dropdown?.id.replace('country-select-', '');\n        initializeSmsPhoneDropdown(fieldName);\n      });\n    });\n    <\/script><\/div>\n\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<div id=\"mc_embed_shell\">\n      <link href=\"\/\/cdn-images.mailchimp.com\/embedcode\/classic-061523.css\" rel=\"stylesheet\" type=\"text\/css\">\n  <style type=\"text\/css\">\n        #mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: 600px;}\n        \/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.\n           We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. *\/\n<\/style>\n<div id=\"mc_embed_signup\">\n    <form action=\"https:\/\/retina.us2.list-manage.com\/subscribe\/post?u=965727222bd46203a97a7f0d8&amp;id=41bc1e60ba&amp;f_id=003c91e3f0\" method=\"post\" id=\"mc-embedded-subscribe-form\" name=\"mc-embedded-subscribe-form\" class=\"validate\" target=\"_blank\">\n        <div id=\"mc_embed_signup_scroll\"><h2>Retina Suisse Italiano Signup<\/h2>\n            <div class=\"indicates-required\"><span class=\"asterisk\">*<\/span> indicates required<\/div>\n            <div class=\"mc-field-group\"><label for=\"mce-EMAIL\">E-mail <span class=\"asterisk\">*<\/span><\/label><input type=\"email\" name=\"EMAIL\" class=\"required email\" id=\"mce-EMAIL\" required=\"\" value=\"\"><\/div><div class=\"mc-field-group\"><label for=\"mce-FNAME\">Cognome <\/label><input type=\"text\" name=\"FNAME\" class=\" text\" id=\"mce-FNAME\" value=\"\"><\/div><div class=\"mc-field-group\"><label for=\"mce-LNAME\">Nome <\/label><input type=\"text\" name=\"LNAME\" class=\" text\" id=\"mce-LNAME\" value=\"\"><\/div><div class=\"mc-field-group input-group\"><strong>Retina Suisse Mitglied <\/strong><ul><li><input type=\"radio\" name=\"MITGLIED\" id=\"mce-MITGLIED0\" value=\"Ja\"><label for=\"mce-MITGLIED0\">Ja<\/label><\/li><li><input type=\"radio\" name=\"MITGLIED\" id=\"mce-MITGLIED1\" value=\"Nein\"><label for=\"mce-MITGLIED1\">Nein<\/label><\/li><\/ul><\/div><div class=\"mc-field-group\"><label for=\"mce-MMERGE4\">Cantone <\/label><input type=\"text\" name=\"MMERGE4\" class=\" text\" id=\"mce-MMERGE4\" value=\"\"><\/div>\n        <div id=\"mce-responses\" class=\"clear\">\n            <div class=\"response\" id=\"mce-error-response\" style=\"display: none;\"><\/div>\n            <div class=\"response\" id=\"mce-success-response\" style=\"display: none;\"><\/div>\n        <\/div><div aria-hidden=\"true\" style=\"position: absolute; left: -5000px;\"><input type=\"text\" name=\"b_965727222bd46203a97a7f0d8_41bc1e60ba\" tabindex=\"-1\" value=\"\"><\/div><div class=\"clear\"><input type=\"submit\" name=\"subscribe\" id=\"mc-embedded-subscribe\" class=\"button\" value=\"Subscribe\"><\/div>\n    <\/div>\n<\/form>\n<\/div>\n<script type=\"text\/javascript\" src=\"\/\/s3.amazonaws.com\/downloads.mailchimp.com\/js\/mc-validate.js\"><\/script><script type=\"text\/javascript\">(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';fnames[3]='MITGLIED';ftypes[3]='radio';fnames[4]='MMERGE4';ftypes[4]='text';\/*\n * Translated default messages for the $ validation plugin.\n * Locale: IT\n *\/\n$.extend($.validator.messages, {\n       required: \"Campo obbligatorio.\",\n       remote: \"Controlla questo campo.\",\n       email: \"Inserisci un indirizzo email valido.\",\n       url: \"Inserisci un indirizzo web valido.\",\n       date: \"Inserisci una data valida.\",\n       dateISO: \"Inserisci una data valida (ISO).\",\n       number: \"Inserisci un numero valido.\",\n       digits: \"Inserisci solo numeri.\",\n       creditcard: \"Inserisci un numero di carta di credito valido.\",\n       equalTo: \"Il valore non corrisponde.\",\n       accept: \"Inserisci un valore con un&apos;estensione valida.\",\n       maxlength: $.validator.format(\"Non inserire pi&ugrave; di {0} caratteri.\"),\n       minlength: $.validator.format(\"Inserisci almeno {0} caratteri.\"),\n       rangelength: $.validator.format(\"Inserisci un valore compreso tra {0} e {1} caratteri.\"),\n       range: $.validator.format(\"Inserisci un valore compreso tra {0} e {1}.\"),\n       max: $.validator.format(\"Inserisci un valore minore o uguale a {0}.\"),\n       min: $.validator.format(\"Inserisci un valore maggiore o uguale a {0}.\")\n});}(jQuery));var $mcj = jQuery.noConflict(true);\n    \/\/ SMS Phone Multi-Country Functionality\n    if(!window.MC) {\n      window.MC = {};\n    }\n    window.MC.smsPhoneData = {\n      defaultCountryCode: 'CH',\n      programs: [],\n      smsProgramDataCountryNames: []\n    };\n\n    function getCountryUnicodeFlag(countryCode) {\n       return countryCode.toUpperCase().replace(\/.\/g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397))\n    };\n\n    \/\/ HTML sanitization function to prevent XSS\n    function sanitizeHtml(str) {\n      if (typeof str !== 'string') return '';\n      return str\n        .replace(\/&\/g, '&amp;')\n        .replace(\/<\/g, '&lt;')\n        .replace(\/>\/g, '&gt;')\n        .replace(\/\"\/g, '&quot;')\n        .replace(\/'\/g, '&#x27;')\n        .replace(\/\\\/\/g, '&#x2F;');\n    }\n\n    \/\/ URL sanitization function to prevent javascript: and data: URLs\n    function sanitizeUrl(url) {\n      if (typeof url !== 'string') return '';\n      const trimmedUrl = url.trim().toLowerCase();\n      if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) {\n        return '#';\n      }\n      return url;\n    }\n\n    const getBrowserLanguage = () => {\n      if (!window?.navigator?.language?.split('-')[1]) {\n        return window?.navigator?.language?.toUpperCase();\n      }\n      return window?.navigator?.language?.split('-')[1];\n    };\n\n    function getDefaultCountryProgram(defaultCountryCode, smsProgramData) {\n      if (!smsProgramData || smsProgramData.length === 0) {\n        return null;\n      }\n\n      const browserLanguage = getBrowserLanguage();\n\n      if (browserLanguage) {\n        const foundProgram = smsProgramData.find(\n          (program) => program?.countryCode === browserLanguage,\n        );\n        if (foundProgram) {\n          return foundProgram;\n        }\n      }\n\n      if (defaultCountryCode) {\n        const foundProgram = smsProgramData.find(\n          (program) => program?.countryCode === defaultCountryCode,\n        );\n        if (foundProgram) {\n          return foundProgram;\n        }\n      }\n\n      return smsProgramData[0];\n    }\n\n    function updateSmsLegalText(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      const programs = window?.MC?.smsPhoneData?.programs;\n      if (!programs || !Array.isArray(programs)) {\n        return;\n      }\n      \n      const program = programs.find(program => program?.countryCode === countryCode);\n      if (!program || !program.requiredTemplate) {\n        return;\n      }\n      \n      const legalTextElement = document.querySelector('#legal-text-' + fieldName);\n      if (!legalTextElement) {\n        return;\n      }\n      \n      \/\/ Remove HTML tags and clean up the text\n      const divRegex = new RegExp('<\/?[div][^>]*>', 'gi');\n      const fullAnchorRegex = new RegExp('<a.*?<\/a>', 'g');\n      const anchorRegex = new RegExp('<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\/a>');\n      \n      const template = program.requiredTemplate.replace(divRegex, '');\n      \n      \n\n      legalTextElement.textContent = '';\n      const parts = template.split(\/(<a href=\".*?\" target=\".*?\">.*?<\\\/a>)\/g);\n      parts.forEach(function(part) {\n        if (!part) {\n          return;\n        }\n        const anchorMatch = part.match(\/<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\\\/a>\/);\n        if (anchorMatch) {\n          const linkElement = document.createElement('a');\n          linkElement.href = sanitizeUrl(anchorMatch[1]);\n          linkElement.target = sanitizeHtml(anchorMatch[2]);\n          linkElement.textContent = sanitizeHtml(anchorMatch[3]);\n          legalTextElement.appendChild(linkElement);\n        } else {\n          legalTextElement.appendChild(document.createTextNode(part));\n        }\n      });\n          \n    }\n\n    function generateDropdownOptions(smsProgramData) {\n      if (!smsProgramData || smsProgramData.length === 0) {\n        return '';\n      }\n      \n      return smsProgramData.map(program => {\n        const flag = getCountryUnicodeFlag(program.countryCode);\n        const countryName = getCountryName(program.countryCode);\n        const callingCode = program.countryCallingCode || '';\n        \/\/ Sanitize all values to prevent XSS\n        const sanitizedCountryCode = sanitizeHtml(program.countryCode || '');\n        const sanitizedCountryName = sanitizeHtml(countryName || '');\n        const sanitizedCallingCode = sanitizeHtml(callingCode || '');\n        return '<option value=\"' + sanitizedCountryCode + '\">' + sanitizedCountryName + ' ' + sanitizedCallingCode + '<\/option>';\n      }).join('');\n    }\n\n    function getCountryName(countryCode) {\n      if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) {\n        for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) {\n          if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) {\n            return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name;\n          }\n        }\n      }\n      return countryCode;\n    }\n\n    function getDefaultPlaceholder(countryCode) {\n      if (!countryCode || typeof countryCode !== 'string') {\n        return '+1 000 000 0000'; \/\/ Default US placeholder\n      }\n      \n            var mockPlaceholders = [\n        {\n          countryCode: 'US',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the US country code +1 before the phone number',\n        },\n        {\n          countryCode: 'GB',\n          placeholder: '+44 0000 000000',\n          helpText: 'Include the GB country code +44 before the phone number',\n        },\n        {\n          countryCode: 'CA',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the CA country code +1 before the phone number',\n        },\n        {\n          countryCode: 'AU',\n          placeholder: '+61 000 000 000',\n          helpText: 'Include the AU country code +61 before the phone number',\n        },\n        {\n          countryCode: 'DE',\n          placeholder: '+49 000 0000000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\n        },\n        {\n          countryCode: 'FR',\n          placeholder: '+33 0 00 00 00 00',\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'ES',\n          placeholder: '+34 000 000 000',\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\n        },\n        {\n          countryCode: 'NL',\n          placeholder: '+31 0 00000000',\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\n        },\n        {\n          countryCode: 'BE',\n          placeholder: '+32 000 00 00 00',\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'CH',\n          placeholder: '+41 00 000 00 00',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\n        },\n        {\n          countryCode: 'AT',\n          placeholder: '+43 000 000 0000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\n        },\n        {\n          countryCode: 'IE',\n          placeholder: '+353 00 000 0000',\n          helpText: 'Include the IE country code +353 before the phone number',\n        },\n        {\n          countryCode: 'IT',\n          placeholder: '+39 000 000 0000',\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\n        },\n      ];\n\n      const selectedPlaceholder = mockPlaceholders.find(function(item) {\n        return item &#038;&#038; item.countryCode === countryCode;\n      });\n      \n      return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder;\n    }\n\n    function updatePlaceholder(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      const phoneInput = document.querySelector('#mce-' + fieldName);\n      if (!phoneInput) {\n        return;\n      }\n      \n      const placeholder = getDefaultPlaceholder(countryCode);\n      if (placeholder) {\n        phoneInput.placeholder = placeholder;\n      }\n    }\n\n    function updateCountryCodeInstruction(countryCode, fieldName) {\n      updatePlaceholder(countryCode, fieldName);\n      \n    }\n\n    function getDefaultHelpText(countryCode) {\n      var mockPlaceholders = [\n        {\n          countryCode: 'US',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the US country code +1 before the phone number',\n        },\n        {\n          countryCode: 'GB',\n          placeholder: '+44 0000 000000',\n          helpText: 'Include the GB country code +44 before the phone number',\n        },\n        {\n          countryCode: 'CA',\n          placeholder: '+1 000 000 0000',\n          helpText: 'Include the CA country code +1 before the phone number',\n        },\n        {\n          countryCode: 'AU',\n          placeholder: '+61 000 000 000',\n          helpText: 'Include the AU country code +61 before the phone number',\n        },\n        {\n          countryCode: 'DE',\n          placeholder: '+49 000 0000000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\n        },\n        {\n          countryCode: 'FR',\n          placeholder: '+33 0 00 00 00 00',\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'ES',\n          placeholder: '+34 000 000 000',\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\n        },\n        {\n          countryCode: 'NL',\n          placeholder: '+31 0 00000000',\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\n        },\n        {\n          countryCode: 'BE',\n          placeholder: '+32 000 00 00 00',\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\n        },\n        {\n          countryCode: 'CH',\n          placeholder: '+41 00 000 00 00',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\n        },\n        {\n          countryCode: 'AT',\n          placeholder: '+43 000 000 0000',\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\n        },\n        {\n          countryCode: 'IE',\n          placeholder: '+353 00 000 0000',\n          helpText: 'Include the IE country code +353 before the phone number',\n        },\n        {\n          countryCode: 'IT',\n          placeholder: '+39 000 000 0000',\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\n        },\n      ];\n      \n      if (!countryCode || typeof countryCode !== 'string') {\n        return mockPlaceholders[0].helpText;\n      }\n      \n      const selectedHelpText = mockPlaceholders.find(function(item) {\n          return item &#038;&#038; item.countryCode === countryCode;\n        });\n        \n        return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText;\n    }\n\n    function setDefaultHelpText(countryCode) {\n      const helpTextSpan = document.querySelector('#help-text');\n      if (!helpTextSpan) {\n        return;\n      }\n\n        \n    }\n\n    function updateHelpTextCountryCode(countryCode, fieldName) {\n      if (!countryCode || !fieldName) {\n        return;\n      }\n      \n      setDefaultHelpText(countryCode);\n    }\n\n    function initializeSmsPhoneDropdown(fieldName) {\n      if (!fieldName || typeof fieldName !== 'string') {\n        return;\n      }\n      \n      const dropdown = document.querySelector('#country-select-' + fieldName);\n      const displayFlag = document.querySelector('#flag-display-' + fieldName);\n      \n      if (!dropdown || !displayFlag) {\n        return;\n      }\n\n      const smsPhoneData = window.MC?.smsPhoneData;\n      if (smsPhoneData &#038;&#038; smsPhoneData.programs &#038;&#038; Array.isArray(smsPhoneData.programs)) {\n        dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs);\n      }\n\n      const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs);\n      if (defaultProgram &#038;&#038; defaultProgram.countryCode) {\n        dropdown.value = defaultProgram.countryCode;\n        \n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\n        if (flagSpan) {\n          flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode);\n          flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag');\n        }\n        \n        updateSmsLegalText(defaultProgram.countryCode, fieldName);\n        updatePlaceholder(defaultProgram.countryCode, fieldName);\n        updateCountryCodeInstruction(defaultProgram.countryCode, fieldName);\n      }\n\n     \n      var smsNotRequiredRemoveCountryCodeEnabled = true;\n      var smsField = Object.values({\"EMAIL\":{\"name\":\"EMAIL\",\"label\":\"E-mail\",\"helper_text\":\"\",\"merge_id\":0,\"type\":\"email\",\"required\":true,\"audience_field_name\":\"E-mail\",\"field_type\":\"merge\",\"enabled\":true,\"order\":0},\"FNAME\":{\"name\":\"FNAME\",\"label\":\"Cognome\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Cognome\",\"enabled\":true,\"order\":1,\"field_type\":\"merge\",\"merge_id\":1},\"LNAME\":{\"name\":\"LNAME\",\"label\":\"Nome\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Nome\",\"enabled\":true,\"order\":2,\"field_type\":\"merge\",\"merge_id\":2},\"MITGLIED\":{\"name\":\"MITGLIED\",\"label\":\"Retina Suisse Mitglied\",\"helper_text\":\"\",\"type\":\"radio\",\"required\":false,\"audience_field_name\":\"Retina Suisse Mitglied\",\"choices\":[{\"value\":\"Ja\",\"label\":\"Ja\"},{\"value\":\"Nein\",\"label\":\"Nein\"}],\"enabled\":true,\"order\":3,\"field_type\":\"merge\",\"merge_id\":3},\"MMERGE4\":{\"name\":\"MMERGE4\",\"label\":\"Cantone\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Cantone\",\"enabled\":true,\"order\":4,\"field_type\":\"merge\",\"merge_id\":4}}).find(function(f) { return f.name === fieldName &#038;&#038; f.type === 'smsphone'; });\n      var isRequired = smsField ? smsField.required : false;\n      var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true;\n      \n      var phoneInput = document.querySelector('#mce-' + fieldName);\n      if (phoneInput &#038;&#038; defaultProgram.countryCallingCode &#038;&#038; shouldAppendCountryCode) {\n        phoneInput.value = defaultProgram.countryCallingCode;\n      }\n      \n\n\n      displayFlag?.addEventListener('click', function(e) {\n        dropdown.focus();\n      });\n\n\n      dropdown?.addEventListener('change', function() {\n        const selectedCountry = this.value;\n        \n        if (!selectedCountry || typeof selectedCountry !== 'string') {\n          return;\n        }\n        \n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\n        if (flagSpan) {\n          flagSpan.textContent = getCountryUnicodeFlag(selectedCountry);\n          flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag');\n        }\n\n         \n        const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) {\n          return program &#038;&#038; program.countryCode === selectedCountry;\n        });\n\n        var smsNotRequiredRemoveCountryCodeEnabled = true;\n        var smsField = Object.values({\"EMAIL\":{\"name\":\"EMAIL\",\"label\":\"E-mail\",\"helper_text\":\"\",\"merge_id\":0,\"type\":\"email\",\"required\":true,\"audience_field_name\":\"E-mail\",\"field_type\":\"merge\",\"enabled\":true,\"order\":0},\"FNAME\":{\"name\":\"FNAME\",\"label\":\"Cognome\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Cognome\",\"enabled\":true,\"order\":1,\"field_type\":\"merge\",\"merge_id\":1},\"LNAME\":{\"name\":\"LNAME\",\"label\":\"Nome\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Nome\",\"enabled\":true,\"order\":2,\"field_type\":\"merge\",\"merge_id\":2},\"MITGLIED\":{\"name\":\"MITGLIED\",\"label\":\"Retina Suisse Mitglied\",\"helper_text\":\"\",\"type\":\"radio\",\"required\":false,\"audience_field_name\":\"Retina Suisse Mitglied\",\"choices\":[{\"value\":\"Ja\",\"label\":\"Ja\"},{\"value\":\"Nein\",\"label\":\"Nein\"}],\"enabled\":true,\"order\":3,\"field_type\":\"merge\",\"merge_id\":3},\"MMERGE4\":{\"name\":\"MMERGE4\",\"label\":\"Cantone\",\"helper_text\":\"\",\"type\":\"text\",\"required\":false,\"audience_field_name\":\"Cantone\",\"enabled\":true,\"order\":4,\"field_type\":\"merge\",\"merge_id\":4}}).find(function(f) { return f.name === fieldName &#038;&#038; f.type === 'smsphone'; });\n        var isRequired = smsField ? smsField.required : false;\n        var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true;\n        \n        var phoneInput = document.querySelector('#mce-' + fieldName);\n        if (phoneInput &#038;&#038; selectedProgram.countryCallingCode &#038;&#038; shouldAppendCountryCode) {\n          phoneInput.value = selectedProgram.countryCallingCode;\n        }\n        \n        \n        updateSmsLegalText(selectedCountry, fieldName);\n        updatePlaceholder(selectedCountry, fieldName);\n        updateCountryCodeInstruction(selectedCountry, fieldName);\n      });\n    }\n\n    document.addEventListener('DOMContentLoaded', function() {\n      const smsPhoneFields = document.querySelectorAll('[id^=\"country-select-\"]');\n      \n      smsPhoneFields.forEach(function(dropdown) {\n        const fieldName = dropdown?.id.replace('country-select-', '');\n        initializeSmsPhoneDropdown(fieldName);\n      });\n    });\n    <\/script><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Retina Suisse Deutsch Signup * indicates required Email Adresse * Vorname Nachname Retina Suisse Mitglied Ja Nein Kanton Retina Suisse Italiano Signup * indicates required E-mail * Cognome Nome Retina Suisse Mitglied Ja Nein Cantone<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"_FSMCFIC_featured_image_caption":"","_FSMCFIC_featured_image_nocaption":"","_FSMCFIC_featured_image_hide":"","footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-25436","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mailchimp Signup &#8226; Retina Suisse<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/retina.ch\/it\/mailchimp-signup\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mailchimp Signup &#8226; Retina Suisse\" \/>\n<meta property=\"og:description\" content=\"Retina Suisse Deutsch Signup * indicates required Email Adresse * Vorname Nachname Retina Suisse Mitglied Ja Nein Kanton Retina Suisse Italiano Signup * indicates required E-mail * Cognome Nome Retina Suisse Mitglied Ja Nein Cantone\" \/>\n<meta property=\"og:url\" content=\"https:\/\/retina.ch\/it\/mailchimp-signup\/\" \/>\n<meta property=\"og:site_name\" content=\"Retina Suisse\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/retinasuisse\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-05T13:02:20+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/retina.ch\/it\/mailchimp-signup\/\",\"url\":\"https:\/\/retina.ch\/it\/mailchimp-signup\/\",\"name\":\"Mailchimp Signup &#8226; Retina Suisse\",\"isPartOf\":{\"@id\":\"https:\/\/retina.ch\/it\/#website\"},\"datePublished\":\"2026-02-05T12:55:52+00:00\",\"dateModified\":\"2026-02-05T13:02:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/retina.ch\/it\/mailchimp-signup\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/retina.ch\/it\/mailchimp-signup\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/retina.ch\/it\/mailchimp-signup\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Retina Suisse\",\"item\":\"https:\/\/retina.ch\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mailchimp Signup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/retina.ch\/it\/#website\",\"url\":\"https:\/\/retina.ch\/it\/\",\"name\":\"Retina Suisse\",\"description\":\"Retina Suisse ist die Vereinigung von Patientinnen und Patienten mit Retinitis pigmentosa (RP), Makuladegeneration, Usher-Syndrom und anderen Erkrankungen des Augenhintergrundes.\",\"publisher\":{\"@id\":\"https:\/\/retina.ch\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/retina.ch\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/retina.ch\/it\/#organization\",\"name\":\"Retina Suisse\",\"url\":\"https:\/\/retina.ch\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/retina.ch\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/retina.ch\/wp-content\/uploads\/2020\/09\/retina-auge-typo.svg\",\"contentUrl\":\"https:\/\/retina.ch\/wp-content\/uploads\/2020\/09\/retina-auge-typo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"Retina Suisse\"},\"image\":{\"@id\":\"https:\/\/retina.ch\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/retinasuisse\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mailchimp Signup &#8226; Retina Suisse","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/retina.ch\/it\/mailchimp-signup\/","og_locale":"it_IT","og_type":"article","og_title":"Mailchimp Signup &#8226; Retina Suisse","og_description":"Retina Suisse Deutsch Signup * indicates required Email Adresse * Vorname Nachname Retina Suisse Mitglied Ja Nein Kanton Retina Suisse Italiano Signup * indicates required E-mail * Cognome Nome Retina Suisse Mitglied Ja Nein Cantone","og_url":"https:\/\/retina.ch\/it\/mailchimp-signup\/","og_site_name":"Retina Suisse","article_publisher":"https:\/\/www.facebook.com\/retinasuisse\/","article_modified_time":"2026-02-05T13:02:20+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/retina.ch\/it\/mailchimp-signup\/","url":"https:\/\/retina.ch\/it\/mailchimp-signup\/","name":"Mailchimp Signup &#8226; Retina Suisse","isPartOf":{"@id":"https:\/\/retina.ch\/it\/#website"},"datePublished":"2026-02-05T12:55:52+00:00","dateModified":"2026-02-05T13:02:20+00:00","breadcrumb":{"@id":"https:\/\/retina.ch\/it\/mailchimp-signup\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/retina.ch\/it\/mailchimp-signup\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/retina.ch\/it\/mailchimp-signup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Retina Suisse","item":"https:\/\/retina.ch\/it\/"},{"@type":"ListItem","position":2,"name":"Mailchimp Signup"}]},{"@type":"WebSite","@id":"https:\/\/retina.ch\/it\/#website","url":"https:\/\/retina.ch\/it\/","name":"Retina Suisse","description":"Retina Suisse ist die Vereinigung von Patientinnen und Patienten mit Retinitis pigmentosa (RP), Makuladegeneration, Usher-Syndrom und anderen Erkrankungen des Augenhintergrundes.","publisher":{"@id":"https:\/\/retina.ch\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/retina.ch\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/retina.ch\/it\/#organization","name":"Retina Suisse","url":"https:\/\/retina.ch\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/retina.ch\/it\/#\/schema\/logo\/image\/","url":"https:\/\/retina.ch\/wp-content\/uploads\/2020\/09\/retina-auge-typo.svg","contentUrl":"https:\/\/retina.ch\/wp-content\/uploads\/2020\/09\/retina-auge-typo.svg","width":"1024","height":"1024","caption":"Retina Suisse"},"image":{"@id":"https:\/\/retina.ch\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/retinasuisse\/"]}]}},"_links":{"self":[{"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/pages\/25436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/comments?post=25436"}],"version-history":[{"count":4,"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/pages\/25436\/revisions"}],"predecessor-version":[{"id":25445,"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/pages\/25436\/revisions\/25445"}],"wp:attachment":[{"href":"https:\/\/retina.ch\/it\/wp-json\/wp\/v2\/media?parent=25436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}