{"id":723,"date":"2026-10-24T04:14:43","date_gmt":"2026-10-24T04:14:43","guid":{"rendered":"https:\/\/mastaekwondo.pe\/?page_id=723"},"modified":"2026-10-25T21:56:18","modified_gmt":"2026-10-25T21:56:18","slug":"horarios","status":"publish","type":"page","link":"https:\/\/mastaekwondo.pe\/?page_id=723","title":{"rendered":"HORARIOS"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"723\" class=\"elementor elementor-723\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c9b1b9e e-flex e-con-boxed e-con e-parent\" data-id=\"c9b1b9e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f78241c elementor-widget elementor-widget-shortcode\" data-id=\"f78241c\" 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=\"mas-aforo-container\" data-is-dashboard=\"0\">\n            <div class=\"mas-aforo-info\">\n                <div id=\"mas_img_wrapper\" style=\"min-height:120px; display:flex; align-items:center; justify-content:center;\">\n                    <img decoding=\"async\" id=\"mas-img-display\" class=\"mas-mascota-frame\" src=\"\" alt=\"Mascota Taekwondo\" style=\"display:none;\">\n                <\/div>\n                <table class=\"mas-select-table\">\n                    <tr>\n                        <td style=\"text-align:left; font-weight:700;\">SEDE:<\/td>\n                        <td class=\"mas-val-cell\"><select id=\"mas_select_sede\">\n                            <option value=\"722\" >MAS - Aviaci\u00f3n<\/option>                                                    <\/select><\/td>\n                    <\/tr>\n                    <tr>\n                        <td style=\"text-align:left; font-weight:700;\">CLASE:<\/td>\n                        <td class=\"mas-val-cell\"><select id=\"mas_select_clase\">\n                            <option value=\"738\" >Armas<\/option><option value=\"737\" >Avanzados, Juveniles y Mayores<\/option><option value=\"736\" >Juveniles y Mayores<\/option><option value=\"735\" >Cadetes<\/option><option value=\"734\" >Infantil<\/option><option value=\"733\" >Pre- Infantil<\/option>                                                    <\/select><\/td>\n                    <\/tr>\n                    <tr><td style=\"text-align:left; font-weight:700;\">D\u00cdAS:<\/td><td class=\"mas-val-cell\"><select id=\"mas_select_dias\"><option value=\"0\">Cargando d\u00edas...<\/option><\/select><\/td><\/tr>\n                    <tr><td style=\"text-align:left; font-weight:700;\">HORARIOS:<\/td><td id=\"mas_val_horario\" class=\"mas-val-cell\">-<\/td><\/tr>\n                    <tr><td style=\"text-align:left; font-weight:700;\">EDADES:<\/td><td id=\"mas_val_edades\" class=\"mas-val-cell\">-<\/td><\/tr>\n                                            <tr id=\"mas_row_precio\"><td style=\"text-align:left; font-weight:700;\">PRECIO:<\/td><td id=\"mas_val_precio\" class=\"mas-val-cell\">-<\/td><\/tr>\n                                        <tr><td style=\"text-align:left; font-weight:700;\">CUPO M\u00c1XIMO:<\/td><td id=\"mas_val_cupo_max\" class=\"mas-val-cell\">-<\/td><\/tr>\n                    <tr><td style=\"text-align:left; font-weight:700;\">DISPONIBLES:<\/td><td id=\"mas_val_disponibles\" class=\"mas-val-cell\">-<\/td><\/tr>\n                <\/table>\n            <\/div>\n\n            <div class=\"mas-right-column\">\n                <div class=\"mas-aforo-grid-wrapper\">\n                    <div class=\"mas-circle sabomnim\" title=\"Sabonim \/ Profesor\" data-tooltip=\"Sabonim \/ Profesor\"><\/div>\n                    <div id=\"mas_grid_dojang\" class=\"mas-grid-mat\"><\/div>\n                <\/div>\n                                    <div class=\"mas-buttons-wrapper\">\n                        <a href=\"https:\/\/mastaekwondo.pe\/?page_id=656\" id=\"mas_btn_prueba_link\" class=\"mas-btn-prueba\">TOMAR CLASE DE PRUEBA<\/a>\n                        <a href=\"https:\/\/mastaekwondo.pe\/?page_id=773\" id=\"mas_btn_inscribirme_link\" class=\"mas-btn-inscripcion\">INSCRIBIRME<\/a>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            var container = document.querySelector('.mas-aforo-container');\n            var isDashboard = container ? container.getAttribute('data-is-dashboard') === '1' : false;\n            var selectSede = document.getElementById('mas_select_sede');\n            var selectClase = document.getElementById('mas_select_clase');\n            var selectDias = document.getElementById('mas_select_dias');\n            var imgDisplay = document.getElementById('mas-img-display');\n            var currentGroups = [];\n\n            var params = new URLSearchParams(window.location.search);\n            var paramClase = params.get('clase_id'), paramSede = params.get('sede_id'), paramDias = params.get('dias_idx');\n\n            function preselect(sel, val) {\n                if (!sel || !val) return;\n                for (var i = 0; i < sel.options.length; i++) { if (sel.options[i].value == val) { sel.selectedIndex = i; break; } }\n            }\n            if (!isDashboard) { preselect(selectSede, paramSede); preselect(selectClase, paramClase); }\n\n            function updateDynamicLinks() {\n                if (isDashboard) return;\n                var q = '&clase_id=' + (selectClase ? selectClase.value : '0') + '&sede_id=' + (selectSede ? selectSede.value : '0') + '&dias_idx=' + (selectDias ? selectDias.value : '0');\n                var p = document.getElementById('mas_btn_prueba_link'), i = document.getElementById('mas_btn_inscribirme_link');\n                if (p) p.href = 'https:\/\/mastaekwondo.pe\/?page_id=656' + q;\n                if (i) i.href = 'https:\/\/mastaekwondo.pe\/?page_id=773' + q;\n            }\n\n            function setText(id, txt) { var el = document.getElementById(id); if (el) el.textContent = txt; }\n\n            function updateSelectedGroupDetails(group) {\n                if (!group) {\n                    ['mas_val_edades', 'mas_val_precio', 'mas_val_cupo_max', 'mas_val_disponibles', 'mas_val_horario'].forEach(function (id) { setText(id, '-'); });\n                    renderGrid(20, []);\n                    return;\n                }\n                setText('mas_val_edades', group.edades);\n                setText('mas_val_precio', group.precio);\n                setText('mas_val_cupo_max', group.cupo);\n                var disp = Math.max(0, group.cupo - (group.alumnos ? group.alumnos.length : 0));\n                setText('mas_val_disponibles', disp < 10 ? '0' + disp : String(disp));\n                setText('mas_val_horario', group.schedule_html);\n                updateDynamicLinks();\n                renderGrid(parseInt(group.cupo, 10), group.alumnos || []);\n            }\n\n            function fetchClassData(isInitial) {\n                var classId = selectClase ? selectClase.value : 0;\n                var sedeId = selectSede ? selectSede.value : 0;\n                if (!classId || classId == '0') { renderGrid(20, []); return; }\n                if (selectDias) selectDias.innerHTML = '<option value=\"0\">Cargando d\u00edas...<\/option>';\n\n                var fd = new FormData();\n                fd.append('action', 'mas_get_class_data');\n                fd.append('class_id', classId);\n                fd.append('sede_id', sedeId);\n                fd.append('dashboard', isDashboard ? '1' : '0');\n\n                fetch(\"https:\\\/\\\/mastaekwondo.pe\\\/wp-admin\\\/admin-ajax.php\", { method: 'POST', body: fd })\n                    .then(function (r) { return r.json(); })\n                    .then(function (res) {\n                        if (!res.success) return;\n                        var data = res.data;\n                        currentGroups = data.groups || [];\n                        if (imgDisplay) {\n                            if (data.image_url) { imgDisplay.src = data.image_url; imgDisplay.style.display = 'block'; }\n                            else { imgDisplay.style.display = 'none'; }\n                        }\n                        if (!selectDias) return;\n                        selectDias.innerHTML = '';\n                        if (currentGroups.length === 0) {\n                            var o = document.createElement('option'); o.value = '0'; o.textContent = 'Sin grupos de d\u00eda';\n                            selectDias.appendChild(o);\n                            updateSelectedGroupDetails(null);\n                            return;\n                        }\n                        currentGroups.forEach(function (g, idx) {\n                            var op = document.createElement('option'); op.value = idx; op.textContent = g.days_title;\n                            selectDias.appendChild(op);\n                        });\n                        var target = 0;\n                        if (isInitial && !isDashboard && paramDias !== null && currentGroups[parseInt(paramDias, 10)]) target = parseInt(paramDias, 10);\n                        selectDias.value = target;\n                        updateSelectedGroupDetails(currentGroups[target]);\n                    });\n            }\n\n            function renderGrid(total, alumnos) {\n                var grid = document.getElementById('mas_grid_dojang');\n                if (!grid) return;\n                grid.innerHTML = '';\n                for (var i = 0; i < total; i++) {\n                    var circle = document.createElement('div');\n                    circle.className = 'mas-circle';\n                    if (alumnos[i]) {\n                        var al = alumnos[i];\n                        circle.title = al.label;\n                        circle.setAttribute('data-tooltip', al.label);\n                        circle.classList.add('mas-occupied');\n                        var c = al.cinturon.toLowerCase();\n                        if (c.indexOf('amarillo punta verde') > -1) { circle.classList.add('mas-belt-amarillo'); circle.innerHTML = '<div class=\"mas-tip mas-tip-verde\"><\/div>'; }\n                        else if (c.indexOf('blanco punta amarillo') > -1) { circle.classList.add('mas-belt-blanco'); circle.innerHTML = '<div class=\"mas-tip mas-tip-amarillo\"><\/div>'; }\n                        else if (c.indexOf('verde punta azul') > -1) { circle.classList.add('mas-belt-verde'); circle.innerHTML = '<div class=\"mas-tip mas-tip-azul\"><\/div>'; }\n                        else if (c.indexOf('azul punta roja') > -1) { circle.classList.add('mas-belt-azul'); circle.innerHTML = '<div class=\"mas-tip mas-tip-roja\"><\/div>'; }\n                        else if (c.indexOf('roja punta negra') > -1) { circle.classList.add('mas-belt-roja'); circle.innerHTML = '<div class=\"mas-tip mas-tip-negra\"><\/div>'; }\n                        else if (c.indexOf('amarillo') > -1) circle.classList.add('mas-belt-amarillo');\n                        else if (c.indexOf('verde') > -1) circle.classList.add('mas-belt-verde');\n                        else if (c.indexOf('azul') > -1) circle.classList.add('mas-belt-azul');\n                        else if (c.indexOf('roja') > -1) circle.classList.add('mas-belt-roja');\n                        else if (c.indexOf('negro') > -1) circle.classList.add('mas-belt-negro');\n                        else circle.classList.add('mas-belt-blanco');\n                    } else {\n                        circle.title = 'Espacio libre';\n                        circle.setAttribute('data-tooltip', 'Espacio libre');\n                    }\n                    grid.appendChild(circle);\n                }\n            }\n\n            if (selectSede && selectClase) {\n                selectSede.addEventListener('change', function () { fetchClassData(false); });\n                selectClase.addEventListener('change', function () { fetchClassData(false); });\n            }\n            if (selectDias) {\n                selectDias.addEventListener('change', function () {\n                    var g = currentGroups[parseInt(this.value, 10)];\n                    if (g) updateSelectedGroupDetails(g);\n                });\n            }\n            fetchClassData(true);\n        });\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f8e9989 e-flex e-con-boxed e-con e-parent\" data-id=\"f8e9989\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd413d8 elementor-widget elementor-widget-spacer\" data-id=\"cd413d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\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":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_joinchat":[],"footnotes":""},"class_list":["post-723","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=\/wp\/v2\/pages\/723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=723"}],"version-history":[{"count":13,"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=\/wp\/v2\/pages\/723\/revisions"}],"predecessor-version":[{"id":843,"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=\/wp\/v2\/pages\/723\/revisions\/843"}],"wp:attachment":[{"href":"https:\/\/mastaekwondo.pe\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}