/**
 * Función para mostrar la modal de editar el resumen
 */
async function editarResumen(idResumen) {
  try {
    // Ocultar la modal si está abierta
    const existingModal = document.getElementById("editarResumenModal");
    if (existingModal) {
      const modal = bootstrap.Modal.getInstance(existingModal);
      if (modal) {
        modal.hide();
      }
      existingModal.remove(); // Eliminar la modal existente
    }

    const response = await fetch("modales/modalEditar.php");
    if (!response.ok) {
      throw new Error("Error al cargar la modal de editar el resumen");
    }
    const modalHTML = await response.text();

    // Crear un elemento div para almacenar el contenido de la modal
    const modalContainer = document.createElement("div");
    modalContainer.innerHTML = modalHTML;

    // Agregar la modal al documento actual
    document.body.appendChild(modalContainer);

    // Mostrar la modal
    const myModal = new bootstrap.Modal(
      modalContainer.querySelector("#editarResumenModal")
    );
    myModal.show();

    await cargarDatosResumenEditar(idResumen);
  } catch (error) {
    console.error("Error en editarResumen:", error);
  }
}

/**
 * Función para cargar la información del resumen seleccionado en la modal de edición.
 */
async function cargarDatosResumenEditar(idResumen) {
  try {
    // Cargar detalles del resumen a editar
    const response = await axios.get(`acciones/detallesResumen.php?id=${idResumen}`);
    if (response.status === 200) {
      const { id, codigo, titulo, activo, evaluador1, evaluador2, evaluador3 } = response.data;

      // Set form values
      document.querySelector("#idresumen").value = id;
      document.querySelector("#codigo").value = codigo;
      document.querySelector("#titulo").value = titulo;
      document.querySelector("#activo").value = activo;

      // Cargar lista de evaluadores para los selects
      const evaluadoresResponse = await axios.get("acciones/listarEvaluadores.php");
      if (evaluadoresResponse.status === 200) {
        const evaluadores = evaluadoresResponse.data;

        // Llenar los selectores con las opciones de evaluadores
        const evaluador1Select = document.querySelector("#evaluador1");
        const evaluador2Select = document.querySelector("#evaluador2");
        const evaluador3Select = document.querySelector("#evaluador3");

        evaluadores.forEach(evaluador => {
          const option = new Option(evaluador.nombre, evaluador.id);
          
          evaluador1Select.add(option.cloneNode(true));
          evaluador2Select.add(option.cloneNode(true));
          evaluador3Select.add(option.cloneNode(true));
        });

        // Seleccionar los valores actuales del resumen
        evaluador1Select.value = evaluador1;
        evaluador2Select.value = evaluador2;
        evaluador3Select.value = evaluador3;
      }
    } else {
      console.error("Error al cargar el resumen a editar");
    }
  } catch (error) {
    console.error("Error al cargar los detalles del resumen:", error);
  }
}

/**
 * Función para actualizar el resumen
 */
/**
 * Función para actualizar el resumen
 */
async function actualizarResumen(event) {
  try {
    event.preventDefault();

    const formulario = document.querySelector("#formularioResumenEdit");
    const formData = new FormData(formulario);

    // Enviar los datos del formulario, incluyendo evaluador1, evaluador2 y evaluador3
    const response = await axios.post("acciones/updateResumen.php", formData);

    if (response.status === 200) {
      console.log("Resumen actualizado exitosamente");
      toastr.success("¡El resumen se actualizó correctamente!");

      // Cerrar la modal después de mostrar el mensaje
      setTimeout(() => {
        const modal = bootstrap.Modal.getInstance(document.getElementById("editarResumenModal"));
        if (modal) modal.hide();
      }, 600);
    } else {
      console.error("Error al actualizar el resumen");
    }
  } catch (error) {
    console.error("Error al enviar el formulario:", error);
  }
}
