Conditions générales de vente (CGV)

  • Glossaire

    • ET : eezy tool Ltd.
    • Client : personne morale ou physique titulaire d’un compte eezytool et partie au contrat avec ET.
    • Utilisateur : personne autorisée par le Client à utiliser le logiciel eezytool au moyen d’un accès qu’il contrôle.
    • Licence eezyserver (Licence ES) : autorisation d’utilisation du logiciel eezytool pour un Utilisateur, comprenant les programmes et un volume de stockage déterminé.
    • ET Fiduciaire : fiduciaire enregistrée auprès de eezy tool Ltd et autorisée à utiliser eezytool pour des clients.
    • Exercice financier : exercice comptable du Client, d’une durée maximale de 12 mois.
    • Licence : droit d’utiliser le logiciel eezytool tel que défini dans le contrat, la commande ou l’abonnement souscrit.

     

    1. Champ d’application, objet du contrat et prestations

    1.1 Les présentes conditions générales de vente (« CGV ») régissent la relation contractuelle entre la société eezy tool Ltd. (ci-après « ET ») et ses clientes et clients (ci-après le « Client ») et s’appliquent à l’ensemble des produits et services d’ET. ET propose une solution Software-as-a-Service (SaaS) sous la dénomination « eezytool », qui comprend des solutions logicielles générales ainsi que l’hébergement de contenus.

    1.2 La relation contractuelle entre ET et le Client naît avec l’inscription et l’ouverture d’un compte eezytool. ET fournit ses prestations conformément aux informations et descriptions figurant sur le site internet et/ou dans l’offre ou la commande correspondante. L’étendue des prestations et des fonctions, ainsi que les conditions applicables, sont déterminées par la description actuelle des prestations disponible sur le site internet www.eezytool.ch.

    1.3 Disponibilité et interruptions : ET veille au bon fonctionnement de ses logiciels et à leur accessibilité via internet 24 heures sur 24, sous réserve du paiement intégral des frais dus. Des restrictions temporaires peuvent toutefois survenir en raison de travaux de maintenance, de mesures de sécurité ou de pannes techniques imprévues. Dans ces cas, aucune demande de compensation pour les temps d’arrêt ne pourra être exigée, que ce soit pour la licence principale ou pour les autres modules ; la disponibilité constitue une obligation de moyens et non de résultat. Le cas échéant, ET peut, à sa seule discrétion, accorder un geste commercial ou une prolongation d’accès en cas d’indisponibilité prolongée, sans que cela ne crée un droit acquis pour l’avenir.

     

    2. Droits d’utilisation et de licence

    2.1 Propriété et protection

    ET concède au Client un droit d’utilisation non exclusif, non transférable et limité à la durée du contrat pour le logiciel eezytool et les modules choisis. Les logiciels d’ET demeurent la propriété exclusive d’ET et sont protégés par le droit d’auteur, les lois nationales et les accords internationaux applicables.

    2.2 Restrictions

    Le Client n’a pas le droit de copier les logiciels, de transmettre ses données d’accès à des tiers non autorisés, ni de communiquer à des tiers la documentation ou les informations confidentielles liées au logiciel eezytool. Il est interdit de prêter, louer ou sous-licencier le logiciel, en tout ou en partie, sauf accord exprès et préalable d’ET.

    2.3 Reverse engineering

    Le Client ne peut procéder à la rétro-ingénierie (reverse engineering), décompiler, désassembler, modifier, traduire ou créer des œuvres dérivées basées sur le logiciel, ni tenter de rendre accessible le code source du logiciel.

    2.4 Portée

    La Licence est octroyée pour une entité juridique spécifique identifiée comme Client. Le Client est responsable des droits d’accès accordés à ses Utilisateurs et de toute utilisation qui est faite de son compte eezytool.

     

    3. Propriété, traitement, hébergement, accès et protection des données

    3.1 Propriété des données et sauvegarde

    Le Client reste l’unique propriétaire des données saisies dans le logiciel eezytool. Le Client peut exiger d’ET la transmission de tout ou partie de ces données pendant la durée du contrat, moyennant le paiement d’une indemnité de frais raisonnable pour la préparation et la communication des données.

    Le Client est seul responsable de la sauvegarde régulière de ses données, notamment par export ou téléchargement, et ce indépendamment des sauvegardes techniques éventuellement réalisées par ET. Les éventuels mécanismes de sauvegarde mis en place par ET servent exclusivement à la continuité et à la sécurité générales du service et ne constituent pas une garantie de restauration individuelle des données du Client.

    Un échange de données peut avoir lieu entre le Client et ET, ainsi qu’avec des plateformes ou prestataires tiers (marketplaces, interfaces bancaires, Google et autres) nécessaires au fonctionnement du service. Dans la mesure permise par le droit applicable, ET ne peut être tenue responsable des pertes de données résultant de l’utilisation du service, sous réserve des limites de responsabilité prévues à l’article 6.

    3.2 Traitement des données

    En acceptant les présentes CGV, le Client accepte expressément que ses données soient traitées par ET dans le cadre de l’exécution du contrat et du fonctionnement du service eezytool. ET n’est pas responsable de la gestion ni du traitement des données dans le cadre de l’utilisation de services de prestataires tiers (y compris les paiements ordonnés ou les informations relatives aux comptes via ces services) et décline toute responsabilité à cet égard.

    Le traitement des données personnelles est également régi par un accord de traitement des données (DPA) disponible sur notre site.

    3.3 Hébergement des données et espace de stockage

    Les données traitées par le Client dans le cadre de l’utilisation du logiciel eezytool sont hébergées sur les serveurs d’ET ou de ses prestataires d’hébergement, conformément aux standards de sécurité et de protection des données en vigueur.

    Dans le cadre de l’abonnement souscrit, le Client dispose d’un espace de stockage standard lui permettant notamment de gérer sa base de données clients, ses écritures comptables, documents et autres informations nécessaires à l’exploitation normale du logiciel. Le Client reconnaît que l’espace de stockage inclus dans l’abonnement est limité selon l’offre choisie.

    En cas de besoin d’espace de stockage supplémentaire, le Client peut louer un espace de stockage additionnel auprès d’ET, selon les conditions et tarifs en vigueur au moment de la demande. ET se réserve le droit : d’informer le Client lorsque les limites de stockage sont atteintes ou sur le point de l’être ; de restreindre temporairement certaines fonctionnalités liées au stockage en cas de dépassement non autorisé ; de proposer des solutions d’extension de capacité adaptées aux besoins du Client.

    Le Client demeure responsable de la gestion, de l’organisation et de la pertinence des données stockées, ainsi que du respect des obligations légales relatives à leur conservation et à leur suppression.

    3.4 Responsabilité des accès

    Le Client est tenu de garder ses identifiant(s) et mot(s) de passe confidentiels et il en est responsable. Dans le cas des fiduciaires, le Client a la possibilité d’accorder à un tiers (par ex. une fiduciaire) l’accès à son compte ; il conserve le contrôle total des droits d’accès des tiers à ses données et peut restreindre ou refuser cet accès à tout moment. En accordant cet accès, le Client accepte qu’ET mette toutes les données partagées à disposition du tiers autorisé ou lui fournisse l’accès à ces données. ET n’assume aucune responsabilité quant au traitement des données par les tiers autorisés.

    3.5 Mandat à des tiers, accès et responsabilités

    ET permet au Client de confier tout ou partie de la gestion de ses données et de ses mandats à des tiers autorisés, notamment des fiduciaires ou autres prestataires professionnels.

    Le Client peut accorder à un tiers un accès à son compte eezytool afin de consulter, gérer, importer ou échanger des données. Le Client conserve en tout temps le contrôle exclusif des droits d’accès accordés aux tiers et peut les restreindre, modifier ou révoquer à tout moment. Les tiers peuvent, selon les fonctionnalités du service, demander directement au Client une autorisation d’accès ; l’octroi de cet accès relève exclusivement de la décision et de la responsabilité du Client.

    Gestion de comptes externes : si le service le prévoit, un tiers peut créer son propre compte eezytool et gérer un mandat pour un client n’utilisant pas directement ET (ci-après « Client externe »). Dans ce cas, le tiers est seul cocontractant d’ET et seul responsable de la gestion des accès, des données et du respect des obligations légales applicables envers le Client externe.

    Responsabilité et traitement des données par des tiers : en autorisant un tiers à accéder à ses données, le Client accepte expressément qu’ET mette les données concernées à disposition de ce tiers ou lui en permette l’accès. ET n’exerce aucun contrôle sur l’utilisation, le traitement ou la conservation des données par les tiers autorisés et décline toute responsabilité à cet égard ; les tiers sont seuls responsables du respect des dispositions légales applicables, notamment en matière de protection des données, de secret professionnel et de gestion des mandats. ET ne peut être tenue responsable des actes, omissions, erreurs ou manquements des tiers autorisés, ni des dommages qui en résultent.

    Exception légale : ET se réserve le droit de communiquer certaines données à des autorités ou à des tiers autorisés uniquement en cas d’obligation légale, de décision judiciaire ou de risque juridique grave.

    3.6 Fin de contrat et restitution des données

    À la fin du contrat, le Client dispose de 60 jours (extensibles à 90 jours sur accord écrit) pour demander la restitution de ses données avant leur suppression irrévocable. La demande doit être adressée à ET via les canaux de contact indiqués sur le site www.eezytool.ch ou via les fonctions prévues dans le logiciel. Les données peuvent être créées au format pdf.

    3.7 Intégration avec la plateforme b.link (SIX Group)
    ET utilise la plateforme b.link, exploitée par SIX Group AG, pour permettre la synchronisation automatique et sécurisée des comptes bancaires avec le logiciel eezytool. Cette intégration permet au Client d’importer ou de synchroniser ses transactions bancaires directement depuis ses établissements financiers partenaires.
    En activant cette fonctionnalité, le Client autorise expressément ET à transmettre et à traiter, via b.link, les données nécessaires à la synchronisation (notamment les identifiants de connexion bancaire protégés, informations de compte et données de mouvement).
    Le traitement de ces données est soumis aux conditions de sécurité et de protection des données de SIX Group AG, disponibles sur https://www.six-group.com/.
    ET agit uniquement en tant qu’intermédiaire technique et décline toute responsabilité pour les données traitées par les établissements bancaires ou par SIX Group AG. Le Client demeure responsable de l’activation ou de la désactivation de cette fonction, ainsi que de la conformité de son usage aux obligations légales applicables, notamment en matière de protection des données et de secret bancaire.

    4. Conditions financières et tarifs

    4.1 Les tarifs sont basés sur le modèle d’abonnement choisi (mensuel, semestriel ou annuel). Les factures sont payables aux conditions indiquées lors de la commande ou sur la facture.

    4.2 Indexation (IPC) : ET peut adapter une fois par an les tarifs selon l’indice national des prix à la consommation (base décembre 2020, arrondi au franc supérieur). L’indice de départ est celui du 1er août 2023, et cette adaptation automatique n’ouvre pas de droit de résiliation anticipée.

    4.3 Modification des prix hors indexation : en dehors de l’indexation mentionnée à l’article 4.2, ET peut augmenter ses tarifs à tout moment pour l’avenir. Toute modification de prix est communiquée au Client de manière appropriée (e-mail, message in-app, courrier ou affichage sur le site) et est considérée comme une modification des présentes CGV. Si l’augmentation est significative, le Client peut s’y opposer en résiliant le contrat dans le délai prévu à l’article 8 ; à défaut, les nouveaux tarifs sont réputés acceptés à l’expiration de ce délai.

    4.4 Retard de paiement : en cas de défaut de paiement, ET peut bloquer l’accès au service immédiatement après l’échéance de la facture impayée, après au moins un rappel resté sans effet. Des frais supplémentaires de rappel et de traitement peuvent être facturés. En cas de non-paiement persistant, ET peut confier la créance à une société de recouvrement. Le blocage de l’accès ne libère pas le Client de son obligation de payer les montants dus jusqu’à la fin de la période contractuelle en cours.

    4.5 Changement d’abonnement : les « upgrades » (passage à une offre supérieure) sont possibles en tout temps, conformément aux conditions tarifaires en vigueur. Les « downgrades » (passage à une offre inférieure) nécessitent une résiliation de l’abonnement actuel à l’échéance de la période contractuelle, suivie de la souscription d’un nouvel abonnement.

    4.6 Résiliation anticipée par le Client : en cas de résiliation du contrat par le Client avant la fin de la période d’abonnement entamée (hors résiliation ordinaire notifiée dans le respect du préavis), aucun remboursement, même partiel, des montants déjà versés ne sera effectué.

     

    5. Communication et confidentialité

    Le Client doit maintenir ses coordonnées (en particulier adresse e-mail de contact et adresse postale de facturation) à jour. Les communications envoyées par ET aux dernières coordonnées fournies (e-mail, courrier postal ou notification dans l’application) sont réputées reçues et produisent leurs effets juridiques.

    Confidentialité : les deux parties s’engagent à traiter toutes les informations non publiques, notamment les secrets commerciaux et les données sensibles, comme confidentielles, et ce même après la fin du contrat, sous réserve des obligations légales de divulgation prévues, notamment, à l’article 3.5 (Exception légale).

     

    6. Responsabilités et garanties

    6.1 ET veille au bon fonctionnement substantiel du logiciel eezytool et s’efforce d’éliminer les dysfonctionnements dans la mesure des possibilités techniques et organisationnelles raisonnables.

    6.2 Garantie limitée et limitation de responsabilité

    ET ne garantit pas que le logiciel sera exempt d’erreurs ou d’anomalies et ne saurait, en conséquence, être tenue responsable des dommages indirects, accessoires ou consécutifs, tels que notamment la perte de profits, l’interruption d’activité, la perte de données ou toute autre perte économique.

    Dans la mesure permise par la législation applicable, la responsabilité globale d’ET, toutes causes confondues, est strictement limitée au montant total des redevances effectivement versées par le Client au cours des douze (12) mois précédant la survenance du fait générateur du dommage.

    En cas de dysfonctionnement grave imputable au logiciel, la seule et unique réparation à laquelle le Client pourra prétendre consistera, au choix exclusif d’ET, soit en la prolongation de l’autorisation d’accès au logiciel, soit en le remboursement du dernier prix de licence acquitté, sans préjudice de la limitation de responsabilité ci-dessus.

    6.3 Services tiers

    ET décline toute responsabilité quant aux services tiers (marketplaces, interfaces bancaires, Google, etc.) et aux conséquences découlant de leur indisponibilité, de leurs erreurs ou de leurs conditions d’utilisation propres.

     

    7. Durée et résiliation

    7.1 Durée : le contrat est conclu pour une durée indéterminée et est renouvelé automatiquement pour la durée de l’abonnement choisi (un mois, six mois ou un an), sauf résiliation conformément au présent article.

    7.2 Résiliation ordinaire : le contrat peut être résilié par chacune des parties moyennant un préavis d’un (1) mois avant la fin de la période contractuelle en cours. La résiliation doit être effectuée via l’interface du logiciel eezytool ou par écrit (y compris par e-mail) et prend effet à compter de la confirmation de résiliation envoyée par ET.

    7.3 Résiliation immédiate pour motifs graves : ET peut résilier le contrat sans délai, notamment si :

    • le Client est déclaré en faillite ou si la procédure de faillite est suspendue faute d’actifs ;
    • le Client a un retard de paiement d’un (1) mois et n’a pas régularisé sa situation dans un délai de deux (2) semaines après rappel ;
    • le Client viole le droit applicable ou les droits de propriété intellectuelle de tiers ;
    • le Client utilise les services pour encourager ou commettre des actes criminels ou illégaux.

    Le blocage immédiat de l’accès au service en cas de défaut de paiement (art. 4.4) peut intervenir avant que les conditions d’une résiliation pour motifs graves ne soient remplies et ne préjuge pas du droit d’ET de résilier le contrat ultérieurement.

    7.4 Cas de décès : en cas de décès du propriétaire d’une entreprise individuelle cliente d’ET, ET est autorisée à communiquer les données du compte aux héritiers ou à leurs représentants (par ex. fiduciaires), sous réserve de la preuve d’un intérêt légitime (partage successoral, clôture des comptes, etc.) et dans le respect des obligations légales applicables.

     

    8. Modification des CGV

    ET se réserve le droit de modifier les présentes CGV à tout moment. Les modifications sont communiquées au Client de manière appropriée (e-mail, courrier, message in-app, chat ou affichage sur www.eezytool.ch).

    Les modifications sont réputées acceptées si le Client ne s’y oppose pas dans un délai de quatorze (14) jours à compter de la communication. En cas d’opposition dans ce délai, le contrat se poursuit selon les anciennes CGV jusqu’à la fin de la période contractuelle en cours, après quoi il prend fin, sauf accord contraire.

     

    9. Droit applicable et for juridique

    9.1 Le droit suisse est exclusivement applicable aux relations contractuelles entre ET et le Client.

    9.2 Le for juridique exclusif pour tout litige découlant des présentes CGV ou en lien avec celles-ci est à Bâle, sous réserve de fors impératifs prévus par la loi.

    9.3 Les présentes CGV peuvent exister en plusieurs langues. En cas de divergence ou de contradiction entre les différentes versions, la version allemande fait foi.

    eezy tool Ltd., Bâle, avril 2026

#mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: 300px;} /* Add your own Mailchimp form style overrides in your site stylesheet or in this style block. We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */

Newsletter: ne manquez aucun update

* indicates required
(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]='ADDRESS';ftypes[3]='address';fnames[4]='PHONE';ftypes[4]='phone';fnames[5]='BIRTHDAY';ftypes[5]='birthday';fnames[6]='COMPANY';ftypes[6]='text';fnames[7]='MMERGE7';ftypes[7]='text';fnames[8]='MMERGE8';ftypes[8]='number';fnames[9]='MMERGE9';ftypes[9]='dropdown';fnames[10]='MMERGE10';ftypes[10]='zip';/* * Translated default messages for the $ validation plugin. * Locale: DE */ $.extend($.validator.messages, { required: "Dieses Feld ist ein Pflichtfeld.", maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."), minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."), rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."), email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", url: "Geben Sie bitte eine gültige URL ein.", date: "Bitte geben Sie ein gültiges Datum ein.", number: "Geben Sie bitte eine Nummer ein.", digits: "Geben Sie bitte nur Ziffern ein.", equalTo: "Bitte denselben Wert wiederholen.", range: $.validator.format("Geben Sie bitten einen Wert zwischen {0} und {1}."), max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."), min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."), creditcard: "Geben Sie bitte ein gültige Kreditkarten-Nummer ein." });}(jQuery));var $mcj = jQuery.noConflict(true); // SMS Phone Multi-Country Functionality if(!window.MC) { window.MC = {}; } window.MC.smsPhoneData = { defaultCountryCode: 'CH', programs: [], smsProgramDataCountryNames: [] }; function getCountryUnicodeFlag(countryCode) { return countryCode.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397)) }; // HTML sanitization function to prevent XSS function sanitizeHtml(str) { if (typeof str !== 'string') return ''; return str .replace(/&/g, '&') .replace(/') .replace(/"/g, '"') .replace(/'/g, ''') .replace(/\//g, '/'); } // URL sanitization function to prevent javascript: and data: URLs function sanitizeUrl(url) { if (typeof url !== 'string') return ''; const trimmedUrl = url.trim().toLowerCase(); if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) { return '#'; } return url; } const getBrowserLanguage = () => { if (!window?.navigator?.language?.split('-')[1]) { return window?.navigator?.language?.toUpperCase(); } return window?.navigator?.language?.split('-')[1]; }; function getDefaultCountryProgram(defaultCountryCode, smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return null; } const browserLanguage = getBrowserLanguage(); if (browserLanguage) { const foundProgram = smsProgramData.find( (program) => program?.countryCode === browserLanguage, ); if (foundProgram) { return foundProgram; } } if (defaultCountryCode) { const foundProgram = smsProgramData.find( (program) => program?.countryCode === defaultCountryCode, ); if (foundProgram) { return foundProgram; } } return smsProgramData[0]; } function updateSmsLegalText(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } const programs = window?.MC?.smsPhoneData?.programs; if (!programs || !Array.isArray(programs)) { return; } const program = programs.find(program => program?.countryCode === countryCode); if (!program || !program.requiredTemplate) { return; } const legalTextElement = document.querySelector('#legal-text-' + fieldName); if (!legalTextElement) { return; } // Remove HTML tags and clean up the text const divRegex = new RegExp(']*>', 'gi'); const fullAnchorRegex = new RegExp('', 'g'); const anchorRegex = new RegExp('(.*?)'); const template = 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'; // Default US placeholder } var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; const selectedPlaceholder = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder; } function updatePlaceholder(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } const phoneInput = document.querySelector('#mce-' + fieldName); if (!phoneInput) { return; } const placeholder = getDefaultPlaceholder(countryCode); if (placeholder) { phoneInput.placeholder = placeholder; } } function updateCountryCodeInstruction(countryCode, fieldName) { updatePlaceholder(countryCode, fieldName); } function getDefaultHelpText(countryCode) { var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; if (!countryCode || typeof countryCode !== 'string') { return mockPlaceholders[0].helpText; } const selectedHelpText = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText; } function setDefaultHelpText(countryCode) { const helpTextSpan = document.querySelector('#help-text'); if (!helpTextSpan) { return; } } function updateHelpTextCountryCode(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } setDefaultHelpText(countryCode); } function initializeSmsPhoneDropdown(fieldName) { if (!fieldName || typeof fieldName !== 'string') { return; } const dropdown = document.querySelector('#country-select-' + fieldName); const displayFlag = document.querySelector('#flag-display-' + fieldName); if (!dropdown || !displayFlag) { return; } const smsPhoneData = window.MC?.smsPhoneData; if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) { dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs); } const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs); if (defaultProgram && defaultProgram.countryCode) { dropdown.value = defaultProgram.countryCode; const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode); flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag'); } updateSmsLegalText(defaultProgram.countryCode, fieldName); updatePlaceholder(defaultProgram.countryCode, fieldName); updateCountryCodeInstruction(defaultProgram.countryCode, fieldName); } var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"LNAME":{"name":"LNAME","label":"Last Name","helper_text":"","type":"text","required":false,"audience_field_name":"Last Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"ADDRESS":{"name":"ADDRESS","label":"Address","helper_text":"","type":"address","required":false,"audience_field_name":"Address","enabled":false,"order":null,"field_type":"merge","merge_id":3,"countries":{"2":"Albania","3":"Algeria","4":"Andorra","5":"Angola","6":"Argentina","7":"Armenia","8":"Australia","9":"Austria","10":"Azerbaijan","11":"Bahamas","12":"Bahrain","13":"Bangladesh","14":"Barbados","15":"Belarus","16":"Belgium","17":"Belize","18":"Benin","19":"Bermuda","20":"Bhutan","21":"Bolivia","22":"Bosnia and Herzegovina","23":"Botswana","24":"Brazil","25":"Bulgaria","26":"Burkina Faso","27":"Burundi","28":"Cambodia","29":"Cameroon","30":"Canada","31":"Cape Verde","32":"Cayman Islands","33":"Central African Republic","34":"Chad","35":"Chile","36":"China","37":"Colombia","38":"Congo","40":"Croatia","41":"Cyprus","42":"Czech Republic","43":"Denmark","44":"Djibouti","45":"Ecuador","46":"Egypt","47":"El Salvador","48":"Equatorial Guinea","49":"Eritrea","50":"Estonia","51":"Ethiopia","52":"Fiji","53":"Finland","54":"France","56":"Gabon","57":"Gambia","58":"Georgia","59":"Germany","60":"Ghana","61":"Greece","62":"Guam","63":"Guinea","64":"Guinea-Bissau","65":"Guyana","66":"Honduras","67":"Hong Kong","68":"Hungary","69":"Iceland","70":"India","71":"Indonesia","74":"Ireland","75":"Israel","76":"Italy","78":"Japan","79":"Jordan","80":"Kazakhstan","81":"Kenya","82":"Kuwait","83":"Kyrgyzstan","84":"Lao People's Democratic Republic","85":"Latvia","86":"Lebanon","87":"Lesotho","88":"Liberia","90":"Liechtenstein","91":"Lithuania","92":"Luxembourg","93":"Macedonia","94":"Madagascar","95":"Malawi","96":"Malaysia","97":"Maldives","98":"Mali","99":"Malta","100":"Mauritania","101":"Mexico","102":"Moldova","103":"Monaco","104":"Mongolia","105":"Morocco","106":"Mozambique","107":"Namibia","108":"Nepal","109":"Netherlands","110":"Netherlands Antilles","111":"New Zealand","112":"Nicaragua","113":"Niger","114":"Nigeria","116":"Norway","117":"Oman","118":"Pakistan","119":"Panama","120":"Paraguay","121":"Peru","122":"Philippines","123":"Poland","124":"Portugal","126":"Qatar","127":"Reunion","128":"Romania","129":"Russia","130":"Rwanda","132":"Samoa (Independent)","133":"Saudi Arabia","134":"Senegal","135":"Seychelles","136":"Sierra Leone","137":"Singapore","138":"Slovakia","139":"Slovenia","140":"Somalia","141":"South Africa","142":"South Korea","143":"Spain","144":"Sri Lanka","146":"Suriname","147":"Swaziland","148":"Sweden","149":"Switzerland","152":"Taiwan","153":"Tanzania","154":"Thailand","155":"Togo","156":"Tunisia","157":"Turkiye","158":"Turkmenistan","159":"Uganda","161":"Ukraine","162":"United Arab Emirates","163":"Uruguay","164":"USA","165":"Uzbekistan","166":"Vatican City State (Holy See)","167":"Venezuela","168":"Vietnam","169":"Virgin Islands (British)","170":"Yemen","173":"Zambia","174":"Zimbabwe","175":"Antigua And Barbuda","176":"Anguilla","178":"American Samoa","179":"Aruba","180":"Brunei Darussalam","181":"Bouvet Island","183":"Cook Islands","185":"Christmas Island","187":"Dominican Republic","188":"Western Sahara","189":"Falkland Islands","191":"Faroe Islands","192":"Grenada","193":"French Guiana","194":"Gibraltar","195":"Greenland","196":"Guadeloupe","198":"Guatemala","200":"Haiti","202":"Jamaica","203":"Kiribati","204":"Comoros","205":"Saint Kitts and Nevis","206":"Saint Lucia","207":"Marshall Islands","208":"Macau","210":"Martinique","212":"Mauritius","213":"New Caledonia","214":"Norfolk Island","215":"Nauru","217":"Niue","219":"Papua New Guinea","221":"Pitcairn","222":"Palau","223":"Solomon Islands","225":"Svalbard and Jan Mayen Islands","227":"San Marino","232":"Tonga","233":"Timor-Leste","234":"Trinidad and Tobago","235":"Tuvalu","237":"Saint Vincent and the Grenadines","238":"Virgin Islands (U.S.)","239":"Vanuatu","241":"Mayotte","242":"Myanmar","255":"Sao Tome and Principe","257":"South Georgia and the South Sandwich Islands","260":"Tajikistan","262":"United Kingdom","268":"Costa Rica","270":"Guernsey","272":"North Korea","274":"Afghanistan","275":"Cote D'Ivoire","276":"Cuba","277":"French Polynesia","278":"Iran","279":"Iraq","281":"Libya","282":"Palestine","285":"Syria","286":"Aaland Islands","287":"Turks & Caicos Islands","288":"Jersey (Channel Islands)","289":"Dominica","290":"Montenegro","293":"Sudan","294":"Montserrat","298":"Curacao","302":"Sint Maarten","311":"South Sudan","315":"Republic of Kosovo","318":"Congo, Democratic Republic of the","323":"Isle of Man","324":"Saint Martin","325":"Bonaire, Saint Eustatius and Saba","326":"Serbia"},"defaultcountry":164},"PHONE":{"name":"PHONE","label":"Phone Number","helper_text":"","type":"phone","required":false,"audience_field_name":"Phone Number","phoneformat":"","enabled":false,"order":null,"field_type":"merge","merge_id":4},"BIRTHDAY":{"name":"BIRTHDAY","label":"Birthday","helper_text":"","type":"birthday","required":false,"audience_field_name":"Birthday","dateformat":"MM/DD","enabled":false,"order":null,"field_type":"merge","merge_id":5},"COMPANY":{"name":"COMPANY","label":"Company","helper_text":"","type":"text","required":false,"audience_field_name":"Company","enabled":false,"order":null,"field_type":"merge","merge_id":6},"MMERGE7":{"name":"MMERGE7","label":"Gender","helper_text":"","type":"text","required":false,"audience_field_name":"Gender","enabled":false,"order":null,"field_type":"merge","merge_id":7},"MMERGE8":{"name":"MMERGE8","label":"Address - Number","helper_text":"","type":"number","required":false,"audience_field_name":"Address - Number","enabled":false,"order":null,"field_type":"merge","merge_id":8},"MMERGE9":{"name":"MMERGE9","label":"Language","helper_text":"","type":"dropdown","required":false,"audience_field_name":"Language","choices":[{"value":"German","label":"German"},{"value":"French","label":"French"},{"value":"English","label":"English"}],"enabled":false,"order":null,"field_type":"merge","merge_id":9},"MMERGE10":{"name":"MMERGE10","label":"Zip Code","helper_text":"","type":"zip","required":false,"audience_field_name":"Zip Code","enabled":false,"order":null,"field_type":"merge","merge_id":10}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && defaultProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = defaultProgram.countryCallingCode; } displayFlag?.addEventListener('click', function(e) { dropdown.focus(); }); dropdown?.addEventListener('change', function() { const selectedCountry = this.value; if (!selectedCountry || typeof selectedCountry !== 'string') { return; } const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(selectedCountry); flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag'); } const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) { return program && program.countryCode === selectedCountry; }); var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"LNAME":{"name":"LNAME","label":"Last Name","helper_text":"","type":"text","required":false,"audience_field_name":"Last Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"ADDRESS":{"name":"ADDRESS","label":"Address","helper_text":"","type":"address","required":false,"audience_field_name":"Address","enabled":false,"order":null,"field_type":"merge","merge_id":3,"countries":{"2":"Albania","3":"Algeria","4":"Andorra","5":"Angola","6":"Argentina","7":"Armenia","8":"Australia","9":"Austria","10":"Azerbaijan","11":"Bahamas","12":"Bahrain","13":"Bangladesh","14":"Barbados","15":"Belarus","16":"Belgium","17":"Belize","18":"Benin","19":"Bermuda","20":"Bhutan","21":"Bolivia","22":"Bosnia and Herzegovina","23":"Botswana","24":"Brazil","25":"Bulgaria","26":"Burkina Faso","27":"Burundi","28":"Cambodia","29":"Cameroon","30":"Canada","31":"Cape Verde","32":"Cayman Islands","33":"Central African Republic","34":"Chad","35":"Chile","36":"China","37":"Colombia","38":"Congo","40":"Croatia","41":"Cyprus","42":"Czech Republic","43":"Denmark","44":"Djibouti","45":"Ecuador","46":"Egypt","47":"El Salvador","48":"Equatorial Guinea","49":"Eritrea","50":"Estonia","51":"Ethiopia","52":"Fiji","53":"Finland","54":"France","56":"Gabon","57":"Gambia","58":"Georgia","59":"Germany","60":"Ghana","61":"Greece","62":"Guam","63":"Guinea","64":"Guinea-Bissau","65":"Guyana","66":"Honduras","67":"Hong Kong","68":"Hungary","69":"Iceland","70":"India","71":"Indonesia","74":"Ireland","75":"Israel","76":"Italy","78":"Japan","79":"Jordan","80":"Kazakhstan","81":"Kenya","82":"Kuwait","83":"Kyrgyzstan","84":"Lao People's Democratic Republic","85":"Latvia","86":"Lebanon","87":"Lesotho","88":"Liberia","90":"Liechtenstein","91":"Lithuania","92":"Luxembourg","93":"Macedonia","94":"Madagascar","95":"Malawi","96":"Malaysia","97":"Maldives","98":"Mali","99":"Malta","100":"Mauritania","101":"Mexico","102":"Moldova","103":"Monaco","104":"Mongolia","105":"Morocco","106":"Mozambique","107":"Namibia","108":"Nepal","109":"Netherlands","110":"Netherlands Antilles","111":"New Zealand","112":"Nicaragua","113":"Niger","114":"Nigeria","116":"Norway","117":"Oman","118":"Pakistan","119":"Panama","120":"Paraguay","121":"Peru","122":"Philippines","123":"Poland","124":"Portugal","126":"Qatar","127":"Reunion","128":"Romania","129":"Russia","130":"Rwanda","132":"Samoa (Independent)","133":"Saudi Arabia","134":"Senegal","135":"Seychelles","136":"Sierra Leone","137":"Singapore","138":"Slovakia","139":"Slovenia","140":"Somalia","141":"South Africa","142":"South Korea","143":"Spain","144":"Sri Lanka","146":"Suriname","147":"Swaziland","148":"Sweden","149":"Switzerland","152":"Taiwan","153":"Tanzania","154":"Thailand","155":"Togo","156":"Tunisia","157":"Turkiye","158":"Turkmenistan","159":"Uganda","161":"Ukraine","162":"United Arab Emirates","163":"Uruguay","164":"USA","165":"Uzbekistan","166":"Vatican City State (Holy See)","167":"Venezuela","168":"Vietnam","169":"Virgin Islands (British)","170":"Yemen","173":"Zambia","174":"Zimbabwe","175":"Antigua And Barbuda","176":"Anguilla","178":"American Samoa","179":"Aruba","180":"Brunei Darussalam","181":"Bouvet Island","183":"Cook Islands","185":"Christmas Island","187":"Dominican Republic","188":"Western Sahara","189":"Falkland Islands","191":"Faroe Islands","192":"Grenada","193":"French Guiana","194":"Gibraltar","195":"Greenland","196":"Guadeloupe","198":"Guatemala","200":"Haiti","202":"Jamaica","203":"Kiribati","204":"Comoros","205":"Saint Kitts and Nevis","206":"Saint Lucia","207":"Marshall Islands","208":"Macau","210":"Martinique","212":"Mauritius","213":"New Caledonia","214":"Norfolk Island","215":"Nauru","217":"Niue","219":"Papua New Guinea","221":"Pitcairn","222":"Palau","223":"Solomon Islands","225":"Svalbard and Jan Mayen Islands","227":"San Marino","232":"Tonga","233":"Timor-Leste","234":"Trinidad and Tobago","235":"Tuvalu","237":"Saint Vincent and the Grenadines","238":"Virgin Islands (U.S.)","239":"Vanuatu","241":"Mayotte","242":"Myanmar","255":"Sao Tome and Principe","257":"South Georgia and the South Sandwich Islands","260":"Tajikistan","262":"United Kingdom","268":"Costa Rica","270":"Guernsey","272":"North Korea","274":"Afghanistan","275":"Cote D'Ivoire","276":"Cuba","277":"French Polynesia","278":"Iran","279":"Iraq","281":"Libya","282":"Palestine","285":"Syria","286":"Aaland Islands","287":"Turks & Caicos Islands","288":"Jersey (Channel Islands)","289":"Dominica","290":"Montenegro","293":"Sudan","294":"Montserrat","298":"Curacao","302":"Sint Maarten","311":"South Sudan","315":"Republic of Kosovo","318":"Congo, Democratic Republic of the","323":"Isle of Man","324":"Saint Martin","325":"Bonaire, Saint Eustatius and Saba","326":"Serbia"},"defaultcountry":164},"PHONE":{"name":"PHONE","label":"Phone Number","helper_text":"","type":"phone","required":false,"audience_field_name":"Phone Number","phoneformat":"","enabled":false,"order":null,"field_type":"merge","merge_id":4},"BIRTHDAY":{"name":"BIRTHDAY","label":"Birthday","helper_text":"","type":"birthday","required":false,"audience_field_name":"Birthday","dateformat":"MM/DD","enabled":false,"order":null,"field_type":"merge","merge_id":5},"COMPANY":{"name":"COMPANY","label":"Company","helper_text":"","type":"text","required":false,"audience_field_name":"Company","enabled":false,"order":null,"field_type":"merge","merge_id":6},"MMERGE7":{"name":"MMERGE7","label":"Gender","helper_text":"","type":"text","required":false,"audience_field_name":"Gender","enabled":false,"order":null,"field_type":"merge","merge_id":7},"MMERGE8":{"name":"MMERGE8","label":"Address - Number","helper_text":"","type":"number","required":false,"audience_field_name":"Address - Number","enabled":false,"order":null,"field_type":"merge","merge_id":8},"MMERGE9":{"name":"MMERGE9","label":"Language","helper_text":"","type":"dropdown","required":false,"audience_field_name":"Language","choices":[{"value":"German","label":"German"},{"value":"French","label":"French"},{"value":"English","label":"English"}],"enabled":false,"order":null,"field_type":"merge","merge_id":9},"MMERGE10":{"name":"MMERGE10","label":"Zip Code","helper_text":"","type":"zip","required":false,"audience_field_name":"Zip Code","enabled":false,"order":null,"field_type":"merge","merge_id":10}}).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); }); });