{"id":12519,"date":"2025-07-29T13:54:43","date_gmt":"2025-07-29T11:54:43","guid":{"rendered":"http:\/\/localhost\/montyglobal\/exercice-des-droits\/"},"modified":"2025-11-06T12:16:39","modified_gmt":"2025-11-06T11:16:39","slug":"exercice-des-droits","status":"publish","type":"page","link":"https:\/\/montyglobal.com\/fr\/exercice-des-droits\/","title":{"rendered":"Exercice des droits"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12519\" class=\"elementor elementor-12519 elementor-975\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17d8a22 e-flex e-con-boxed e-con e-parent\" data-id=\"17d8a22\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fbc3ff1 e-con-full e-flex e-con e-child\" data-id=\"fbc3ff1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ae3f146 e-con e-atomic-element e-flexbox-base e-ae3f146-7c9ac47\" data-id=\"ae3f146\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"ae3f146\" data-e-type=\"e-flexbox\" data-id=\"ae3f146\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34240ac e-con e-atomic-element e-flexbox-base e-34240ac-7c9939b\" data-id=\"34240ac\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"34240ac\" data-e-type=\"e-flexbox\" data-id=\"34240ac\">\n\t\t<div class=\"elementor-element elementor-element-753729d e-con-full e-flex e-con e-child\" data-id=\"753729d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t\n<hr class=\"e-aef065c-75cf60b e-divider-base\" data-interaction-id=\"aef065c\"  data-e-type=\"widget\" data-id=\"aef065c\" \/>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-051cc00 e-con e-atomic-element e-flexbox-base e-051cc00-9b9f009\" data-id=\"051cc00\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"051cc00\" data-e-type=\"e-flexbox\" data-id=\"051cc00\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b7251f elementor-widget elementor-widget-heading\" data-id=\"4b7251f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Formulaire pour l\u2019exercice<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0edf768 elementor-widget elementor-widget-heading\" data-id=\"0edf768\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">des droits des clients<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09b473f elementor-widget elementor-widget-text-editor\" data-id=\"09b473f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tChez Monty Global Payments, S.A.U., nous prenons tr\u00e8s au s\u00e9rieux la protection de vos donn\u00e9es personnelles et le respect de vos droits.<br>Vous pouvez utiliser ce formulaire pour exercer vos droits en tant que client conform\u00e9ment \u00e0 la l\u00e9gislation en vigueur en mati\u00e8re de protection des donn\u00e9es.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a39663 e-con e-atomic-element e-flexbox-base e-0a39663-545d1a0\" data-id=\"0a39663\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"0a39663\" data-e-type=\"e-flexbox\" data-id=\"0a39663\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5cc6e5a elementor-button-align-center elementor-widget-laptop__width-initial elementor-mobile-button-align-stretch elementor-widget__width-inherit elementor-widget elementor-widget-form\" data-id=\"5cc6e5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;step_type&quot;:&quot;number&quot;,&quot;step_icon_shape&quot;:&quot;none&quot;,&quot;button_width&quot;:&quot;100&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" id=\"mi_formulario\" name=\"Datos del locutorio \/ tienda\" aria-label=\"Datos del locutorio \/ tienda\" novalidate=\"\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"12519\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"5cc6e5a\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"\" \/>\n\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_f96e5ed elementor-col-100\">\n\t\t\t\t\t<h4 class=\"form-titulo\">Informations personnelles<\/h4>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-nombre elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-nombre\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tNom*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[nombre]\" id=\"form-field-nombre\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Entrez votre nom\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-apellido1 elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-apellido1\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tNom(s) de famille*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[apellido1]\" id=\"form-field-apellido1\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Entrez vos nom(s) de famille\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-documento elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-documento\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tType de document*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before \">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-caret-down\" viewBox=\"0 0 571.4 571.4\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M571 393Q571 407 561 418L311 668Q300 679 286 679T261 668L11 418Q0 407 0 393T11 368 36 357H536Q550 357 561 368T571 393Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[documento]\" id=\"form-field-documento\" class=\"elementor-field-textual elementor-size-md\" required=\"required\">\n\t\t\t\t\t\t\t\t\t<option value=\"s\u00e9lectionnez_le_type\">S\u00e9lectionnez le type<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"dni\">DNI<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"nie\">NIE<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"passeport\">Passeport<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"carte-de-travail-ou-de-s\u00e9jour\">Permis de travail\/de s\u00e9jour<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-numero_documento elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-numero_documento\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tNum\u00e9ro du document*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[numero_documento]\" id=\"form-field-numero_documento\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Entrez le num\u00e9ro du document\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_85f05ad elementor-col-100\">\n\t\t\t\t\t<h4 class=\"form-titulo-2\">Coordonn\u00e9es<\/h4>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-email elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEmail*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Entrez votre e-mail\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-movil elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-movil\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tNum\u00e9ro de t\u00e9l\u00e9phone portable*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[movil]\" id=\"form-field-movil\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Entrez le(s) num\u00e9ro(s) de t\u00e9l\u00e9phone\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_09ef7df elementor-col-100\">\n\t\t\t\t\t<h4 class=\"form-titulo-2\">Exercice de vos droits<\/h4>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-incidencia elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-incidencia\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tType de droit*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before \">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-caret-down\" viewBox=\"0 0 571.4 571.4\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M571 393Q571 407 561 418L311 668Q300 679 286 679T261 668L11 418Q0 407 0 393T11 368 36 357H536Q550 357 561 368T571 393Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[incidencia]\" id=\"form-field-incidencia\" class=\"elementor-field-textual elementor-size-md\" required=\"required\">\n\t\t\t\t\t\t\t\t\t<option value=\"s\u00e9lectionner_type\">S\u00e9lectionner le type<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"acc\u00e8s\">Droit d&#039;acc\u00e8s<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"suppression\">Droit de suppression<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"limitation\">Droit \u00e0 la limitation du traitement<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"portabilit\u00e9\">Droit \u00e0 la portabilit\u00e9 des donn\u00e9es<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"opposition\">Droit d&#039;opposition<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_c253cb0 elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_c253cb0\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tInformations*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_c253cb0]\" id=\"form-field-field_c253cb0\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Entrez les informations\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-motivo elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-motivo\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tMotif de la demande (veuillez d\u00e9crire les faits)*\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<textarea class=\"elementor-field-textual elementor-field  elementor-size-md\" name=\"form_fields[motivo]\" id=\"form-field-motivo\" rows=\"6\" placeholder=\"Indiquez le motif de la r\u00e9clamation\" required=\"required\"><\/textarea>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-upload elementor-field-group elementor-column elementor-field-group-field_39cc45b elementor-col-100\">\n\t\t\t\t\t\t\t<input type=\"file\" name=\"form_fields[field_39cc45b]\" id=\"form-field-field_39cc45b\" class=\"elementor-field elementor-size-md  elementor-upload-field\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_446b261 elementor-col-100\">\n\t\t\t\t\t<div style=\"border-bottom: 1px solid #CCCCCC;  \" class=\"mi-divider\"><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-recaptcha_v3 elementor-field-group elementor-column elementor-field-group-field_a609a9a elementor-col-100 recaptcha_v3-bottomright\">\n\t\t\t\t\t<div class=\"elementor-field\" id=\"form-field-field_a609a9a\"><div class=\"elementor-g-recaptcha\" data-sitekey=\"6LeFefArAAAAAHB8PogZLPWCtssIbUN4PNjQ55uS\" data-type=\"v3\" data-action=\"Form\" data-badge=\"bottomright\" data-size=\"invisible\"><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Envoyer le formulaire<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98e76a7 elementor-widget elementor-widget-html\" data-id=\"98e76a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>document.addEventListener('DOMContentLoaded', function() {\n\n    function getWpmlLanguageCode() {\n        const htmlLang = document.documentElement.lang;\n        if (htmlLang && htmlLang.length >= 2) {\n            return htmlLang.substring(0, 2).toLowerCase();\n        }\n        return 'es'; \n    }\n    const WEB_LOCALE = getWpmlLanguageCode();\n\n    const T_UPLOAD = {\n        es: { main: \"Adjuntar archivo\", optional: \"(opcional)\", remove: \"Eliminar archivo\" },\n        en: { main: \"Attach File\", optional: \"(optional)\", remove: \"Remove file\" },\n        fr: { main: \"Joindre fichier\", optional: \"(facultatif)\", remove: \"Supprimer fichier\" },\n        it: { main: \"Allega file\", optional: \"(opzionale)\", remove: \"Rimuovi file\" },\n        pt: { main: \"Anexar arquivo\", optional: \"(opcional)\", remove: \"Remover arquivo\" },\n        de: { main: \"Datei anh\u00e4ngen\", optional: \"(optional)\", remove: \"Datei entfernen\" },\n        nl: { main: \"Bestand bijvoegen\", optional: \"(optioneel)\", remove: \"Bestand verwijderen\" }\n    };\n    \n    const T_ERROR = {\n        es: \"Este campo es obligatorio\",\n        en: \"This field is required\",\n        fr: \"Ce champ est obligatoire\",\n        it: \"Questo campo \u00e8 obbligatorio\",\n        pt: \"Este campo \u00e9 obrigat\u00f3rio\",\n        de: \"Dieses Feld ist erforderlich\",\n        nl: \"Dit veld is verplicht\"\n    };\n    \n    const T_U = T_UPLOAD[WEB_LOCALE] || T_UPLOAD.es;\n    const ERROR_MSG = T_ERROR[WEB_LOCALE] || T_ERROR.es;\n\n    \/\/ ===== FUNCIONES DE VALIDACI\u00d3N =====\n    function ensureErrorNode(field) {\n        const group = field.closest('.elementor-field-group') || field.parentElement || field;\n        let msg = group.querySelector('.custom-error-message');\n        if (!msg) {\n            msg = document.createElement('div');\n            msg.className = 'elementor-message elementor-message-danger custom-error-message';\n            group.appendChild(msg);\n        }\n        return msg;\n    }\n\n    function showFieldError(field, message) {\n        if (!field) return false;\n        const msg = ensureErrorNode(field);\n        msg.textContent = '\u2715 ' + message;\n        msg.style.display = 'block';\n        \n        \/\/ Solo aplicar borde rojo a inputs normales, selects y textareas\n        \/\/ NO a radio buttons, checkboxes ni file inputs\n        if (field.tagName === 'SELECT' || field.tagName === 'TEXTAREA' || \n            (field.tagName === 'INPUT' && field.type !== 'checkbox' && field.type !== 'radio' && field.type !== 'file')) {\n            field.classList.add('elementor-error');\n            const fieldGroup = field.closest('.elementor-field-group');\n            if (fieldGroup) fieldGroup.classList.add('error');\n            const wrapper = field.closest('.elementor-select-wrapper');\n            if (wrapper) wrapper.classList.add('has-error');\n        }\n        \n        return false;\n    }\n    \n    function hideFieldError(field) {\n        if (!field) return;\n        const group = field.closest('.elementor-field-group') || field.parentElement || field;\n        const msg = group.querySelector('.custom-error-message');\n        if (msg) msg.style.display = 'none';\n        \n        if (field.tagName === 'SELECT' || field.tagName === 'TEXTAREA' || \n            (field.tagName === 'INPUT' && field.type !== 'checkbox' && field.type !== 'radio' && field.type !== 'file')) {\n            field.classList.remove('elementor-error');\n            const fieldGroup = field.closest('.elementor-field-group');\n            if (fieldGroup) fieldGroup.classList.remove('error');\n            const wrapper = field.closest('.elementor-select-wrapper');\n            if (wrapper) wrapper.classList.remove('has-error');\n        }\n    }\n\n    function isFieldEmpty(field) {\n        if (!field) return true;\n        \n        \/\/ Radio buttons\n        if (field.type === 'radio') {\n            const name = field.name;\n            if (!name) return !field.checked;\n            const group = document.querySelectorAll(`input[name=\"${name}\"]`);\n            return !Array.from(group).some(r => r.checked);\n        }\n        \n        \/\/ Checkbox\n        if (field.type === 'checkbox') {\n            const name = field.name;\n            if (!name) return !field.checked;\n            const group = document.querySelectorAll(`input[name=\"${name}\"]`);\n            return !Array.from(group).some(ch => ch.checked);\n        }\n        \n        \/\/ File input\n        if (field.type === 'file') {\n            return !field.files || field.files.length === 0;\n        }\n        \n        \/\/ Select\n        if (field.tagName === 'SELECT') {\n            return !field.value || field.value === '' || field.selectedIndex === 0;\n        }\n        \n        \/\/ Input y textarea\n        return (field.value || '').toString().trim() === '';\n    }\n    \n    function validateField(field) {\n        if (!field) return true;\n        const required = field.hasAttribute('required') || field.classList.contains('elementor-field-required');\n        if (!required) return true;\n        \n        if (isFieldEmpty(field)) {\n            return showFieldError(field, ERROR_MSG);\n        }\n        \n        hideFieldError(field);\n        return true;\n    }\n    \n    function setupFieldValidation() {\n        const fields = document.querySelectorAll('input, textarea, select');\n        \n        fields.forEach(field => {\n            if (field.__mg_bound) return;\n            field.__mg_bound = true;\n            \n            field.addEventListener('blur', function() {\n                validateField(this);\n            });\n            \n            field.addEventListener('change', function() {\n                if (!isFieldEmpty(this)) {\n                    hideFieldError(this);\n                }\n                validateField(this);\n            });\n            \n            if (field.tagName !== 'SELECT' && field.type !== 'radio' && field.type !== 'checkbox' && field.type !== 'file') {\n                field.addEventListener('input', function() {\n                    if (!isFieldEmpty(this)) {\n                        hideFieldError(this);\n                    }\n                });\n            }\n        });\n    }\n\n    function setupFormValidation() {\n        const forms = document.querySelectorAll('.elementor-form');\n        \n        forms.forEach(form => {\n            if (form.__mg_submit_bound) return;\n            form.__mg_submit_bound = true;\n            \n            form.addEventListener('submit', function(e) {\n                const required = form.querySelectorAll('input[required], select[required], textarea[required], .elementor-field.elementor-field-required');\n                let hasErrors = false;\n                \n                required.forEach(field => {\n                    if (!validateField(field)) {\n                        hasErrors = true;\n                    }\n                });\n                \n                if (hasErrors) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    \n                    const firstError = form.querySelector('.elementor-field.elementor-error, select.elementor-error') || \n                                      form.querySelector('.custom-error-message[style*=\"display: block\"]');\n                    if (firstError) {\n                        const scrollTarget = firstError.closest('.elementor-field-group') || firstError;\n                        scrollTarget.scrollIntoView({ behavior: 'smooth', block: 'center' });\n                        setTimeout(() => {\n                            const input = scrollTarget.querySelector('input:not([type=\"radio\"]):not([type=\"checkbox\"]):not([type=\"file\"]), select, textarea');\n                            if (input) input.focus();\n                        }, 200);\n                    }\n                    \n                    return false;\n                }\n            });\n            \n            \/\/ Click en botones submit\n            form.querySelectorAll('button[type=\"submit\"], input[type=\"submit\"]').forEach(btn => {\n                if (btn.__mg_click_bound) return;\n                btn.__mg_click_bound = true;\n                \n                btn.addEventListener('click', function(e) {\n                    const required = form.querySelectorAll('input[required], select[required], textarea[required], .elementor-field.elementor-field-required');\n                    let hasErrors = false;\n                    \n                    required.forEach(field => {\n                        if (!validateField(field)) {\n                            hasErrors = true;\n                        }\n                    });\n                    \n                    if (hasErrors) {\n                        e.preventDefault();\n                        e.stopPropagation();\n                        \n                        const firstError = form.querySelector('.elementor-field.elementor-error, select.elementor-error') || \n                                          form.querySelector('.custom-error-message[style*=\"display: block\"]');\n                        if (firstError) {\n                            const scrollTarget = firstError.closest('.elementor-field-group') || firstError;\n                            scrollTarget.scrollIntoView({ behavior: 'smooth', block: 'center' });\n                            setTimeout(() => {\n                                const input = scrollTarget.querySelector('input:not([type=\"radio\"]):not([type=\"checkbox\"]):not([type=\"file\"]), select, textarea');\n                                if (input) input.focus();\n                            }, 200);\n                        }\n                        \n                        return false;\n                    }\n                }, { capture: true });\n            });\n            \n            form.addEventListener('submit_success', function() {\n                const errorFields = form.querySelectorAll('.elementor-field.elementor-error');\n                errorFields.forEach(field => hideFieldError(field));\n            });\n        });\n    }\n\n    \/\/ ===== CUSTOM FILE UPLOAD =====\n    let fileInput = document.getElementById('form-field-field_39cc45b');\n\n    if (fileInput) {\n        const container = fileInput.closest('.elementor-field-type-upload');\n\n        const customButton = document.createElement('div');\n        customButton.className = 'upload-custom-button';\n        customButton.innerHTML = `\n            <img decoding=\"async\" src=\"https:\/\/montyglobal.com\/wp-content\/uploads\/2025\/09\/011-paper-1.svg\" alt=\"Upload icon\"><span class=\"button-text\">${T_U.main} <span class=\"optional\">${T_U.optional}<\/span><\/span>`;\n        container.insertBefore(customButton, fileInput);\n\n        const filesContainer = document.createElement('div');\n        filesContainer.className = 'upload-files-container';\n        container.appendChild(filesContainer);\n\n        customButton.addEventListener('click', function() {\n            fileInput.click();\n        });\n\n        fileInput.addEventListener('change', function() {\n            showFile();\n        });\n\n        function showFile() {\n            filesContainer.innerHTML = '';\n\n            if (fileInput.files.length > 0) {\n                const file = fileInput.files[0];\n\n                const fileItem = document.createElement('div');\n                fileItem.className = 'uploaded-file';\n\n                const fileName = document.createElement('span');\n                fileName.className = 'file-name';\n                fileName.textContent = file.name;\n\n                const removeBtn = document.createElement('button');\n                removeBtn.type = 'button';\n                removeBtn.className = 'remove-file';\n                removeBtn.innerHTML = '\u00d7';\n                removeBtn.title = T_U.remove;\n\n                removeBtn.addEventListener('click', clearFile);\n\n                fileItem.appendChild(fileName);\n                fileItem.appendChild(removeBtn);\n                filesContainer.appendChild(fileItem);\n\n                filesContainer.style.display = 'block';\n            } else {\n                filesContainer.style.display = 'none';\n            }\n            \n            \/\/ Trigger validation after file change\n            if (!isFieldEmpty(fileInput)) {\n                hideFieldError(fileInput);\n            }\n        }\n\n        function clearFile() {\n            const newInput = fileInput.cloneNode(true);\n            newInput.value = \"\";\n            fileInput.parentNode.replaceChild(newInput, fileInput);\n            fileInput = newInput;\n            fileInput.addEventListener('change', showFile);\n            filesContainer.innerHTML = '';\n            filesContainer.style.display = 'none';\n            customButton.querySelector('.button-text').innerHTML = `${T_U.main} <span class=\"optional\">${T_U.optional}<\/span>`;\n            \n            \/\/ Re-bind validation to new input\n            if (fileInput.__mg_bound) {\n                fileInput.__mg_bound = false;\n            }\n            setupFieldValidation();\n        }\n    }\n\n    \/\/ ===== INICIALIZAR =====\n    setTimeout(function() {\n        setupFieldValidation();\n        setupFormValidation();\n    }, 500);\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Exercice des droits Formulaire pour l\u2019exercice des droits des clients Chez Monty Global Payments, S.A.U., nous prenons tr\u00e8s au s\u00e9rieux la protection de vos donn\u00e9es personnelles et le respect de vos droits.Vous pouvez utiliser ce formulaire pour exercer vos droits en tant que client conform\u00e9ment \u00e0 la l\u00e9gislation en vigueur en mati\u00e8re de protection des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12519","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/pages\/12519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/comments?post=12519"}],"version-history":[{"count":3,"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/pages\/12519\/revisions"}],"predecessor-version":[{"id":21697,"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/pages\/12519\/revisions\/21697"}],"wp:attachment":[{"href":"https:\/\/montyglobal.com\/fr\/wp-json\/wp\/v2\/media?parent=12519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}