const DIAS = ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'];

async function cargarHorarios() {
  const res = await apiFetch(`${API}/horarios.php`);
  if (!res) return;
  const horarios = await res.json();
  renderHorarios(horarios);
}

function renderHorarios(horarios) {
  const container = document.getElementById('horariosForm');
  container.innerHTML = horarios.map(h => `
    <div class="horario-row" data-dia="${h.dia_semana}">
      <span class="dia-label">${DIAS[h.dia_semana]}</span>
      <input type="time" class="h-apertura" value="${(h.hora_apertura || '09:00').slice(0,5)}"
             ${h.cerrado ? 'disabled' : ''}>
      <input type="time" class="h-cierre" value="${(h.hora_cierre || '18:00').slice(0,5)}"
             ${h.cerrado ? 'disabled' : ''}>
      <label class="cerrado-wrap">
        <input type="checkbox" class="h-cerrado" ${h.cerrado ? 'checked' : ''}>
        Cerrado
      </label>
    </div>
  `).join('');

  // Toggle disabled en apertura/cierre cuando se marca cerrado
  container.querySelectorAll('.h-cerrado').forEach(chk => {
    chk.addEventListener('change', () => {
      const row = chk.closest('.horario-row');
      row.querySelector('.h-apertura').disabled = chk.checked;
      row.querySelector('.h-cierre').disabled   = chk.checked;
    });
  });
}

async function guardarHorarios() {
  const rows = document.querySelectorAll('#horariosForm .horario-row');
  const data = Array.from(rows).map(row => {
    const cerrado  = row.querySelector('.h-cerrado').checked;
    return {
      dia_semana:    parseInt(row.dataset.dia),
      hora_apertura: cerrado ? null : row.querySelector('.h-apertura').value,
      hora_cierre:   cerrado ? null : row.querySelector('.h-cierre').value,
      cerrado:       cerrado ? 1 : 0,
    };
  });

  const res = await apiFetch(`${API}/horarios.php`, {
    method:  'PUT',
    headers: { 'Content-Type': 'application/json' },
    body:    JSON.stringify(data),
  });
  if (!res) return;

  const json = await res.json();
  if (res.ok) {
    showMsg('horariosMsg', 'Horarios guardados correctamente.', 'success');
  } else {
    showMsg('horariosMsg', json.error || 'Error al guardar horarios');
  }
}
