/* ═══════════════════════════════════════════════════════════
   cejilla.js  —  acordeón + solución + tutor   (CDI 2026)
   Incluir desde config.cfg con \Configure{@/BODY}{...}
   o en WebPreambulo.tex con \HCode{<script src="js/cejilla.js">}
   ═══════════════════════════════════════════════════════════ */

/* ── 1. CEJILLA — acordeón ───────────────────────────────── */
(function () {
  function initCejillas() {
    document.querySelectorAll('.cejilla-toggle').forEach(function (btn) {
      if (btn._cejillaInit) return;
      btn._cejillaInit = true;

      /* estado inicial: cerrado */
      var contentId = btn.getAttribute('aria-controls');
      var content   = document.getElementById(contentId);
      if (!content) return;

      /* asegurar estado inicial limpio */
      btn.setAttribute('aria-expanded', 'false');
      content.removeAttribute('hidden');  /* removemos hidden para poder animar */
      content.classList.remove('open');

      btn.addEventListener('click', function () {
        var isOpen = btn.getAttribute('aria-expanded') === 'true';

        if (isOpen) {
          /* CERRAR */
          btn.setAttribute('aria-expanded', 'false');
          content.classList.remove('open');
        } else {
          /* ABRIR */
          btn.setAttribute('aria-expanded', 'true');
          content.classList.add('open');
        }
      });
    });
  }

  /* Inicializar inmediatamente y también al cargar si hay contenido dinámico */
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initCejillas);
  } else {
    initCejillas();
  }
})();


/* ── 2. HEJERSOL — botón solución ───────────────────────── */
function toggleSolucion(btn) {
  var container = btn.parentElement;
  var sol       = container.querySelector('.solucion');
  if (!sol) return;

  var isOpen = sol.classList.contains('sol-visible');

  if (isOpen) {
    sol.classList.remove('sol-visible');
    btn.classList.remove('sol-abierta');
    btn.lastChild.textContent = ' Solución';  /* restaurar texto si se modificó */
  } else {
    sol.classList.add('sol-visible');
    btn.classList.add('sol-abierta');
  }
}
