{"id":31,"date":"2025-02-06T18:51:07","date_gmt":"2025-02-06T21:51:07","guid":{"rendered":"http:\/\/torneo.com.ar\/?page_id=26"},"modified":"2026-03-05T20:36:10","modified_gmt":"2026-03-05T23:36:10","slug":"clubes","status":"publish","type":"page","link":"https:\/\/torneo.com.ar\/estrellas\/clubes\/","title":{"rendered":"Clubes"},"content":{"rendered":"\n    <div id=\"torneoEquiposGrid\" class=\"row g-1\">\n        <div class=\"col-12 text-center py-3\" id=\"loadingGrid\">\n            Cargando clubes...\n        <\/div>\n    <\/div>\n\n    <div class=\"modal fade\" id=\"clubModal\" tabindex=\"-1\" aria-hidden=\"true\">\n        <div class=\"modal-dialog modal-md modal-dialog-scrollable\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header align-items-center\">\n                    <img decoding=\"async\" id=\"clubModalLogo\" src=\"\" alt=\"\" style=\"max-height:50px; margin-right:10px;\">\n                    <h5 class=\"modal-title lh-1 fw-bold\" id=\"clubModalLabel\"><\/h5>\n                    <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"><\/button>\n                <\/div>\n                <div class=\"modal-body p-1\" id=\"clubModalBody\"><\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        const themeColor = document.querySelector('meta[name=\"theme-color\"]')?.getAttribute(\"content\") || '#000';\n        document.documentElement.style.setProperty('--color-principal', themeColor);\n    });\n\n    jQuery(document).ready(function($){\n        const grid = $('#torneoEquiposGrid');\n\n        $.getJSON('https:\/\/torneo.com.ar\/api\/torneo_clubes.php?key=123456789987654321&id_torneo=9', function(data){\n            $('#loadingGrid').remove();\n\n            $.each(data.clubs, function(clubName, club){\n                \/\/ FILTRO: No mostrar si es Interzonal\n                if (club.nombre.toLowerCase() === 'interzonal') return true; \n\n                const logoUrl = club.logo ? 'https:\/\/torneo.com.ar\/admin\/escudo\/' + club.logo : '';\n                const col = $(`\n                    <div class=\"col-3 col-lg-1 text-center\">\n                        <div class=\"card h-100 p-1\" data-id-equipo=\"${club.id_equipo}\">\n                            <img data-src=\"${logoUrl}\" class=\"card-img-top img-fluid lazyload\" alt=\"${club.nombre}\" style=\"cursor:pointer; max-height:100px; object-fit:contain;\">\n                            <div class=\"card-body p-1 lh-sm\">\n                                <p class=\"small mb-0 text-muted\" style=\"font-size:.6em\">${club.nombre}<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                `);\n                grid.append(col);\n            });\n\n            \/\/ Lazy load... (mismo c\u00f3digo)\n            if('IntersectionObserver' in window){\n                const lazyImages = document.querySelectorAll('.lazyload');\n                const observer = new IntersectionObserver(function(entries){\n                    entries.forEach(entry => {\n                        if(entry.isIntersecting){\n                            const img = entry.target;\n                            img.src = img.dataset.src;\n                            img.classList.remove('lazyload');\n                            observer.unobserve(img);\n                        }\n                    });\n                });\n                lazyImages.forEach(img => observer.observe(img));\n            }\n\n            grid.on('click', '.card', function(){\n                const id_equipo = $(this).data('id-equipo');\n\n                $('#clubModalLabel').text('Cargando...');\n                $('#clubModalLogo').hide();\n                $('#clubModalBody').html('<p>Cargando detalles...<\/p>');\n\n                $.getJSON('https:\/\/torneo.com.ar\/api\/torneo_equipo_detalle.php?key=123456789987654321&id_torneo=9&id_equipo=' + id_equipo, function(det){\n                    const club = det.club;\n                    const logoUrl = club.logo ? 'https:\/\/torneo.com.ar\/admin\/escudo\/' + club.logo : '';\n\n                    $('#clubModalLabel').text(club.nombrecompleto);\n                    $('#clubModalLogo').attr('src', logoUrl).show();\n\n                    let html = ''; \/\/ Inicializamos el string vac\u00edo\n\t\t\t\t\t\/\/ Solo mostrar Ciudad si existe y no est\u00e1 vac\u00eda\n\t\t\t\t\tif (club.ciudad && club.ciudad.trim() !== \"\") {\n\t\t\t\t\t\thtml += `<p class=\"px-3 mb-2\"><strong>Ciudad:<\/strong> ${club.ciudad}`;\n\t\t\t\t\t\tif (club.pais && club.pais !== 'Argentina') {\n\t\t\t\t\t\t\thtml += ` <span class=\"badge bg-primary\">${club.pais}<\/span>`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thtml += `<\/p>`;\n\t\t\t\t\t}\n\t\t\t\t\t\n                    html += '<div class=\"accordion\" id=\"categoriaAccordion\">';\n                    \n                    let catIndex = 0;\n                    $.each(det.categorias, function(catName, cat){\n                        const catId = 'cat_' + catIndex;\n                        html += `\n                        <div class=\"accordion-item\">\n                            <h2 class=\"accordion-header\" id=\"heading${catId}\">\n                                <button class=\"accordion-button ${catIndex > 0 ? \"collapsed\" : \"\"}\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapse${catId}\">\n                                    ${catName}\n                                <\/button>\n                            <\/h2>\n                            <div id=\"collapse${catId}\" class=\"accordion-collapse collapse ${catIndex === 0 ? \"show\" : \"\"}\" data-bs-parent=\"#categoriaAccordion\">\n                                <div class=\"accordion-body\">`;\n\n                        $.each(cat.equipos, function(i, eq){\n                            html += `<div class=\"mb-2\">`;\n                            if(eq.partidos.length){\n                                const partidosPorDia = {};\n                                $.each(eq.partidos, function(j, p){\n                                    const date = new Date(p.fechahora);\n                                    const diaMes = date.toLocaleDateString('es-AR', { weekday: 'long', day: '2-digit' });\n                                    if(!partidosPorDia[diaMes]) partidosPorDia[diaMes] = [];\n                                    partidosPorDia[diaMes].push(p);\n                                });\n\n                                $.each(partidosPorDia, function(dia, partidos){\n                                    html += `<p class=\"fw-bold mb-0 small text-capitalize\" style=\"color: var(--color-principal)\">${dia}<\/p>`;\n                                    html += '<ul class=\"list-unstyled mb-0 lh-sm\">';\n                                    $.each(partidos, function(j, p){\n                                        const rival = (p.local === club.nombre) ? p.visit : p.local;\n                                        \n                                        \/\/ FILTRO: No mostrar el partido si el rival es Interzonal\n                                        if (rival.toLowerCase() === 'interzonal') return true;\n\n                                        const date = new Date(p.fechahora);\n                                        const hora = String(date.getHours()).padStart(2,'0');\n                                        const min = String(date.getMinutes()).padStart(2,'0');\n                                        const liStyle = (hora === '00' && min === '00') ? 'text-decoration: line-through; color: gray;' : '';\n\n                                        html += `<li class=\"d-flex justify-content-between align-items-center mb-1\" style=\"${liStyle}\">\n                                                    <div><span class=\"text-muted\">vs.<\/span> ${rival}<\/div>\n                                                    <span class=\"text-muted\">${hora}:${min} hs<\/span>\n                                                <\/li>`;\n                                    });\n                                    html += '<\/ul>';\n                                });\n                            } else {\n                                html += '<p>No tiene partidos asignados<\/p>';\n                            }\n                            html += '<\/div>';\n                        });\n                        html += `<\/div><\/div><\/div>`;\n                        catIndex++;\n                    });\n\n                    html += '<\/div>';\n                    $('#clubModalBody').html(html);\n                    new bootstrap.Modal(document.getElementById('clubModal')).show();\n                });\n            });\n        });\n    });\n    <\/script>\n\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-31","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/pages\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":2,"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":253,"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/pages\/31\/revisions\/253"}],"wp:attachment":[{"href":"https:\/\/torneo.com.ar\/estrellas\/wp-json\/wp\/v2\/media?parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}