{"id":48,"date":"2026-06-24T12:00:59","date_gmt":"2026-06-24T17:00:59","guid":{"rendered":"https:\/\/meet.century-media.net\/?page_id=48"},"modified":"2026-07-01T11:33:31","modified_gmt":"2026-07-01T16:33:31","slug":"agendamiento-century-media","status":"publish","type":"page","link":"https:\/\/meet.century-media.net\/","title":{"rendered":"Century Media \u2014 Booking Landing"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"48\" class=\"elementor elementor-48\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66c588f e-con-full e-flex e-con e-parent\" data-id=\"66c588f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-8c0fbdf e-con-full e-flex e-con e-child\" data-id=\"8c0fbdf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-34c1db3 e-con-full e-flex e-con e-child\" data-id=\"34c1db3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-9667662 e-con-full e-flex e-con e-child\" data-id=\"9667662\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1514ab9 elementor-widget elementor-widget-text-editor\" data-id=\"1514ab9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Agenda tu <span class=\"\"><span style=\"color: #1e293b;\">conexi\u00f3n<\/span><br \/><\/span>con <span class=\"\">Century\u00a0Media<\/span>.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-569d726 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"569d726\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #7fc631;\">Reserva una reuni\u00f3n<\/span> con nuestro equipo de estrategia, <span style=\"color: #7fc631;\">medios y creatividad<\/span>.<br \/><span class=\"hl\">Datos poderosos y un poder de <span style=\"color: #7fc631;\">negociaci\u00f3n<\/span> s\u00f3lido para que <span style=\"color: #7fc631;\">tu marca crezca<\/span>.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9bd32b5 e-con-full e-flex e-con e-child\" data-id=\"9bd32b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-83556af elementor-widget elementor-widget-shortcode\" data-id=\"83556af\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"cmw-booking\">\r\n\r\n    <form class=\"cmw-grid\" id=\"cmwForm\" novalidate>\r\n\r\n        <div class=\"cmw-card cmw-card--cal\">\r\n\r\n            <div class=\"cmw-cal__head\">\r\n\r\n                <div>\r\n                    <div class=\"cmw-card__title\">\r\n                        <span class=\"cmw-card__bar\"><\/span>\r\n                        <h2>Seleccionar fecha<\/h2>\r\n                    <\/div>\r\n\r\n                    <div class=\"cmw-month\" id=\"cmwMonth\">\r\n                        &mdash;\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"cmw-nav\">\r\n\r\n                    <button\r\n                        type=\"button\"\r\n                        id=\"cmwPrev\"\r\n                        aria-label=\"Mes anterior\"\r\n                    >\r\n                        <svg\r\n                            viewBox=\"0 0 24 24\"\r\n                            fill=\"none\"\r\n                            stroke=\"currentColor\"\r\n                            stroke-width=\"2.4\"\r\n                            stroke-linecap=\"round\"\r\n                            stroke-linejoin=\"round\"\r\n                            aria-hidden=\"true\"\r\n                        >\r\n                            <polyline points=\"15 18 9 12 15 6\"><\/polyline>\r\n                        <\/svg>\r\n                    <\/button>\r\n\r\n                    <button\r\n                        type=\"button\"\r\n                        id=\"cmwNext\"\r\n                        aria-label=\"Mes siguiente\"\r\n                    >\r\n                        <svg\r\n                            viewBox=\"0 0 24 24\"\r\n                            fill=\"none\"\r\n                            stroke=\"currentColor\"\r\n                            stroke-width=\"2.4\"\r\n                            stroke-linecap=\"round\"\r\n                            stroke-linejoin=\"round\"\r\n                            aria-hidden=\"true\"\r\n                        >\r\n                            <polyline points=\"9 18 15 12 9 6\"><\/polyline>\r\n                        <\/svg>\r\n                    <\/button>\r\n\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"cmw-dow\" aria-hidden=\"true\">\r\n                <span>L<\/span>\r\n                <span>M<\/span>\r\n                <span>X<\/span>\r\n                <span>J<\/span>\r\n                <span>V<\/span>\r\n                <span>S<\/span>\r\n                <span>D<\/span>\r\n            <\/div>\r\n\r\n            <div\r\n                class=\"cmw-days\"\r\n                id=\"cmwDays\"\r\n                aria-label=\"Calendario de fechas disponibles\"\r\n            ><\/div>\r\n\r\n            <div class=\"cmw-slots__label\">\r\n                Horarios disponibles\r\n            <\/div>\r\n\r\n            <div\r\n                class=\"cmw-slots\"\r\n                id=\"cmwSlots\"\r\n                aria-live=\"polite\"\r\n            >\r\n                <span class=\"cmw-empty\">\r\n                    Selecciona una fecha.\r\n                <\/span>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"cmw-card cmw-card--form\">\r\n\r\n            <div class=\"cmw-card__title\">\r\n                <span class=\"cmw-card__bar\"><\/span>\r\n                <h2>Datos de contacto<\/h2>\r\n            <\/div>\r\n\r\n            <div class=\"cmw-field\">\r\n                <label for=\"cmwName\">\r\n                    Nombre completo\r\n                <\/label>\r\n\r\n                <input\r\n                    id=\"cmwName\"\r\n                    name=\"nombre\"\r\n                    type=\"text\"\r\n                    placeholder=\"Ej. Camila Rodr\u00edguez\"\r\n                    autocomplete=\"name\"\r\n                    required\r\n                >\r\n            <\/div>\r\n\r\n            <div class=\"cmw-field\">\r\n                <label for=\"cmwCompany\">\r\n                    Empresa\r\n                <\/label>\r\n\r\n                <input\r\n                    id=\"cmwCompany\"\r\n                    name=\"empresa\"\r\n                    type=\"text\"\r\n                    placeholder=\"Nombre de tu marca\"\r\n                    autocomplete=\"organization\"\r\n                    required\r\n                >\r\n            <\/div>\r\n\r\n            <div class=\"cmw-field\">\r\n                <label for=\"cmwEmail\">\r\n                    Correo electr\u00f3nico\r\n                <\/label>\r\n\r\n                <input\r\n                    id=\"cmwEmail\"\r\n                    name=\"email\"\r\n                    type=\"email\"\r\n                    placeholder=\"nombre@empresa.com\"\r\n                    autocomplete=\"email\"\r\n                    required\r\n                >\r\n            <\/div>\r\n\r\n            <div class=\"cmw-field\">\r\n                <label for=\"cmwPhone\">\r\n                    Tel\u00e9fono\r\n                <\/label>\r\n\r\n                <input\r\n                    id=\"cmwPhone\"\r\n                    name=\"telefono\"\r\n                    type=\"tel\"\r\n                    placeholder=\"+57 300 000 0000\"\r\n                    autocomplete=\"tel\"\r\n                    required\r\n                >\r\n            <\/div>\r\n\r\n            <input\r\n                type=\"hidden\"\r\n                name=\"fecha\"\r\n                id=\"cmwFecha\"\r\n                value=\"\"\r\n            >\r\n\r\n            <input\r\n                type=\"hidden\"\r\n                name=\"hora\"\r\n                id=\"cmwHora\"\r\n                value=\"\"\r\n            >\r\n\r\n            <label class=\"cmw-check\">\r\n\r\n                <input\r\n                    type=\"checkbox\"\r\n                    id=\"cmwAccept\"\r\n                    name=\"acepta_privacidad\"\r\n                    value=\"1\"\r\n                    required\r\n                >\r\n\r\n                <span>\r\n                    Acepto la\r\n                    <a\r\n                        href=\"#\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                    >\r\n                        pol\u00edtica de privacidad\r\n                    <\/a>\r\n                    y el\r\n                    <a\r\n                        href=\"#\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                    >\r\n                        tratamiento de mis datos\r\n                    <\/a>.\r\n                <\/span>\r\n\r\n            <\/label>\r\n\r\n            <div\r\n                class=\"cmw-summary\"\r\n                id=\"cmwSummary\"\r\n                aria-live=\"polite\"\r\n            >\r\n                Selecciona una fecha y un horario.\r\n            <\/div>\r\n\r\n            <button\r\n                type=\"submit\"\r\n                class=\"cmw-submit\"\r\n                id=\"cmwSubmit\"\r\n            >\r\n                Confirmar cita\r\n\r\n                <svg\r\n                    viewBox=\"0 0 24 24\"\r\n                    fill=\"none\"\r\n                    stroke=\"currentColor\"\r\n                    stroke-width=\"2.4\"\r\n                    stroke-linecap=\"round\"\r\n                    stroke-linejoin=\"round\"\r\n                    aria-hidden=\"true\"\r\n                >\r\n                    <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line>\r\n                    <polyline points=\"12 5 19 12 12 19\"><\/polyline>\r\n                <\/svg>\r\n            <\/button>\r\n\r\n            <div\r\n                class=\"cmw-note\"\r\n                id=\"cmwNote\"\r\n                aria-live=\"polite\"\r\n            ><\/div>\r\n\r\n        <\/div>\r\n\r\n    <\/form>\r\n\r\n<\/div>\r\n\r\n\r\n<script>\r\n(function () {\r\n\r\n    'use strict';\r\n\r\n    var CFG = {\"days\":[1,2,3,4,5],\"start\":\"09:00\",\"end\":\"18:00\",\"duration\":60,\"interval\":30,\"minNoticeDays\":7,\"today\":\"2026-08-22\",\"minDate\":\"2026-08-29\",\"maxDate\":\"2026-10-21\",\"preview\":0,\"ajaxUrl\":\"https:\\\/\\\/meet.century-media.net\\\/wp-admin\\\/admin-ajax.php\",\"nonce\":\"c0d7c51c21\"};\r\n\r\n    var MONTHS = [\r\n        'Enero',\r\n        'Febrero',\r\n        'Marzo',\r\n        'Abril',\r\n        'Mayo',\r\n        'Junio',\r\n        'Julio',\r\n        'Agosto',\r\n        'Septiembre',\r\n        'Octubre',\r\n        'Noviembre',\r\n        'Diciembre'\r\n    ];\r\n\r\n    var daysEl = document.getElementById('cmwDays');\r\n    var monthEl = document.getElementById('cmwMonth');\r\n    var slotsEl = document.getElementById('cmwSlots');\r\n    var summaryEl = document.getElementById('cmwSummary');\r\n    var fechaInput = document.getElementById('cmwFecha');\r\n    var horaInput = document.getElementById('cmwHora');\r\n    var form = document.getElementById('cmwForm');\r\n    var noteEl = document.getElementById('cmwNote');\r\n    var prevButton = document.getElementById('cmwPrev');\r\n    var nextButton = document.getElementById('cmwNext');\r\n\r\n    \/*\r\n     * Evita errores si el shortcode no termin\u00f3 de renderizar.\r\n     *\/\r\n    if (\r\n        !daysEl ||\r\n        !monthEl ||\r\n        !slotsEl ||\r\n        !summaryEl ||\r\n        !fechaInput ||\r\n        !horaInput ||\r\n        !form ||\r\n        !noteEl ||\r\n        !prevButton ||\r\n        !nextButton\r\n    ) {\r\n        return;\r\n    }\r\n\r\n\r\n    function parseYmd(value) {\r\n\r\n        var parts = String(value).split('-');\r\n\r\n        return new Date(\r\n            parseInt(parts[0], 10),\r\n            parseInt(parts[1], 10) - 1,\r\n            parseInt(parts[2], 10)\r\n        );\r\n    }\r\n\r\n\r\n    function isoWeekDay(date) {\r\n\r\n        var day = date.getDay();\r\n\r\n        return day === 0 ? 7 : day;\r\n    }\r\n\r\n\r\n    function isBusinessDay(date) {\r\n\r\n        return CFG.days.indexOf(\r\n            isoWeekDay(date)\r\n        ) !== -1;\r\n    }\r\n\r\n\r\n    function sameDate(firstDate, secondDate) {\r\n\r\n        return (\r\n            firstDate.getFullYear() === secondDate.getFullYear() &&\r\n            firstDate.getMonth() === secondDate.getMonth() &&\r\n            firstDate.getDate() === secondDate.getDate()\r\n        );\r\n    }\r\n\r\n\r\n    function pad(number) {\r\n\r\n        return number < 10\r\n            ? '0' + number\r\n            : String(number);\r\n    }\r\n\r\n\r\n    function formatDate(date) {\r\n\r\n        return (\r\n            pad(date.getDate()) +\r\n            '\/' +\r\n            pad(date.getMonth() + 1) +\r\n            '\/' +\r\n            date.getFullYear()\r\n        );\r\n    }\r\n\r\n\r\n    function formatDateForAria(date) {\r\n\r\n        return (\r\n            date.getDate() +\r\n            ' de ' +\r\n            MONTHS[date.getMonth()] +\r\n            ' de ' +\r\n            date.getFullYear()\r\n        );\r\n    }\r\n\r\n\r\n    function timeToMinutes(time) {\r\n\r\n        var parts = String(time).split(':');\r\n\r\n        return (\r\n            parseInt(parts[0], 10) * 60 +\r\n            parseInt(parts[1], 10)\r\n        );\r\n    }\r\n\r\n\r\n    function formatTime12(minutes) {\r\n\r\n        var hour = Math.floor(minutes \/ 60);\r\n        var minute = minutes % 60;\r\n        var period = hour < 12 ? 'AM' : 'PM';\r\n        var hour12 = hour % 12;\r\n\r\n        if (hour12 === 0) {\r\n            hour12 = 12;\r\n        }\r\n\r\n        return (\r\n            hour12 +\r\n            ':' +\r\n            pad(minute) +\r\n            ' ' +\r\n            period\r\n        );\r\n    }\r\n\r\n\r\n    var today = parseYmd(CFG.today);\r\n    var minDate = parseYmd(CFG.minDate);\r\n    var maxDate = parseYmd(CFG.maxDate);\r\n\r\n    var view = new Date(\r\n        today.getFullYear(),\r\n        today.getMonth(),\r\n        1\r\n    );\r\n\r\n    var selectedDate = null;\r\n    var selectedTime = null;\r\n\r\n\r\n    function isValidDate(date) {\r\n\r\n        return (\r\n            date >= minDate &&\r\n            date <= maxDate &&\r\n            isBusinessDay(date)\r\n        );\r\n    }\r\n\r\n\r\n    function updateNavigation() {\r\n\r\n        var currentMonth = new Date(\r\n            today.getFullYear(),\r\n            today.getMonth(),\r\n            1\r\n        );\r\n\r\n        var maxMonth = new Date(\r\n            maxDate.getFullYear(),\r\n            maxDate.getMonth(),\r\n            1\r\n        );\r\n\r\n        prevButton.disabled = view <= currentMonth;\r\n        nextButton.disabled = view >= maxMonth;\r\n    }\r\n\r\n\r\n    function renderCalendar() {\r\n\r\n        monthEl.textContent =\r\n            MONTHS[view.getMonth()] +\r\n            ' ' +\r\n            view.getFullYear();\r\n\r\n        daysEl.innerHTML = '';\r\n\r\n        var year = view.getFullYear();\r\n        var month = view.getMonth();\r\n\r\n        var firstDay = new Date(\r\n            year,\r\n            month,\r\n            1\r\n        );\r\n\r\n        var offset = (\r\n            firstDay.getDay() + 6\r\n        ) % 7;\r\n\r\n        var calendarStart = new Date(\r\n            year,\r\n            month,\r\n            1 - offset\r\n        );\r\n\r\n        for (var index = 0; index < 42; index++) {\r\n\r\n            var date = new Date(\r\n                calendarStart.getFullYear(),\r\n                calendarStart.getMonth(),\r\n                calendarStart.getDate() + index\r\n            );\r\n\r\n            var dayButton = document.createElement('button');\r\n\r\n            dayButton.type = 'button';\r\n            dayButton.className = 'cmw-day';\r\n            dayButton.textContent = date.getDate();\r\n\r\n            dayButton.setAttribute(\r\n                'aria-label',\r\n                formatDateForAria(date)\r\n            );\r\n\r\n            if (date.getMonth() !== month) {\r\n                dayButton.classList.add('is-muted');\r\n            }\r\n\r\n\r\n\t\t\tvar disabled = !isValidDate(date);\r\n\r\n\t\t\tif (disabled) {\r\n\t\t\t\tdayButton.disabled = true;\r\n\t\t\t\tdayButton.setAttribute(\r\n\t\t\t\t\t'aria-disabled',\r\n\t\t\t\t\t'true'\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tdayButton.classList.add('is-available');\r\n\t\t\t\tdayButton.setAttribute(\r\n\t\t\t\t\t'aria-disabled',\r\n\t\t\t\t\t'false'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\r\n            if (\r\n                selectedDate &&\r\n                sameDate(date, selectedDate)\r\n            ) {\r\n                dayButton.classList.add('is-selected');\r\n                dayButton.setAttribute(\r\n                    'aria-pressed',\r\n                    'true'\r\n                );\r\n            } else {\r\n                dayButton.setAttribute(\r\n                    'aria-pressed',\r\n                    'false'\r\n                );\r\n            }\r\n\r\n            (function (dateCopy, isDisabled) {\r\n\r\n                dayButton.addEventListener(\r\n                    'click',\r\n                    function () {\r\n\r\n                        if (isDisabled) {\r\n                            return;\r\n                        }\r\n\r\n                        selectedDate = new Date(\r\n                            dateCopy.getFullYear(),\r\n                            dateCopy.getMonth(),\r\n                            dateCopy.getDate()\r\n                        );\r\n\r\n                        selectedTime = null;\r\n\r\n                        if (\r\n                            dateCopy.getMonth() !==\r\n                            view.getMonth()\r\n                        ) {\r\n                            view = new Date(\r\n                                dateCopy.getFullYear(),\r\n                                dateCopy.getMonth(),\r\n                                1\r\n                            );\r\n                        }\r\n\r\n                        renderCalendar();\r\n                        loadSlots();\r\n                        updateSummary();\r\n                    }\r\n                );\r\n\r\n            })(date, disabled);\r\n\r\n            daysEl.appendChild(dayButton);\r\n        }\r\n\r\n        updateNavigation();\r\n    }\r\n\r\n\r\n    function buildSlots() {\r\n\r\n        var slots = [];\r\n\r\n        var startMinutes = timeToMinutes(CFG.start);\r\n        var endMinutes = timeToMinutes(CFG.end);\r\n        var duration = parseInt(CFG.duration, 10);\r\n        var interval = parseInt(CFG.interval, 10);\r\n\r\n        if (\r\n            isNaN(startMinutes) ||\r\n            isNaN(endMinutes) ||\r\n            isNaN(duration) ||\r\n            isNaN(interval) ||\r\n            duration <= 0 ||\r\n            interval <= 0\r\n        ) {\r\n            return slots;\r\n        }\r\n\r\n        for (\r\n            var time = startMinutes;\r\n            time + duration <= endMinutes;\r\n            time += interval\r\n        ) {\r\n            slots.push(time);\r\n        }\r\n\r\n        return slots;\r\n    }\r\n\r\n\r\n   function loadSlots() {\r\n\r\n    slotsEl.innerHTML =\r\n        '<span class=\"cmw-empty\">' +\r\n        'Consultando disponibilidad...' +\r\n        '<\/span>';\r\n\r\n    selectedTime = null;\r\n    horaInput.value = '';\r\n    updateSummary();\r\n\r\n    if (!selectedDate) {\r\n\r\n        slotsEl.innerHTML =\r\n            '<span class=\"cmw-empty\">' +\r\n            'Selecciona una fecha.' +\r\n            '<\/span>';\r\n\r\n        return;\r\n    }\r\n\r\n    if (!isValidDate(selectedDate)) {\r\n\r\n        selectedDate = null;\r\n\r\n        slotsEl.innerHTML =\r\n            '<span class=\"cmw-empty\">' +\r\n            'La fecha seleccionada no est\u00e1 disponible.' +\r\n            '<\/span>';\r\n\r\n        updateSummary();\r\n\r\n        return;\r\n    }\r\n\r\n    var requestData = new URLSearchParams();\r\n\r\n    requestData.append(\r\n        'action',\r\n        'century_booking_slots'\r\n    );\r\n\r\n    requestData.append(\r\n        'nonce',\r\n        CFG.nonce\r\n    );\r\n\r\n    requestData.append(\r\n        'fecha',\r\n        selectedDate.getFullYear() +\r\n        '-' +\r\n        pad(selectedDate.getMonth() + 1) +\r\n        '-' +\r\n        pad(selectedDate.getDate())\r\n    );\r\n\r\n    fetch(\r\n        CFG.ajaxUrl,\r\n        {\r\n            method: 'POST',\r\n            credentials: 'same-origin',\r\n            headers: {\r\n                'Content-Type':\r\n                    'application\/x-www-form-urlencoded; charset=UTF-8'\r\n            },\r\n            body: requestData.toString()\r\n        }\r\n    )\r\n    .then(function (response) {\r\n\r\n        if (!response.ok) {\r\n            throw new Error(\r\n                'Error HTTP ' + response.status\r\n            );\r\n        }\r\n\r\n        return response.json();\r\n    })\r\n    .then(function (response) {\r\n\r\n        slotsEl.innerHTML = '';\r\n\r\n        if (\r\n            !response ||\r\n            !response.ok\r\n        ) {\r\n\r\n            slotsEl.innerHTML =\r\n                '<span class=\"cmw-empty\">' +\r\n                (\r\n                    response && response.message\r\n                        ? response.message\r\n                        : 'No fue posible consultar la disponibilidad.'\r\n                ) +\r\n                '<\/span>';\r\n\r\n            return;\r\n        }\r\n\r\n        var availableSlots =\r\n            Array.isArray(response.slots)\r\n                ? response.slots\r\n                : [];\r\n\r\n        if (!availableSlots.length) {\r\n\r\n            slotsEl.innerHTML =\r\n                '<span class=\"cmw-empty\">' +\r\n                (\r\n                    response.message\r\n                        ? response.message\r\n                        : 'No hay horarios disponibles para esta fecha.'\r\n                ) +\r\n                '<\/span>';\r\n\r\n            return;\r\n        }\r\n\r\n        availableSlots.forEach(function (slot) {\r\n\r\n            var slotButton =\r\n                document.createElement('button');\r\n\r\n            slotButton.type = 'button';\r\n            slotButton.className = 'cmw-slot';\r\n\r\n            slotButton.setAttribute(\r\n                'data-time',\r\n                slot.value\r\n            );\r\n\r\n            slotButton.textContent =\r\n                slot.label;\r\n\r\n            slotButton.setAttribute(\r\n                'aria-pressed',\r\n                'false'\r\n            );\r\n\r\n            slotButton.addEventListener(\r\n                'click',\r\n                function () {\r\n\r\n                    Array.prototype.forEach.call(\r\n                        slotsEl.querySelectorAll(\r\n                            '.cmw-slot'\r\n                        ),\r\n                        function (button) {\r\n\r\n                            button.classList.remove(\r\n                                'is-selected'\r\n                            );\r\n\r\n                            button.setAttribute(\r\n                                'aria-pressed',\r\n                                'false'\r\n                            );\r\n                        }\r\n                    );\r\n\r\n                    slotButton.classList.add(\r\n                        'is-selected'\r\n                    );\r\n\r\n                    slotButton.setAttribute(\r\n                        'aria-pressed',\r\n                        'true'\r\n                    );\r\n\r\n                    selectedTime =\r\n                        slotButton.textContent;\r\n\r\n                    updateSummary();\r\n                }\r\n            );\r\n\r\n            slotsEl.appendChild(\r\n                slotButton\r\n            );\r\n        });\r\n    })\r\n    .catch(function () {\r\n\r\n        slotsEl.innerHTML =\r\n            '<span class=\"cmw-empty\">' +\r\n            'No fue posible consultar Google Calendar. Intenta nuevamente.' +\r\n            '<\/span>';\r\n    });\r\n}\r\n    function updateSummary() {\r\n\r\n        fechaInput.value = selectedDate\r\n            ? formatDate(selectedDate)\r\n            : '';\r\n\r\n        horaInput.value = selectedTime || '';\r\n\r\n        if (selectedDate && selectedTime) {\r\n\r\n            summaryEl.innerHTML =\r\n                '<b>' +\r\n                formatDate(selectedDate) +\r\n                '<\/b>' +\r\n                '<span class=\"cmw-sep\">&middot;<\/span>' +\r\n                '<b>' +\r\n                selectedTime +\r\n                '<\/b>';\r\n\r\n            return;\r\n        }\r\n\r\n        if (selectedDate) {\r\n\r\n            summaryEl.innerHTML =\r\n                '<b>' +\r\n                formatDate(selectedDate) +\r\n                '<\/b>' +\r\n                '<span class=\"cmw-sep\">&middot;<\/span>' +\r\n                'Elige un horario.';\r\n\r\n            return;\r\n        }\r\n\r\n        summaryEl.textContent =\r\n            'Selecciona una fecha y un horario.';\r\n    }\r\n\r\n\r\n    function showNote(type, html) {\r\n\r\n        noteEl.className =\r\n            'cmw-note is-on ' +\r\n            type;\r\n\r\n        noteEl.innerHTML = html;\r\n\r\n        noteEl.scrollIntoView({\r\n            behavior: 'smooth',\r\n            block: 'nearest'\r\n        });\r\n    }\r\n\r\n\r\n    prevButton.addEventListener(\r\n        'click',\r\n        function () {\r\n\r\n            if (prevButton.disabled) {\r\n                return;\r\n            }\r\n\r\n            view = new Date(\r\n                view.getFullYear(),\r\n                view.getMonth() - 1,\r\n                1\r\n            );\r\n\r\n            renderCalendar();\r\n        }\r\n    );\r\n\r\n\r\n    nextButton.addEventListener(\r\n        'click',\r\n        function () {\r\n\r\n            if (nextButton.disabled) {\r\n                return;\r\n            }\r\n\r\n            view = new Date(\r\n                view.getFullYear(),\r\n                view.getMonth() + 1,\r\n                1\r\n            );\r\n\r\n            renderCalendar();\r\n        }\r\n    );\r\n\r\n\r\nform.addEventListener(\r\n    'submit',\r\n    function (event) {\r\n\r\n        event.preventDefault();\r\n\r\n        if (\r\n            !selectedDate ||\r\n            !isValidDate(selectedDate)\r\n        ) {\r\n            showNote(\r\n                'is-err',\r\n                'Selecciona una fecha disponible a partir de siete d\u00edas calendario. Las reuniones se agendan \u00fanicamente de lunes a viernes.'\r\n            );\r\n\r\n            return;\r\n        }\r\n\r\n        if (!selectedTime) {\r\n\r\n            showNote(\r\n                'is-err',\r\n                'Selecciona un horario disponible.'\r\n            );\r\n\r\n            return;\r\n        }\r\n\r\n        if (!form.checkValidity()) {\r\n\r\n            form.reportValidity();\r\n\r\n            return;\r\n        }\r\n\r\n        if (CFG.preview) {\r\n\r\n            showNote(\r\n                'is-err',\r\n                'Google Calendar todav\u00eda no est\u00e1 conectado.'\r\n            );\r\n\r\n            return;\r\n        }\r\n\r\n        var submitButton =\r\n            document.getElementById('cmwSubmit');\r\n\r\n        var originalButtonContent =\r\n            submitButton.innerHTML;\r\n\r\n        submitButton.disabled = true;\r\n        submitButton.textContent = 'Agendando...';\r\n\r\n        showNote(\r\n            'is-ok',\r\n            'Estamos creando la cita en Google Calendar...'\r\n        );\r\n\r\n        var requestData =\r\n            new URLSearchParams();\r\n\r\n        var formData =\r\n            new FormData(form);\r\n\r\n        formData.forEach(\r\n            function (value, key) {\r\n                requestData.append(key, value);\r\n            }\r\n        );\r\n\r\n        requestData.append(\r\n            'action',\r\n            'century_booking_reserve'\r\n        );\r\n\r\n        requestData.append(\r\n            'nonce',\r\n            CFG.nonce\r\n        );\r\n\r\n        fetch(\r\n            CFG.ajaxUrl,\r\n            {\r\n                method: 'POST',\r\n                credentials: 'same-origin',\r\n\r\n                headers: {\r\n                    'Content-Type':\r\n                        'application\/x-www-form-urlencoded; charset=UTF-8'\r\n                },\r\n\r\n                body: requestData.toString()\r\n            }\r\n        )\r\n        .then(function (response) {\r\n\r\n            return response\r\n                .json()\r\n                .then(function (data) {\r\n\r\n                    return {\r\n                        httpOk: response.ok,\r\n                        status: response.status,\r\n                        data: data\r\n                    };\r\n                });\r\n        })\r\n        .then(function (result) {\r\n\r\n            var response = result.data;\r\n\r\n            if (\r\n                !result.httpOk ||\r\n                !response ||\r\n                response.success !== true\r\n            ) {\r\n\r\n                var errorMessage =\r\n                    response &&\r\n                    response.data &&\r\n                    response.data.message\r\n                        ? response.data.message\r\n                        : 'No fue posible agendar la cita. Intenta nuevamente.';\r\n\r\n                throw new Error(errorMessage);\r\n            }\r\n\r\n            var successMessage =\r\n                response.data &&\r\n                response.data.message\r\n                    ? response.data.message\r\n                    : 'La cita fue agendada correctamente.';\r\n\r\n            showNote(\r\n                'is-ok',\r\n                '<b>Cita confirmada.<\/b> ' +\r\n                successMessage\r\n            );\r\n\r\n            form.reset();\r\n\r\n            selectedDate = null;\r\n            selectedTime = null;\r\n\r\n            fechaInput.value = '';\r\n            horaInput.value = '';\r\n\r\n            renderCalendar();\r\n            updateSummary();\r\n\r\n            slotsEl.innerHTML =\r\n                '<span class=\"cmw-empty\">' +\r\n                'Selecciona una nueva fecha.' +\r\n                '<\/span>';\r\n        })\r\n        .catch(function (error) {\r\n\r\n            showNote(\r\n                'is-err',\r\n                error && error.message\r\n                    ? error.message\r\n                    : 'No fue posible agendar la cita. Intenta nuevamente.'\r\n            );\r\n        })\r\n        .finally(function () {\r\n\r\n            submitButton.disabled = false;\r\n            submitButton.innerHTML =\r\n                originalButtonContent;\r\n        });\r\n    }\r\n);\r\n\r\n    renderCalendar();\r\n    updateSummary();\r\n\r\n})();\r\n<\/script><\/div>\n\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>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Agenda tu conexi\u00f3ncon Century\u00a0Media. Reserva una reuni\u00f3n con nuestro equipo de estrategia, medios y creatividad.Datos poderosos y un poder de [&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":"","ast-disable-related-posts":"","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-48","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/meet.century-media.net\/index.php?rest_route=\/wp\/v2\/pages\/48","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meet.century-media.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/meet.century-media.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/meet.century-media.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/meet.century-media.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=48"}],"version-history":[{"count":64,"href":"https:\/\/meet.century-media.net\/index.php?rest_route=\/wp\/v2\/pages\/48\/revisions"}],"predecessor-version":[{"id":137,"href":"https:\/\/meet.century-media.net\/index.php?rest_route=\/wp\/v2\/pages\/48\/revisions\/137"}],"wp:attachment":[{"href":"https:\/\/meet.century-media.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=48"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}