{"id":2139,"date":"2025-01-29T19:23:11","date_gmt":"2025-01-29T19:23:11","guid":{"rendered":"https:\/\/parkingalcala108.es\/reservar\/?page_id=2139"},"modified":"2025-12-14T23:37:14","modified_gmt":"2025-12-14T22:37:14","slug":"home","status":"publish","type":"page","link":"https:\/\/parkingalcala108.es\/reservar\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2139\" class=\"elementor elementor-2139\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a585186 e-flex e-con-boxed e-con e-parent\" data-id=\"a585186\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b407826 elementor-widget elementor-widget-heading\" data-id=\"b407826\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">FORMULARIO DE RESERVA DE PARKING ALCAL\u00c1 108.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-79653d9 e-con-full e-flex e-con e-child\" data-id=\"79653d9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f17e54e elementor-widget elementor-widget-text-editor\" data-id=\"f17e54e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><h3><span style=\"color: #0046e0;\">Horarios:<br \/><\/span><\/h3><p><span style=\"font-weight: bold;\">Alcal\u00e1 108<\/span><br \/><span style=\"font-weight: bold;\">Direcci\u00f3n:<\/span> Calle Alcal\u00e1, 108. Madrid.<br \/><span style=\"font-weight: bold;\">Horarios: <\/span> Lu-Ma: 07:00-23:00h. Mi: 07:00-00:00h. Ju-Vi: 07:00-1:00*. Sa: 08:00-1:00*. Do: 08:00-23:00h. Festivos: 08:00-00:00h.<\/p><p><strong>Nota:<\/strong>\u00a0El d\u00eda que desee seleccionar las 24:00, deber\u00e1 elegir las 00:00 del d\u00eda siguiente (verifique el horario de apertura y cierre).<\/p><\/div>\t\t\t\t\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-8f48988 elementor-widget elementor-widget-shortcode\" data-id=\"8f48988\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div class=\"cpbs-main cpbs-booking-form-id-1957 cpbs-google-map-enable-0 cpbs-location-field-enable-0 cpbs-clear-fix6 cpbs-hidden\" id=\"cpbs_booking_form_BAF654B33DBEAE5415687C3FE51B8AE8\">\n\t\t\t<form name=\"cpbs-form\" enctype=\"multipart\/form-data\">\n\t\t\t\t<div class=\"cpbs-main-content cpbs-clear-fix4\">\n \n\t\t\t\t\t\t<div class=\"cpbs-main-content-step-1\">\n\t\t<div class=\"cpbs-notice cpbs-hidden\"><\/div>\n\t\t<div class=\"cpbs-clear-fix cpbs-form-panel\">\n\t\t\n\t\t\t<div>\n\t\t\t\t<div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class=\"cpbs-header cpbs-header-style-4\">\nSeleccione Fecha y Hora de entrada\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div class=\"cpbs-form-field\">\n\t\t\t\t\t\t\t\t\t<label class=\"cpbs-form-field-label\">Fecha de entrada<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"cpbs_entry_date\" class=\"cpbs-datepicker\" value=\"\" autocomplete=\"off\"\/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<div class=\"cpbs-form-field\">\n\t\t\t\t\t\t\t\t\t<label class=\"cpbs-form-field-label\">Hora de entrada<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"cpbs_entry_time\" class=\"cpbs-timepicker\" value=\"\" autocomplete=\"off\"\/>\n\t\t\t\t\t\t\t\t<\/div>\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div class=\"cpbs-header cpbs-header-style-4\">\nSelecciona Fecha y Hora de salida\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div class=\"cpbs-form-field\">\n\t\t\t\t\t\t\t\t\t<label class=\"cpbs-form-field-label\">Fecha de salida<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"cpbs_exit_date\" class=\"cpbs-datepicker\" value=\"\" autocomplete=\"off\"\/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"cpbs-form-field\">\n\t\t\t\t\t\t\t\t\t<label class=\"cpbs-form-field-label\">Hora de salida<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"cpbs_exit_time\" class=\"cpbs-timepicker\" value=\"\" autocomplete=\"off\"\/>\n\t\t\t\t\t\t\t\t<\/div>\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<input type=\"submit\" value=\"Siguiente\" class=\"cpbs-button cpbs-button-style-1\"\/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\t\t\t\t\t\t\t<\/div>\n \n\t\t\t\t\t\t<div class=\"cpbs-main-content-step-2\">\n\t\t<div class=\"cpbs-layout-25x75 cpbs-clear-fix\">\n\t\t\t<div class=\"cpbs-layout-column-left\"><\/div>\n\t\t\t<div class=\"cpbs-layout-column-right\">\n\t\t\t\t<div class=\"cpbs-notice cpbs-hidden\"><\/div>\n\t\t\t\t<div class=\"cpbs-place-list\"><\/div>\n\t\t\t\t<div class=\"cpbs-booking-extra\"><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"cpbs-clear-fix cpbs-main-content-navigation-button\">\n\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-2 cpbs-button-step-prev\">\n\t\t\t\t<span class=\"cpbs-meta-icon-arrow-horizontal\"><\/span>\n\t\t\t\tSeleccionar fechas\t\t\t<\/a> \n\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1 cpbs-button-step-next\">\n\t\t\t\tDetalles del cliente\t\t\t\t<span class=\"cpbs-meta-icon-arrow-horizontal\"><\/span>\n\t\t\t<\/a> \n\t\t<\/div>\t\t\t\t\t\t<\/div>\n \n\t\t\t\t\t\t<div class=\"cpbs-main-content-step-3\">\n\t\t<div class=\"cpbs-layout-25x75 cpbs-clear-fix\">\n\t\t<div class=\"cpbs-layout-column-left\"><\/div>\n\t\t<div class=\"cpbs-layout-column-right\">\n\t\t\t<div class=\"cpbs-notice cpbs-hidden\"><\/div>\n\t\t\t<div class=\"cpbs-client-form\"><\/div>\n<script>\njQuery(document).ready(function() {\n    \/\/ Crear un MutationObserver para detectar cambios en el DOM\n    var observer = new MutationObserver(function(mutationsList) {\n        mutationsList.forEach(function(mutation) {\n            if (mutation.type === 'childList') {\n                jQuery('.cpbs-clear-fix').each(function() {\n                    var parentDiv = jQuery(this);\n                    var label = parentDiv.find('label').first();\n                    \n                    if (label.length > 0) {\n                        var labelText = label.text().trim().toLowerCase().replace(\/\\s+\/g, '-');\n                        parentDiv.addClass(labelText);\n\n                        \/\/ Aqu\u00ed agregamos la ocultaci\u00f3n de campos espec\u00edficos\n                        if (parentDiv.hasClass('nif\/cif') || \n                            parentDiv.hasClass('direcci\u00f3n') || \n                            parentDiv.hasClass('c\u00f3digo-postal') || \n                            parentDiv.hasClass('ciudad') || \n\t\t\t\t\t\t\tparentDiv.hasClass('nombre-completo-o-razon-social') ||\n                            parentDiv.hasClass('provincia')) {\n                            parentDiv.hide();\n                        }\n                    }\n                });\n            }\n        });\n    });\n\n    \/\/ Configurar el observer\n    var config = { childList: true, subtree: true };\n    \n    \/\/ Iniciar la observaci\u00f3n del body\n    observer.observe(document.body, config);\n});\n\njQuery(document).ready(function() {\n    \/\/ Crear el MutationObserver para detectar cambios en el DOM\n    var observer = new MutationObserver(function(mutationsList) {\n        mutationsList.forEach(function(mutation) {\n            if (mutation.type === 'childList') {\n                \/\/ Buscar el <span> que contiene el texto \"SI\" o \"NO\"\n                jQuery('.ui-selectmenu-text').each(function() {\n                    var selectedText = jQuery(this).text().trim();\n                    \n                    \/\/ Verificar si el texto es \"SI\" o \"NO\"\n                    if (selectedText === 'SI') {\n                        console.log('Seleccionado: SI');\n                        \/\/ Mostrar los campos cuando se selecciona \"SI\"\n                        jQuery('.cpbs-clear-fix').each(function() {\n                            var parentDiv = jQuery(this);\n                            \n                            \/\/ Mostrar los campos espec\u00edficos\n                            if (parentDiv.hasClass('nif\/cif') || \n                                parentDiv.hasClass('direcci\u00f3n') || \n                                parentDiv.hasClass('c\u00f3digo-postal') || \n                                parentDiv.hasClass('ciudad') || \n                                parentDiv.hasClass('nombre-completo-o-razon-social') ||\n                                parentDiv.hasClass('provincia')) {\n                                parentDiv.show(); \/\/ Mostrar los campos\n                            }\n                        });\n                    } else if (selectedText === 'NO') {\n                        console.log('Seleccionado: NO');\n                        \/\/ Ocultar los campos cuando se selecciona \"NO\"\n                        jQuery('.cpbs-clear-fix').each(function() {\n                            var parentDiv = jQuery(this);\n                            \n                            \/\/ Ocultar los campos espec\u00edficos\n                            if (parentDiv.hasClass('nif\/cif') || \n                                parentDiv.hasClass('direcci\u00f3n') || \n                                parentDiv.hasClass('c\u00f3digo-postal') || \n                                parentDiv.hasClass('ciudad') || \n                                parentDiv.hasClass('nombre-completo-o-razon-social') ||\n                                parentDiv.hasClass('provincia')) {\n                                parentDiv.hide(); \/\/ Ocultar los campos\n                            }\n                        });\n                    }\n                });\n            }\n        });\n    });\n\n    \/\/ Configurar el observer para que observe los cambios en el DOM\n    var config = { childList: true, subtree: true };\n    \n    \/\/ Iniciar el observer para el body (o el contenedor espec\u00edfico de tu formulario)\n    observer.observe(document.body, config);\n\n    \/\/ Tambi\u00e9n podemos observar cambios en el select para asegurarnos de que siempre detectamos los cambios\n    jQuery('select[name=\"cpbs_form_element_field_077389561AAB87FC492E907E044291FC\"]').on('change', function() {\n        var selectedValue = jQuery(this).val();\n        \n        if (selectedValue === 'SI') {\n            console.log('Seleccionado desde select: SI');\n            \/\/ Mostrar los campos cuando se selecciona \"SI\"\n            jQuery('.cpbs-clear-fix').each(function() {\n                var parentDiv = jQuery(this);\n                \n                \/\/ Mostrar los campos espec\u00edficos\n                if (parentDiv.hasClass('nif\/cif') || \n                    parentDiv.hasClass('direcci\u00f3n') || \n                    parentDiv.hasClass('c\u00f3digo-postal') || \n                    parentDiv.hasClass('ciudad') || \n                    parentDiv.hasClass('nombre-completo-o-razon-social') ||\n                    parentDiv.hasClass('provincia')) {\n                    parentDiv.show(); \/\/ Mostrar los campos\n                }\n            });\n        } else if (selectedValue === 'NO') {\n            console.log('Seleccionado desde select: NO');\n            \/\/ Ocultar los campos cuando se selecciona \"NO\"\n            jQuery('.cpbs-clear-fix').each(function() {\n                var parentDiv = jQuery(this);\n                \n                \/\/ Ocultar los campos espec\u00edficos\n                if (parentDiv.hasClass('nif\/cif') || \n                    parentDiv.hasClass('direcci\u00f3n') || \n                    parentDiv.hasClass('c\u00f3digo-postal') || \n                    parentDiv.hasClass('ciudad') || \n                    parentDiv.hasClass('nombre-completo-o-razon-social') ||\n                    parentDiv.hasClass('provincia')) {\n                    parentDiv.hide(); \/\/ Ocultar los campos\n                }\n            });\n        }\n    });\n});\n\njQuery(document).ready(function() {\n    var ajaxInProgress = false;\n\n    \/\/ Funci\u00f3n para verificar si los campos requeridos est\u00e1n llenos, solo si la opci\u00f3n \"SI\" est\u00e1 seleccionada\n    function checkRequiredFields() {\n        setTimeout(function() {\n            var allFilled = true;\n\n            \/\/ Verificamos si la opci\u00f3n \"SI\" est\u00e1 seleccionada\n            var optionSelected = jQuery('.ui-selectmenu-text').text().trim().toLowerCase(); \/\/ \"SI\" o \"NO\"\n\n            \/\/ Solo verificamos los campos si la opci\u00f3n seleccionada es \"SI\"\n            if (optionSelected === 'si') {\n                \/\/ Verificamos si los campos est\u00e1n llenos\n                jQuery('.cpbs-clear-fix').each(function() {\n                    var parentDiv = jQuery(this);\n\n                    if (parentDiv.hasClass('nif\/cif') || \n                        parentDiv.hasClass('direcci\u00f3n') || \n                        parentDiv.hasClass('c\u00f3digo-postal') || \n                        parentDiv.hasClass('ciudad') || \n                        parentDiv.hasClass('nombre-completo-o-razon-social') ||\n                        parentDiv.hasClass('provincia')) {\n\n                        var inputField = parentDiv.find('input, select').first();\n                        \/\/ Si el campo est\u00e1 vac\u00edo, deshabilitamos el bot\u00f3n y salimos de la funci\u00f3n\n                        if (inputField.length && inputField.val().trim() === '') {\n                            allFilled = false;\n                        }\n                    }\n                });\n            } else {\n                \/\/ Si la opci\u00f3n seleccionada es \"NO\", consideramos que no hace falta rellenar los campos\n                allFilled = true;\n            }\n\n            \/\/ Habilitar o deshabilitar el bot\u00f3n seg\u00fan si todos los campos est\u00e1n llenos\n            var button = jQuery('.cpbs-button.cpbs-button-style-1.cpbs-button-step-next');\n            if (allFilled) {\n                button.prop('disabled', false); \/\/ Habilitar\n                button.css({\n                    'background-color': '', \n                    'pointer-events': 'auto'\n                }); \/\/ Restaurar estilo\n\n                \/\/ Forzamos la actualizaci\u00f3n visual\n               \/* setTimeout(function() {\n                    button[0].scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n                }, 0); \/\/ Forzamos a mover el bot\u00f3n a la vista despu\u00e9s de la activaci\u00f3n*\/\n\n            } else {\n                button.prop('disabled', true); \/\/ Deshabilitar\n                button.css({\n                    'background-color': '#ff000038', \/\/ Color de fondo cuando est\u00e1 deshabilitado\n                    'pointer-events': 'none' \/\/ Deshabilitar los eventos del rat\u00f3n\n                });\n            }\n        }, 500); \/\/ Retraso para esperar la actualizaci\u00f3n de los campos\n    }\n\n    \/\/ Funci\u00f3n para limpiar los campos al cambiar entre \"SI\" y \"NO\"\n    function resetFieldsIfNeeded() {\n        var optionSelected = jQuery('.ui-selectmenu-text').text().trim().toLowerCase(); \/\/ \"SI\" o \"NO\"\n\n        if (optionSelected === 'no') {\n            \/\/ Limpiar los campos si la opci\u00f3n es \"NO\"\n            jQuery('.cpbs-clear-fix').each(function() {\n                var parentDiv = jQuery(this);\n\n                if (parentDiv.hasClass('nif\/cif') || \n                    parentDiv.hasClass('direcci\u00f3n') || \n                    parentDiv.hasClass('c\u00f3digo-postal') || \n                    parentDiv.hasClass('ciudad') || \n                    parentDiv.hasClass('nombre-completo-o-razon-social') ||\n                    parentDiv.hasClass('provincia')) {\n\n                    var inputField = parentDiv.find('input, select').first();\n                    if (inputField.length) {\n                        inputField.val(''); \/\/ Limpiar el valor\n                    }\n                }\n            });\n        }\n    }\n\n    \/\/ Llamar a la funci\u00f3n al cargar el documento para asegurarnos de que el estado inicial sea correcto\n    checkRequiredFields();\n\n    \/\/ A\u00f1adir evento de cambio en los campos para verificar si se llenan correctamente\n    jQuery('.cpbs-clear-fix input, .cpbs-clear-fix select').on('change input', function() {\n        checkRequiredFields(); \/\/ Verificar el estado cada vez que cambie un campo\n    });\n\n    \/\/ Repetir la verificaci\u00f3n cuando los campos sean mostrados u ocultados por la l\u00f3gica de SI\/NO\n    jQuery('.ui-selectmenu-text').on('change', function() {\n        checkRequiredFields(); \/\/ Revisa los campos tras mostrar\/ocultar\n        resetFieldsIfNeeded();  \/\/ Limpiar campos si se selecciona \"NO\"\n    });\n\n    \/\/ Observar cuando los campos din\u00e1micos se agreguen al DOM\n    var observer = new MutationObserver(function(mutationsList) {\n        mutationsList.forEach(function(mutation) {\n            if (mutation.type === 'childList' || mutation.type === 'attributes') {\n                \/\/ Llamamos a la validaci\u00f3n cada vez que el DOM cambie\n                checkRequiredFields();\n            }\n        });\n    });\n\n    \/\/ Configurar el observer\n    var config = { childList: true, subtree: true, attributes: true };\n    observer.observe(document.body, config);\n});\n\n\n\n<\/script>\n<div class=\"cpbs-clear-fix quiero-factura2\">\n  <div class=\"cpbs-form-field cpbs-form-field-width-100\">\n    <!-- El selector original oculto -->\n    <select name=\"cpbs_form_element_field_077389561AAB87FC492E907E044291FC\" id=\"ui-id-2\" style=\"display: none;\">\n      <option value=\"NO\" selected=\"\">NO<\/option>\n      <option value=\"SI\">SI<\/option>\n    <\/select>\n    <!-- Bot\u00f3n del selector que se muestra -->\n    <span tabindex=\"0\" id=\"ui-id-2-button\" role=\"combobox\" aria-expanded=\"false\" aria-autocomplete=\"list\" aria-owns=\"ui-id-2-menu\" aria-haspopup=\"true\" class=\"ui-selectmenu-button ui-selectmenu-button-closed ui-corner-all ui-button ui-widget\" aria-activedescendant=\"ui-id-3\" aria-labelledby=\"ui-id-3\" aria-disabled=\"false\">\n      <span class=\"cpbs-meta-icon-arrow-vertical\"><\/span>\n      <span class=\"ui-selectmenu-text\">NO<\/span>\n    <\/span>\n  <\/div>\t\t\t\t\t\t\n<\/div>\n\n<!-- Agrega el estilo CSS para el checkbox falso -->\n<style>\n  .fake-checkbox {\n    display: inline-block;\n    margin-top: 10px;\n\t    padding: 11px;\n  }\n  \n  .fake-checkbox input[type=\"checkbox\"] {\n    display: inline-block;\n    width: 20px;\n    height: 20px;\n    margin-right: 10px;\n    vertical-align: middle;\n  }\n\n  .fake-checkbox label {\n    display: inline-block;\n    font-size: 14px;\n    vertical-align: middle;\n  }\n  .cpbs-clear-fix.quiero-factura-\\* {\n    display: none;\n}\nspan#ui-id-2-button {\n    font-size: 0px !important;\n}\n<\/style>\n\n<!-- El c\u00f3digo jQuery para simular el checkbox -->\n<script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n<script>\n  $(document).ready(function() {\n    \/\/ Inserta el checkbox falso antes del selector\n    var checkboxHtml = '<div class=\"fake-checkbox\"><input type=\"checkbox\" id=\"fake-check\" \/>Marca si quieres factura<\/div>';\n    $('#ui-id-2-button').before(checkboxHtml);\n\n    \/\/ Comportamiento del checkbox falso\n    $('#fake-check').change(function() {\n      var isChecked = $(this).prop('checked');\n      var select = $('select[name=\"cpbs_form_element_field_077389561AAB87FC492E907E044291FC\"]');\n      \n      if (isChecked) {\n        \/\/ Si el checkbox est\u00e1 marcado, seleccionar \"SI\" en el selector\n        select.val('SI').trigger('change');\n        $('#ui-id-2-button .ui-selectmenu-text').text('SI');\n      } else {\n        \/\/ Si el checkbox no est\u00e1 marcado, seleccionar \"NO\" en el selector\n        select.val('NO').trigger('change');\n        $('#ui-id-2-button .ui-selectmenu-text').text('NO');\n      }\n    });\n\n    \/\/ Inicializar el estado del checkbox de acuerdo al valor del select\n    var initialVal = $('select[name=\"cpbs_form_element_field_077389561AAB87FC492E907E044291FC\"]').val();\n    if (initialVal === 'SI') {\n      $('#fake-check').prop('checked', true);\n    } else {\n      $('#fake-check').prop('checked', false);\n    }\n\n    \/\/ Evitar que el selector se despliegue cuando se hace clic en el \"checkbox falso\"\n    $('#fake-check').click(function(event) {\n      event.stopPropagation(); \/\/ Evitar que el clic se propague y abra el selector\n    });\n  });\n<\/script>\n\t\t\t<div id=\"cpbs-payment\"><\/div>\n\t\t\t\r\n\t\t\t\t<div class=\"cpbs-header cpbs-header-style-3\">Acuerdos<\/div>\r\n\t\t\t\t<div class=\"cpbs-agreement\">\r\n\t\t\t\t\t\r\n\t\t\t\t<div class=\"cpbs-clear-fix\">\r\n\t\t\t\t\t<span class=\"cpbs-form-checkbox\" data-value=\"1\">\r\n\t\t\t\t\t\t<span class=\"cpbs-meta-icon-tick\"><\/span>\r\n\t\t\t\t\t<\/span>\r\n\t\t\t\t\t<span>Al continuar, aceptas nuestros <a href=\"https:\/\/parkingalcala108.es\/condiciones-de-reserva-y-aparcamiento\/\" target=\"_blank\">T\u00e9rminos y condiciones.<\/a><\/span>\r\n\t\t\t\t\t<input type=\"hidden\" name=\"cpbs_form_element_agreement_38F67C86BAE8C94203A64E22C9FBE68C\" value=\"0\"\/> \r\n\t\t\t\t<\/div>\t  \r\n\t\t\t\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>   \n\t\t<\/div>\n\t\t<div class=\"cpbs-clear-fix cpbs-main-content-navigation-button\">\n\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-2 cpbs-button-step-prev\">\n\t\t\t\t<span class=\"cpbs-meta-icon-arrow-horizontal\"><\/span>\n\t\t\t\tTipo de veh\u00edculo\t\t\t<\/a> \n\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1 cpbs-button-step-next\">\n\t\t\t\tResumen de la reserva\t\t\t\t<span class=\"cpbs-meta-icon-arrow-horizontal\"><\/span>\n\t\t\t<\/a> \n\t\t<\/div>\n\t\t\n\t<style>\n\t.boton-deshabilitado {\n    background-color: #ff000038 !important; \/* Fondo rojo claro *\/\n    pointer-events: none !important; \/* Deshabilitar interacci\u00f3n *\/\n    cursor: not-allowed !important; \/* Cambiar el cursor *\/\n    opacity: 0.7 !important; \/* Reducir la opacidad *\/\n}\n\n\t<\/style>\n\t\n<script>\n$(document).ready(function() {\n    \/\/ Selecciona el contenedor din\u00e1mico (ajusta el selector si es necesario)\n    const contenedorDinamico = document.body; \/\/ Puedes cambiarlo a un contenedor espec\u00edfico\n\n    \/\/ Configura el MutationObserver\n    const observer = new MutationObserver(function(mutationsList, observer) {\n        \/\/ Busca el primer elemento din\u00e1mico (pago con tarjeta)\n        const $checkboxPago = $('.cpbs-form-checkbox[data-value=\"redsys\"]');\n\n        \/\/ Busca el segundo elemento din\u00e1mico (t\u00e9rminos y condiciones)\n        const $checkboxTerminos = $('.cpbs-agreement .cpbs-form-checkbox[data-value=\"1\"]');\n        \n        \/\/ Busca el bot\u00f3n de registro\n        const $botonRegistro = $('.cpbs-button.cpbs-button-style-2.cpbs-button-sign-up');\n\n        \/\/ Si todos los elementos existen, simula las acciones necesarias\n        if ($checkboxPago.length > 0 && $checkboxTerminos.length > 0 && $botonRegistro.length > 0) {\n            \/\/ Simula el clic en el primer checkbox (pago con tarjeta)\n            $checkboxPago.trigger('click');\n            console.log(\"Se simul\u00f3 el clic en el elemento de pago con tarjeta.\");\n\n            \/\/ Simula el clic en el segundo checkbox (t\u00e9rminos y condiciones)\n            $checkboxTerminos.trigger('click');\n            console.log(\"Se simul\u00f3 el clic en el elemento de t\u00e9rminos y condiciones.\");\n            \n            \/\/ Simula el clic en el bot\u00f3n de registro\n            $botonRegistro.trigger('click');\n            console.log(\"Se simul\u00f3 el clic en el bot\u00f3n de registro.\");\n\n            \/\/ Cambia el fondo del bot\u00f3n despu\u00e9s de marcarlo\n            $botonRegistro.css({\n                'background-color': '#4CAF50', \/\/ Verde (puedes cambiarlo al color que prefieras)\n                'color': 'white', \/\/ Texto en blanco para mejor contraste\n                'transition': 'background-color 0.3s ease' \/\/ Efecto suave al cambiar\n            });\n            console.log(\"Se cambi\u00f3 el fondo del bot\u00f3n de registro.\");\n\n            \/\/ Desconecta el observer para evitar m\u00faltiples ejecuciones\n            observer.disconnect();\n        }\n    });\n\n    \/\/ Opciones del observer\n    const config = {\n        childList: true, \/\/ Observa cambios en los hijos del nodo\n        subtree: true   \/\/ Observa en todo el sub\u00e1rbol del nodo\n    };\n\n    \/\/ Inicia la observaci\u00f3n en el contenedor din\u00e1mico\n    observer.observe(contenedorDinamico, config);\n});\n<\/script>\n\n<script>\n$(document).ready(function () {\n    function validarCampo(input) {\n        let name = input.attr(\"name\");\n        let value = input.val().trim();\n        let errorMsg = input.next(\".error-message\");\n\n        \/\/ Crear el mensaje de error si no existe\n        if (errorMsg.length === 0) {\n            input.after('<span class=\"error-message\" style=\"color: red; font-size: 12px; display: none;\"><\/span>');\n            errorMsg = input.next(\".error-message\");\n        }\n\n        let errorText = \"\";\n\n        console.log(\"Field name:\", name);  \/\/ Debugging\n        console.log(\"Field value:\", value);  \/\/ Debugging\n\n        \/\/ Validar si el campo est\u00e1 vac\u00edo\n        if (value === \"\") {\n            errorText = \"No puedes dejar este campo vac\u00edo.\";\n        } else {\n            \/\/ Validar Nombre y Apellido (solo letras y espacios)\n            if (name === \"cpbs_client_contact_detail_first_name\" || name === \"cpbs_client_contact_detail_last_name\") {\n                if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]+$\/.test(value)) {\n                    errorText = \"No puedes introducir n\u00fameros ni caracteres especiales.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]\/g, \"\")); \/\/ Elimina caracteres inv\u00e1lidos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar Correo Electr\u00f3nico\n            if (name === \"cpbs_client_contact_detail_email_address\") {\n                if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(value)) {\n                    errorText = \"El correo electr\u00f3nico debe contener '@' y un dominio v\u00e1lido.\";\n                }\n            }\n\n            \/\/ Validar N\u00famero de Tel\u00e9fono (solo n\u00fameros)\n            if (name === \"cpbs_client_contact_detail_phone_number\") {\n                if (!\/^\\d+$\/.test(value)) {\n                    errorText = \"Solo puedes introducir n\u00fameros.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/\\D\/g, \"\")); \/\/ Elimina letras y caracteres no num\u00e9ricos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar Matr\u00edcula (alfanum\u00e9rico: letras y n\u00fameros)\n            if (name === \"cpbs_form_element_field_C47F6C713BDA3F64F91559C9CC29074A\") {\n                if (!\/^[A-Za-z0-9]+$\/.test(value)) {\n                    errorText = \"Solo puedes introducir letras y n\u00fameros.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z0-9]\/g, \"\")); \/\/ Elimina caracteres no alfanum\u00e9ricos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar Comentarios (letras, n\u00fameros, espacios y algunos caracteres b\u00e1sicos)\n            if (name === \"cpbs_comment\") {\n                if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f10-9\\s.,!?;:()\\-]+$\/.test(value)) {\n                    errorText = \"No puedes introducir caracteres especiales.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f10-9\\s.,!?;:()\\-]\/g, \"\")); \/\/ Elimina caracteres no permitidos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar NOMBRE COMPLETO O RAZ\u00d3N SOCIAL (solo letras y espacios)\n            if (name === \"cpbs_form_element_field_A2A4AE55CFF81CFB0D94109C5737AF9F\") {\n                if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]+$\/.test(value)) {\n                    errorText = \"No puedes introducir n\u00fameros ni caracteres especiales.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]\/g, \"\")); \/\/ Elimina caracteres inv\u00e1lidos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar NIF\/CIF (letras y n\u00fameros, sin caracteres especiales)\n            if (name === \"cpbs_form_element_field_5648C1F6F4A480982A59D7455295F3B4\") {\n                if (!\/^[A-Za-z0-9]+$\/.test(value)) {\n                    errorText = \"Solo puedes introducir letras y n\u00fameros.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z0-9]\/g, \"\")); \/\/ Elimina caracteres no alfanum\u00e9ricos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar DIRECCI\u00d3N (letras, n\u00fameros y espacios, sin caracteres especiales)\n            if (name === \"cpbs_form_element_field_9095038BF1F8A73B7AF2F78A910451E0\") {\n                if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f10-9\\s]+$\/.test(value)) {\n                    errorText = \"No puedes introducir caracteres especiales.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f10-9\\s]\/g, \"\")); \/\/ Elimina caracteres no permitidos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar C\u00d3DIGO POSTAL (solo n\u00fameros)\n            if (name === \"cpbs_form_element_field_0F8E2FAAC26A2520DA0167AD6872CAD5\") {\n                if (!\/^\\d+$\/.test(value)) {\n                    errorText = \"Solo puedes introducir n\u00fameros.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/\\D\/g, \"\")); \/\/ Elimina letras y caracteres no num\u00e9ricos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar CIUDAD (solo letras y espacios)\n            if (name === \"cpbs_form_element_field_985A482AF70FE060C2ABAA49F2AF8BBF\") {\n                if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]+$\/.test(value)) {\n                    errorText = \"No puedes introducir n\u00fameros ni caracteres especiales.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]\/g, \"\")); \/\/ Elimina caracteres inv\u00e1lidos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n\n            \/\/ Validar PROVINCIA (solo letras y espacios)\n            if (name === \"cpbs_form_element_field_7B165885E201D90175199A299508E78A\") {\n                if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]+$\/.test(value)) {\n                    errorText = \"No puedes introducir n\u00fameros ni caracteres especiales.\";\n                    setTimeout(() => {\n                        input.val(value.replace(\/[^A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1\\s]\/g, \"\")); \/\/ Elimina caracteres inv\u00e1lidos\n                        validarCampo(input); \/\/ Validar nuevamente despu\u00e9s de eliminar caracteres\n                    }, 0);\n                }\n            }\n        }\n\n        \/\/ Mostrar o esconder el mensaje de error\n        if (errorText) {\n            errorMsg.text(errorText).show();\n            input.css(\"border\", \"2px solid red\");\n        } else {\n            \/\/ Ocultar el mensaje de error y el borde rojo despu\u00e9s de 1 segundo\n            setTimeout(() => {\n                errorMsg.hide();\n                input.css(\"border\", \"\");\n            }, 1000); \/\/ Retraso de 1 segundo (1000 milisegundos)\n        }\n    }\n\n    \/\/ Validar cuando se escriba en los campos\n    $(document).on(\"input\", \".cpbs-client-form input, .cpbs-client-form textarea\", function () {\n        validarCampo($(this));\n    });\n\n    \/\/ Validar cuando se cambie de campo (evento blur)\n    $(document).on(\"blur\", \".cpbs-client-form input, .cpbs-client-form textarea\", function () {\n        validarCampo($(this));\n    });\n\n    \/\/ Configurar el MutationObserver para nuevos campos din\u00e1micos\n    let observer = new MutationObserver(function (mutations) {\n        mutations.forEach(function (mutation) {\n            $(mutation.addedNodes)\n                .find(\"input, textarea\")\n                .each(function () {\n                    \/\/ Asociar el evento input y blur a los nuevos campos\n                    $(this).on(\"input blur\", function () {\n                        validarCampo($(this));\n                    });\n                });\n        });\n    });\n\n    let targetNode = document.querySelector(\".cpbs-client-form\");\n    if (targetNode) {\n        observer.observe(targetNode, { childList: true, subtree: true });\n    }\n});\n<\/script>\n\n<script>\n$(document).ready(function () {\n    \/\/ Clase CSS para el bot\u00f3n deshabilitado\n    const BOTON_DESHABILITADO_CLASE = \"boton-deshabilitado\";\n    let bloqueoActivo = true; \/\/ Variable para controlar si el bloqueo est\u00e1 activo\n\n    \/\/ Funci\u00f3n para validar los campos b\u00e1sicos\n    function validarCamposBasicos() {\n        let camposBasicos = [\n            \"cpbs_client_contact_detail_first_name\", \/\/ Nombre\n            \"cpbs_client_contact_detail_last_name\",  \/\/ Apellido\n            \"cpbs_client_contact_detail_email_address\", \/\/ Correo\n            \"cpbs_client_contact_detail_phone_number\", \/\/ Tel\u00e9fono\n            \"cpbs_form_element_field_C47F6C713BDA3F64F91559C9CC29074A\" \/\/ Matr\u00edcula\n        ];\n\n        let todosLlenos = true;\n\n        camposBasicos.forEach(function (campo) {\n            let input = $(`input[name=\"${campo}\"], textarea[name=\"${campo}\"]`);\n            if (input.length && input.val().trim() === \"\") {\n                todosLlenos = false;\n            }\n        });\n\n        return todosLlenos;\n    }\n\n    \/\/ Funci\u00f3n para validar los campos de factura\n    function validarCamposFactura() {\n        let camposFactura = [\n            \"cpbs_form_element_field_A2A4AE55CFF81CFB0D94109C5737AF9F\", \/\/ Nombre completo o raz\u00f3n social\n            \"cpbs_form_element_field_5648C1F6F4A480982A59D7455295F3B4\", \/\/ NIF\/CIF\n            \"cpbs_form_element_field_9095038BF1F8A73B7AF2F78A910451E0\", \/\/ Direcci\u00f3n\n            \"cpbs_form_element_field_0F8E2FAAC26A2520DA0167AD6872CAD5\", \/\/ C\u00f3digo postal\n            \"cpbs_form_element_field_985A482AF70FE060C2ABAA49F2AF8BBF\", \/\/ Ciudad\n            \"cpbs_form_element_field_7B165885E201D90175199A299508E78A\" \/\/ Provincia\n        ];\n\n        let todosLlenos = true;\n\n        camposFactura.forEach(function (campo) {\n            let input = $(`input[name=\"${campo}\"]`);\n            if (input.length && input.val().trim() === \"\") {\n                todosLlenos = false;\n            }\n        });\n\n        return todosLlenos;\n    }\n\n    \/\/ Funci\u00f3n para verificar si el bot\u00f3n debe estar habilitado o deshabilitado\n    function verificarEstadoBoton() {\n        let boton = $(\".cpbs-button.cpbs-button-style-1.cpbs-button-step-next\");\n        \n        \/\/ Si el bloqueo no est\u00e1 activo, habilitar el bot\u00f3n y salir de la funci\u00f3n\n        if (!bloqueoActivo) {\n            boton.prop(\"disabled\", false);\n            boton.removeClass(BOTON_DESHABILITADO_CLASE);\n            return;\n        }\n        \n        let camposBasicosLlenos = validarCamposBasicos();\n        let facturaMarcada = $(\"#fake-check\").prop(\"checked\");\n\n        if (!camposBasicosLlenos) {\n            \/\/ Si los campos b\u00e1sicos no est\u00e1n llenos, deshabilitar el bot\u00f3n\n            boton.prop(\"disabled\", true);\n            boton.addClass(BOTON_DESHABILITADO_CLASE);\n        } else if (facturaMarcada) {\n            \/\/ Si la factura est\u00e1 marcada, validar los campos de factura\n            let camposFacturaLlenos = validarCamposFactura();\n            if (!camposFacturaLlenos) {\n                boton.prop(\"disabled\", true);\n                boton.addClass(BOTON_DESHABILITADO_CLASE);\n            } else {\n                boton.prop(\"disabled\", false);\n                boton.removeClass(BOTON_DESHABILITADO_CLASE);\n            }\n        } else {\n            \/\/ Si los campos b\u00e1sicos est\u00e1n llenos y no se requiere factura, habilitar el bot\u00f3n\n            boton.prop(\"disabled\", false);\n            boton.removeClass(BOTON_DESHABILITADO_CLASE);\n        }\n    }\n\n    \/\/ Funci\u00f3n para asociar eventos a los campos din\u00e1micos\n    function asociarEventos() {\n        $(document).on(\"input change\", \".cpbs-client-form input, .cpbs-client-form textarea, #fake-check\", function () {\n            verificarEstadoBoton();\n        });\n        \n        \/\/ Evento para el bot\u00f3n \"Anterior\"\n        $(document).on(\"click\", \".cpbs-button.cpbs-button-style-2.cpbs-button-step-prev\", function () {\n            bloqueoActivo = false; \/\/ Desactivar el bloqueo\n            verificarEstadoBoton(); \/\/ Actualizar el estado del bot\u00f3n\n        });\n    }\n\n    \/\/ Funci\u00f3n para desactivar y ocultar el campo de comentarios y su contenedor\n    function desactivarComentarios() {\n        let comentariosField = $(\"textarea[name='cpbs_comment']\");\n        if (comentariosField.length) {\n            \/\/ Desactivar y ocultar el campo de comentarios\n            comentariosField.val(\"Comentarios desactivados\").prop(\"disabled\", true).hide();\n\n            \/\/ Ocultar el contenedor del campo de comentarios (incluyendo el label)\n            let comentariosContainer = comentariosField.closest(\".cpbs-clear-fix.comentarios\");\n            if (comentariosContainer.length) {\n                comentariosContainer.hide();\n            }\n        }\n    }\n\n    \/\/ Configurar el MutationObserver para detectar cambios en el DOM\n    let observer = new MutationObserver(function (mutations) {\n        mutations.forEach(function (mutation) {\n            if (mutation.type === \"childList\") {\n                \/\/ Verificar si el bot\u00f3n o los campos han sido agregados din\u00e1micamente\n                let boton = $(\".cpbs-button.cpbs-button-style-1.cpbs-button-step-next\");\n                if (boton.length) {\n                    \/\/ Si el bot\u00f3n existe, asociar eventos y verificar su estado\n                    asociarEventos();\n                    verificarEstadoBoton();\n                }\n\n                \/\/ Desactivar y ocultar el campo de comentarios si se carga din\u00e1micamente\n                desactivarComentarios();\n            }\n        });\n    });\n\n    \/\/ Iniciar la observaci\u00f3n del contenedor del formulario\n    let targetNode = document.querySelector(\".cpbs-client-form\");\n    if (targetNode) {\n        observer.observe(targetNode, { childList: true, subtree: true });\n    }\n\n    \/\/ Observar cambios en el bot\u00f3n para evitar que otros scripts lo modifiquen\n    let botonObserver = new MutationObserver(function (mutations) {\n        mutations.forEach(function (mutation) {\n            if (mutation.type === \"attributes\" && mutation.attributeName === \"disabled\") {\n                let boton = $(\".cpbs-button.cpbs-button-style-1.cpbs-button-step-next\");\n                if (bloqueoActivo && boton.prop(\"disabled\")) {\n                    boton.addClass(BOTON_DESHABILITADO_CLASE);\n                } else {\n                    boton.removeClass(BOTON_DESHABILITADO_CLASE);\n                }\n            }\n        });\n    });\n\n    \/\/ Observar el bot\u00f3n para mantener el estado deshabilitado\n    let botonNode = document.querySelector(\".cpbs-button.cpbs-button-style-1.cpbs-button-step-next\");\n    if (botonNode) {\n        botonObserver.observe(botonNode, { attributes: true });\n    }\n\n    \/\/ Desactivar y ocultar el campo de comentarios al cargar la p\u00e1gina\n    desactivarComentarios();\n});\n<\/script>\n\n<script>\nconst observer = new MutationObserver((mutationsList, observer) => {\n    mutationsList.forEach(mutation => {\n        mutation.addedNodes.forEach(node => {\n            if (node.nodeType === 1) { \/\/ Verificar si es un elemento\n                const select = node.querySelector('select[name=\"cpbs_form_element_field_7B165885E201D90175199A299508E78A\"]');\n                if (select) {\n                    modificarSelect(select);\n                }\n            }\n        });\n    });\n});\n\nfunction modificarSelect(select) {\n    if (select.options.length > 0) {\n        select.options[0].textContent = \"Seleccione\";\n        select.options[0].value = \"\"; \/\/ Opcional, para que no tenga valor seleccionado\n    }\n}\n\n\/\/ Observar el documento principal\nobserver.observe(document.body, { childList: true, subtree: true });\n\n<\/script>\n<style>\n.cpbs-place-list ul.cpbs-list-reset li:nth-child(2) .cpbs-header.cpbs-header-style-3.cpbs-place-name::after {\n  content: \" Veh\u00edculos furgonetas superiores a 4,90 m. de largo.\";\n  display: block;\n  font-size: 16px;\n  color: #666;\n  margin-top: 5px;\n  font-weight: normal;\n  display: unset;\n  font-weight: bold;\n  color: black;\n  margin-left: 15px;\n}\n<\/style>\n<script>\n$(document).ready(function() {\n    \/\/ Funci\u00f3n mejorada de reemplazo\n    function replaceDollarWithEuro() {\n        \/\/ Procesar todo el texto visible en la p\u00e1gina\n        $('body :not(script, style, noscript)').contents().each(function() {\n            if (this.nodeType === 3) { \/\/ Nodo de texto\n                const text = this.nodeValue;\n                const newText = text.replace(\/\\$\/g, '\u20ac');\n                if (newText !== text) {\n                    $(this).replaceWith(newText);\n                }\n            }\n        });\n        \n        \/\/ Procesar inputs y textareas\n        $('input, textarea').each(function() {\n            const $element = $(this);\n            const newValue = $element.val().replace(\/\\$\/g, '\u20ac');\n            if (newValue !== $element.val()) {\n                $element.val(newValue);\n            }\n        });\n        \n        \/\/ Procesar atributos value en otros elementos\n        $('[value]').not('input, textarea').each(function() {\n            const $element = $(this);\n            const newValue = $element.attr('value').replace(\/\\$\/g, '\u20ac');\n            if (newValue !== $element.attr('value')) {\n                $element.attr('value', newValue);\n            }\n        });\n    }\n\n    \/\/ MutationObserver para contenido din\u00e1mico\n    const observer = new MutationObserver(function(mutations) {\n        let needsUpdate = false;\n        \n        mutations.forEach(function(mutation) {\n            if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n                needsUpdate = true;\n            }\n            if (mutation.type === 'characterData') {\n                const newText = mutation.target.nodeValue.replace(\/\\$\/g, '\u20ac');\n                if (newText !== mutation.target.nodeValue) {\n                    mutation.target.nodeValue = newText;\n                }\n            }\n        });\n        \n        if (needsUpdate) {\n            replaceDollarWithEuro();\n        }\n    });\n\n    \/\/ Configurar y iniciar el observer\n    observer.observe(document.body, {\n        childList: true,\n        subtree: true,\n        characterData: true,\n        attributes: true,\n        attributeFilter: ['value']\n    });\n\n    \/\/ Ejecutar al cargar la p\u00e1gina\n    replaceDollarWithEuro();\n\n    \/\/ Manejar contenido cargado via AJAX\n    $(document).ajaxComplete(function() {\n        replaceDollarWithEuro();\n    });\n\n    \/\/ Opcional: Reemplazar tambi\u00e9n al escribir en inputs\n    $(document).on('input', 'input, textarea', function() {\n        const $this = $(this);\n        const newValue = $this.val().replace(\/\\$\/g, '\u20ac');\n        if (newValue !== $this.val()) {\n            $this.val(newValue);\n        }\n    });\n});\n<\/script>\t\t\t\t\t\t<\/div>\n \n\t\t\t\t\t\t<div class=\"cpbs-main-content-step-4\">\n\t\t<div class=\"cpbs-layout-50x50 cpbs-clear-fix\">\n\t\t\t<div class=\"cpbs-layout-column-left cpbs-form-panel\"><\/div>\n\t\t\t<div class=\"cpbs-layout-column-right\"><\/div>\n\t\t<\/div>\n\t\t<div class=\"cpbs-clear-fix cpbs-main-content-navigation-button\">\n\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-2 cpbs-button-step-prev\">\n\t\t\t\t<span class=\"cpbs-meta-icon-arrow-horizontal\"><\/span>\n\t\t\t\tDetalles del cliente\t\t\t<\/a> \n\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1 cpbs-button-step-next\">\n\t\t\t\tReservar\t\t\t\t<span class=\"cpbs-meta-icon-arrow-horizontal\"><\/span>\n\t\t\t<\/a> \n\t\t<\/div>\n\t\t<div class=\"zbe-acordeon\">\n    <div class=\"zbe-titulo\">\n        Zona de tr\u00e1fico limitado <span class=\"ver-mas\">Ver m\u00e1s<\/span>\n    <\/div>\n    <div class=\"zbe-contenido\">\n        <p>La Zona de Bajas Emisiones Madrid es un \u00e1rea restringida en la que no pueden circular los veh\u00edculos sin etiqueta medioambiental. S\u00f3lo puedes acceder si tu coche lleva la etiqueta 0, Eco, B o C.<\/p>\n        <p>Si vas a la ZBEDEP Distrito Centro o Plaza El\u00edptica a tu llegada el parking se encargar\u00e1 de gestionar la autorizaci\u00f3n para que tu veh\u00edculo pueda entrar y salir del parking sin ser multado.<\/p>\n        <p>Ten en cuenta que:<\/p>\n        <ul>\n            <li>La reserva no es una autorizaci\u00f3n<\/li>\n            <li>Los protocolos por alta contaminaci\u00f3n pueden afectar tambi\u00e9n al tr\u00e1nsito de los veh\u00edculos con las etiquetas B y C.<\/li>\n            <li>A partir del 1 de enero de 2023 no podr\u00e1n circular por la M30 los veh\u00edculos sin etiqueta ambiental y a partir del 1 de enero de 2024 tendr\u00e1n tambi\u00e9n prohibida la circulaci\u00f3n en todo el t\u00e9rmino municipal de Madrid.<\/li>\n        <\/ul>\n        <p>M\u00e1s informaci\u00f3n: <a href=\"https:\/\/www.esmadrid.com\/conduccion-madrid\">https:\/\/www.esmadrid.com\/conduccion-madrid<\/a><\/p>\n    <\/div>\n<\/div>\n\n<div class=\"altura-acordeon\">\n    <div class=\"altura-titulo\">\n        Altura m\u00e1xima del parking <span class=\"ver-mas\">Ver m\u00e1s<\/span>\n    <\/div>\n    <div class=\"altura-contenido\">\n        <p>Altura m\u00e1xima del parking: 2.6m.<\/p>\n        <p>Tu veh\u00edculo no podr\u00e1 acceder al parking si mide m\u00e1s de 2.6 m. de altura.<\/p>\n    <\/div>\n<\/div>\n\n<!-- Nuevo acorde\u00f3n: Cancelaciones -->\n<div class=\"cancelaciones-acordeon\">\n    <div class=\"cancelaciones-titulo\">\n        Modificaciones o cancelaciones de reservas: <span class=\"ver-mas\">Ver m\u00e1s<\/span>\n    <\/div>\n    <div class=\"cancelaciones-contenido\"> <!-- Cambio de clase aqu\u00ed -->\n        <p>Las modificaciones de reserva se realizar\u00e1n cancelando la misma y realizando una nueva. Se realizar\u00e1 la devoluci\u00f3n.<\/p>\n\t\t<p>La modificaci\u00f3n de la matr\u00edcula solo se podr\u00e1 realizar entrando en la cuenta del usuario <\/p>\n        <p>Las cancelaciones se realizar\u00e1n a trav\u00e9s del bot\u00f3n \"cancelaci\u00f3n\" que encontrar\u00e1 en su cuenta de cliente.<\/p>\n        <p>Las cancelaciones se podr\u00e1n realizar hasta 24 horas antes.<\/p>\n\t\t\n    <\/div>\n<\/div>\n\n<style>\n.zbe-acordeon, .altura-acordeon, .cancelaciones-acordeon {\n    margin-bottom: 20px;\n}\n\n.zbe-titulo, .altura-titulo, .cancelaciones-titulo {\n    font-weight: bold;\n    cursor: pointer;\n}\n\n.zbe-contenido, .altura-contenido, .cancelaciones-contenido {\n    display: none; \/* Ahora s\u00ed se oculta correctamente *\/\n    margin-top: 10px;\n}\n\n.ver-mas {\n    color: blue;\n    text-decoration: underline;\n}\n<\/style>\n\n<script>\njQuery(document).ready(function() {\n    \/\/ Insertar acordeones antes de la clase .cpbs-layout-column-left\n    jQuery('.cpbs-layout-column-left').before(jQuery('.zbe-acordeon, .altura-acordeon, .cancelaciones-acordeon'));\n\n    \/\/ Manejar el clic en los t\u00edtulos del acorde\u00f3n\n    jQuery('.zbe-titulo, .altura-titulo, .cancelaciones-titulo').click(function() {\n        jQuery(this).next('.zbe-contenido, .altura-contenido, .cancelaciones-contenido').slideToggle();\n    });\n});\n<\/script>\n\n\n\n\t\t\t\t\t\t<\/div>\n \n\t\t\t\t\t\t<div class=\"cpbs-main-content-step-5\">\n\t\t<div class=\"cpbs-clear-fix cpbs-booking-complete\"> \n\t\t\t<div class=\"cpbs-notice cpbs-hidden\"><\/div>\n\t\t\t<div class=\"cpbs-icon-booking-complete\"><\/div>\n\t\t\t<div class=\"cpbs-header cpbs-header-style-2\">Gracias por la reserva<\/div>\n\t\t\t<div class=\"cpbs-booking-complete-payment\">\n\t\t\t\t<div class=\"cpbs-booking-complete-payment-none\">\n\t\t\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1\"><\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"cpbs-booking-complete-payment-woocommerce\">\n\t\t\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1\">Pagar la reserva<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"cpbs-booking-complete-payment-cash\">\n\t\t\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1\"><\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"cpbs-booking-complete-payment-stripe\">\n\t\t\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1\">\n\t\t\t\t\t\tPay via Stripe&nbsp;\n\t\t\t\t\t\t(redirecting in <span><\/span> seconds...)\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"cpbs-booking-complete-payment-paypal\">\n\t\t\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1\">\n\t\t\t\t\t\tPay via PayPal&nbsp;\n\t\t\t\t\t\t(redirecting in <span><\/span> seconds...)\t\t\t\t\t<\/a>\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"cpbs-booking-complete-payment-wire_transfer\">\n\t\t\t\t\t<a href=\"#\" class=\"cpbs-button cpbs-button-style-1\"><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t<input type=\"hidden\" name=\"action\" data-value=\"\"\/>\n\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_step\" data-value=\"1\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_step_request\" data-value=\"1\"\/>\n\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_place_type_id\" data-value=\"0\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_payment_id\" data-value=\"\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_booking_extra_id\" data-value=\"0\"\/>\n\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_booking_form_id\" data-value=\"1957\"\/>\n\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_post_id\" data-value=\"2139\"\/>\n\n\t\t\t\t<input type=\"hidden\" name=\"cpbs_currency\" data-value=\"EUR\"\/>\n\n\t\t\t<\/form>\n\n\t\t\t<div id=\"cpbs-payment-form\">\n\r\n\t\t\t<form action=\"https:\/\/www.sandbox.paypal.com\/cgi-bin\/webscr\" method=\"post\" name=\"cpbs-form-paypal\" data-location-id=\"65\">\r\n\t\t\t\t<input type=\"hidden\" name=\"cmd\" value=\"_xclick\">\r\n\t\t\t\t<input type=\"hidden\" name=\"business\" value=\"sb-srt2b4038453@personal.example.com\">\t\t\t\t\r\n\t\t\t\t<input type=\"hidden\" name=\"item_name\" value=\"\">\r\n\t\t\t\t<input type=\"hidden\" name=\"item_number\" value=\"0\">\r\n\t\t\t\t<input type=\"hidden\" name=\"amount\" value=\"0.00\">\t\r\n\t\t\t\t<input type=\"hidden\" name=\"currency_code\" value=\"EUR\">\r\n\t\t\t\t<input type=\"hidden\" value=\"1\" name=\"no_shipping\">\r\n\t\t\t\t<input type=\"hidden\" value=\"https:\/\/parkingalcala108.es\/reservar\/?action=ipn\" name=\"notify_url\">\t\t\t\t\r\n\t\t\t\t<input type=\"hidden\" value=\"https:\/\/parkingalcala108.es\/reservar\/?action=success?action=success\" name=\"return\">\r\n\t\t\t\t<input type=\"hidden\" value=\"https:\/\/parkingalcala108.es\/reservar\/?action=cancel?action=cancel\" name=\"cancel_return\">\r\n\t\t\t<\/form>\r\n\t\t  \n\t\t\t<\/div>\n\n\n\t\t\t<div id=\"cpbs-preloader-start\"><\/div>\n\t\t\t\t<div class=\"cpbs-location-info-frame\" data-location_id=\"65\"> \n\n\t\t\t\t\t<div>\n\n\t\t\t\t\t\t<div class=\"cpbs-layout-50x50 cpbs-clear-fix3\">\n\n\t\t\t\t\t\t\t<div class=\"cpbs-layout-column-left cpbs-location-info-frame-name\">\n\n\t\t\t\t\t\t\t\t<div class=\"cpbs-header cpbs-header-style-2\">Parking alcal\u00e1 108<\/div>\n\t\t\t\t\t\t\t\t<div>\n28001 Madrid\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"cpbs-layout-column-right cpbs-location-info-frame-place-type\">\n\t\t\t\t\t\t\t\t<div class=\"cpbs-list\">\n\n\t\t\t\t\t\t<div class=\"cpbs-list-item\">\n\t\t\t\t\t\t\t<div style=\"background-color:#004280;\">\n\t\t\t\t\t\t\t\t<span class=\"cpbs-feature-icon-02\"><\/span>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<span>Turismos<\/span>\n\t\t\t\t\t\t\t\t\t<span>100 spaces<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"cpbs-list-item\">\n\t\t\t\t\t\t\t<div style=\"background-color:#2c3e50;\">\n\t\t\t\t\t\t\t\t<span class=\"cpbs-feature-icon-04\"><\/span>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<span>Furgonetas<\/span>\n\t\t\t\t\t\t\t\t\t<span>100 spaces<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"cpbs-location-info-frame-image\">\n\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1536\" height=\"978\" src=\"https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1.jpg 1536w, https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1-600x382.jpg 600w, https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1-300x191.jpg 300w, https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1-1024x652.jpg 1024w, https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1-768x489.jpg 768w, https:\/\/parkingalcala108.es\/reservar\/wp-content\/uploads\/2020\/06\/20230717_1709082-1536x978-1-460x293.jpg 460w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/>\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<div class=\"cpbs-layout-50x25x25\">\n\n\t\t\t\t\t\t\t<div class=\"cpbs-layout-column-left cpbs-location-info-frame-description\">\n\t\t\t\t\t\t\t\tParking de la calle alcal\u00e1 108\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"cpbs-layout-column-center cpbs-location-info-frame-contact-detail\">\n\t\t\t\t\t\t\t\t<label>Contacto<\/label>\n<div>Phone: 602 221 221<\/div><div>Fax: 602 221 225<\/div><div><a href=\"krakow.south@mail.com\">krakow.south@mail.com<\/a><\/div>\t\t\t\t\t\t\t<\/div>\t\n\n\t\t\t\t\t\t\t<div class=\"cpbs-layout-column-right cpbs-location-info-frame-business-hour\">\n\t\t\t\t\t\t\t\t<label>Horario:<\/label>\n\t\t\t\t\t\t\t\tlunes: 07:00 - 23:59<br\/>martes: 07:00 - 23:59<br\/>mi\u00e9rcoles: 07:00 - 23:59<br\/>jueves: 00:00 - 02:00, 07:00 - 23:59<br\/>viernes: 00:00 - 02:00, 07:00 - 23:59<br\/>s\u00e1bado: 00:00 - 02:00, 08:00 - 23:59<br\/>domingo: 00:00 - 02:00, 08:00 - 23:59\t\t\t\t\t\t\t<\/div>\t\n\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t<\/div>\n\r\n\t\t\t\t<script>\r\n\t\t\t\t\t\n\t\t\tjQuery(document).ready(function($)\n\t\t\t{\t\t\t\n\t\t\t\t$('#cpbs_booking_form_BAF654B33DBEAE5415687C3FE51B8AE8').CPBSBookingForm(\n\t\t\t\t{\n\t\t\t\t\tbooking_form_id: '1957',\n\t\t\t\t\tplugin_version: '2.8',\n\t\t\t\t\twidget:\n\t\t\t\t\t{\n\t\t\t\t\t\tmode: 0,\n\t\t\t\t\t\tbooking_form_url: ''\n\t\t\t\t\t},\n\t\t\t\t\tajax_url: 'https:\/\/parkingalcala108.es\/reservar\/wp-admin\/admin-ajax.php',\n\t\t\t\t\tplugin_url: 'https:\/\/parkingalcala108.es\/reservar\/wp-content\/plugins\/car-park-booking-system\/',\n\t\t\t\t\ttime_format: 'G:i',\n\t\t\t\t\tdate_format: 'd-m-Y',\n\t\t\t\t\tdate_format_js: 'dd-mm-yy',\n\t\t\t\t\ttimepicker_step: '60',\n\t\t\t\t\tsummary_sidebar_sticky_enable: 0,\n\t\t\t\t\tlocation_id: 65,\n\t\t\t\t\tlocation_date_exclude:\t{\"65\":[]},\n\t\t\t\t\tlocation_business_hour: \n\t\t\t\t\t{\n\t\t\t\t\t\tentry:{\"65\":{\"available\":{\"1\":[{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"2\":[{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"3\":[{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"4\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"5\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"6\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"08:00\",\"stop\":\"23:59\"}],\"7\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"08:00\",\"stop\":\"23:59\"}]},\"unavailable\":{\"1\":[{\"start\":\"00:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"2\":[{\"start\":\"00:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"3\":[{\"start\":\"00:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"4\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"5\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"6\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"08:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"7\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"08:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}]}}},\n\t\t\t\t\t\texit:{\"65\":{\"available\":{\"1\":[{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"2\":[{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"3\":[{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"4\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"5\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"07:00\",\"stop\":\"23:59\"}],\"6\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"08:00\",\"stop\":\"23:59\"}],\"7\":[{\"start\":\"00:00\",\"stop\":\"02:00\"},{\"start\":\"08:00\",\"stop\":\"23:59\"}]},\"unavailable\":{\"1\":[{\"start\":\"00:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"2\":[{\"start\":\"00:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"3\":[{\"start\":\"00:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"4\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"5\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"07:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"6\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"08:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}],\"7\":[{\"start\":\"00:00\",\"stop\":\"00:00\"},{\"start\":\"02:00\",\"stop\":\"08:00\"},{\"start\":\"23:59\",\"stop\":\"24:00\"}]}}}\n\t\t\t\t\t},\n\t\t\t\t\tlocation_entry_period: {\"65\":{\"min\":\"16-04-2026 02:00:00\",\"max\":null}},\n\t\t\t\t\tlocation_entry_period_format: {\"65\":{\"min\":\"16-04-2026\",\"max\":null}},\n\t\t\t\t\tlocation_coordinate: {\"65\":{\"lat\":\"51.082472\",\"lng\":\"17.063366\"}},\n\t\t\t\t\tlocation_payment_paypal_redirect_duration: {\"65\":\"5\"},\n\t\t\t\t\tlocation_detail_window_open_action: [\"1\",\"3\"],\n\t\t\t\t\tclient_coordinate: {\"lat\":0,\"lng\":0},   \n\t\t\t\t\tgeolocation_enable: [],\n\t\t\t\t\tgooogleMapOption:\n\t\t\t\t\t{\t\n\t\t\t\t\t\tscrollwheel:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tenable: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdraggable:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tenable:false\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmapControl:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tenable: false,\n\t\t\t\t\t\t\tid: 'ROADMAP'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tzoomControl:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tenable: false,\n\t\t\t\t\t\t\tlevel: 11\t\t\t\t\t\t\t\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstyle: '[]'\n\t\t\t\t\t},\n\t\t\t\t\tbooking_form_color: {\"1\":\"1E1E1E\",\"2\":\"E4E9ED\",\"3\":\"FFFFFF\",\"4\":\"818D97\",\"5\":\"E9EDF1\",\"6\":\"1E1E1E\",\"7\":\"F2F5F7\",\"8\":\"9EA8B2\",\"9\":\"556677\",\"10\":\"C0C8D1\"},\n\t\t\t\t\tis_rtl: 0,\n\t\t\t\t\tscroll_to_booking_extra_after_select_place_enable: 0,\n\t\t\t\t\tredirect_to_next_step_after_select_place_enable: 0,\n\t\t\t\t\tsecond_step_next_button_enable: 0,\n\t\t\t\t\tcurrent_date: '16-04-2026',\n\t\t\t\t\tcurrent_time: '01:57'\n\t\t\t\t}).setup();\n\t\t\t});\t\n\t\t\r\n\t\t\t\t<\/script>\r\n\t\t\t<\/div>\n\t\t\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>FORMULARIO DE RESERVA DE PARKING ALCAL\u00c1 108. Horarios: Alcal\u00e1 108Direcci\u00f3n: Calle Alcal\u00e1, 108. Madrid.Horarios: Lu-Ma: 07:00-23:00h. Mi: 07:00-00:00h. Ju-Vi: 07:00-1:00*. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2139","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/pages\/2139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/comments?post=2139"}],"version-history":[{"count":94,"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/pages\/2139\/revisions"}],"predecessor-version":[{"id":3393,"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/pages\/2139\/revisions\/3393"}],"wp:attachment":[{"href":"https:\/\/parkingalcala108.es\/reservar\/wp-json\/wp\/v2\/media?parent=2139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}