<?php 
    //QUERY PARA REGISTRAR LAS VOTACIONES DE MESAS MULTIPLES
    $sql_candidatos = "SELECT * FROM candidatos ORDER BY id_candidato DESC";
    $querycandidatos = mysqli_query($con, $sql_candidatos);

    //QUERY PARA VALIDAR SI LAS MESAS SE REPITEN PARA EL CANDIDATO SELECCIONADO, AL MOMENTO DE REGISTRAR NO SE PERMITE.
    $sql_mesacandidato = "SELECT * FROM apoderados WHERE estado = 'Activo' ORDER BY n_mesa ASC";
    $querymesacandidato = mysqli_query($con, $sql_mesacandidato);

    //NUMEROS DE MESAS
    $sql_n_mesa = "SELECT * FROM niveles WHERE estado = 'Activo' ORDER BY id_nivel ASC";
    $queryn_mesa = mysqli_query($con, $sql_n_mesa);
    //QUERY PARA LOS USUARIOS CORREO DATALIST.
    /*$sql_usuarios_correo = "SELECT * FROM usuario WHERE id_sucursal = '$id_sucursal_usuario' AND estado <> 'Eliminado'";
    $queryusuarios_correo = mysqli_query($con, $sql_usuarios_correo);

    //LISTADO DE SUCURSALES
    $sql_sucursal = "SELECT * FROM sucursal";
    $querysucursal = mysqli_query($con, $sql_sucursal);*/
?>

                                            <datalist name="list_ruts" id="list_ruts" class="col-12 list_ruts" hidden>
                                            <?php while ($row_apoderado = mysqli_fetch_assoc($querycandidatos)) {
                                            ?><option value="<?php echo $row_apoderado['cargo']." | ".$row_apoderado['nombres']." ".$row_apoderado['apellidos'];?>"></option>
                                            <?php }mysqli_free_result($querycandidatos); ?>
                                            </datalist>

                                            <!-- Datalist NUMEROS DE MESAS-->
                                            <datalist name="list_locales" id="list_locales" class="col-12 list_locales" hidden>
                                            <?php while ($row_mesa = mysqli_fetch_assoc($queryn_mesa)) {
                                            ?><option value="<?php echo $row_mesa['monto_matricula'];?>"></option>
                                            <?php }mysqli_free_result($queryn_mesa); ?>
                                            </datalist>

                                            <datalist name="list_repetido" id="list_repetido" class="list_repetido" hidden>
                                            <?php while ($row_repetido = mysqli_fetch_assoc($querymesacandidato)) {
                                            ?><option value="<?php echo $row_repetido['n_mesa']." | ".$row_repetido['local']." | ".$row_repetido['cargo']." | ".$row_repetido['candidato'];?>"></option>
                                            <?php }mysqli_free_result($querymesacandidato); ?>
                                            </datalist>
<!-- SUB FORMULARIO PARA REGISTRAR CLIENTE DENTRO DEL FORMULARIO RECEPCION  -->
<datalist name="list_mesas" id="list_mesas" class="col-12 bg-white list_mesas">
        <?php for ($i = 1; $i <= 1000; $i++): ?>
            <option value="<?php echo $i; ?>"></option>
        <?php endfor; ?>
    </datalist>
<div class="modal fade" id="registroUsuario" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered modal-lg" role="document"> <!-- Agregamos modal-lg para hacerlo más grande -->
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Registrar Votos</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body ">
        <!-- Formulario -->
        <form class="user" id="registroForm">
          <!-- Cliente (datos relevantes) -->
            <div class="form-group row div-container">   

                                                <div class="col-sm-2 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" list="list_mesas" id="n_mesa" name="n_mesa" placeholder=" ">
                                                    <label for="n_mesa" class="col-sm-12">N° Mesa</label>
                                                </div>
                                                <div class="col-sm-4 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" list="list_locales" id="local_votacion" name="local_votacion" placeholder=" ">
                                                    <label for="local_votacion" class="col-sm-12">Local de Votación</label>
                                                </div>
                                                <div class="col-sm-4 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" list="list_ruts" id="cargo_candidato" name="cargo_candidato" placeholder=" ">
                                                    <label for="cargo_candidato" class="col-sm-12">Cargo | Candidato</label>
                                                </div>
                                                <div class="col-sm-2 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" id="n_votos" name="n_votos" placeholder="" maxlength="12">
                                                    <label for="n_votos" class="col-sm-12">Votos</label>
                                                </div>
            </div>      <br>      
          <!-- Botones para guardar y cerrar el formulario 
            QUITÉ EL ONCLICK, PARA FUNCIONAMIENTO, AGREGAR ONCLICK FUNCTION.-->
          <div class="form-group d-flex justify-content-center align-items-center"><br>
            <button type="button" class="btn btn-primary form-control" id="guardarBtn" style="margin: 5px;" onclick="guardarApoderado()">Registrar Votos</button>
            <button type="button" class="btn btn-secondary form-control" style="margin: 5px;" data-bs-dismiss="modal">Cerrar</button>
          </div>
        </form>
      </div>
    </div>
  </div>
</div>
<script>
function guardarApoderado() {
    document.getElementById("guardarBtn").disabled = true;
  //var nombre_tecnico = document.getElementById("nombre").value;
  var n_mesa = $('#n_mesa').val();
  var local_votacion = $('#local_votacion').val();
  var cargo_candidato = $('#cargo_candidato').val();
  var n_votos = $('#n_votos').val();
  var list_locales = document.getElementById("list_locales").options;
  var list_repetido = document.getElementById("list_repetido").options; //nmesa|local|cargo|candidato
  var list_mesas = document.getElementById("list_mesas").options;
  var mesa_seleccionado = 0;
  var local_seleccionado = 0;
  var mesa_candidato = "";
  //var n_mesa_split = n_mesa.split(" | ");
  for (var i = 0; i < list_mesas.length; i++) {    
        if (list_mesas[i].value == n_mesa) {
            mesa_seleccionado++;
            //mesa_candidato = parseInt(n_mesa_split[0]) + " | " + n_mesa_split[1] + " | " + cargo_candidato;
        }         
  }
  if (n_mesa === "" || mesa_seleccionado != 1) {
      Swal.fire({
          title: "Error",
          text: "Por favor seleccione N° de mesa del Listado.",
          icon: "warning",
          confirmButtonColor: "#2a3042",
          confirmButtonText: "Aceptar"                  
      });
      document.getElementById("guardarBtn").disabled = false;
      return false; //para cortar o simmplemente detener el recorrido del script.                
  }
  for (var i = 0; i < list_locales.length; i++) {    
        if (list_locales[i].value == local_votacion) {
            local_seleccionado++;
            //mesa_candidato = parseInt(n_mesa_split[0]) + " | " + n_mesa_split[1] + " | " + cargo_candidato;
        }         
  }
  if (local_votacion === "" || local_seleccionado != 1) {
      Swal.fire({
          title: "Error",
          text: "Por favor seleccione un Local del Listado.",
          icon: "warning",
          confirmButtonColor: "#2a3042",
          confirmButtonText: "Aceptar"                  
      });
      document.getElementById("guardarBtn").disabled = false;
      return false; //para cortar o simmplemente detener el recorrido del script.                
  }

  //VALIDACION SI LA MESA Y CARGO Y CANDIDATO YA EXISTE REGISTRADO EN LA BASE DE DATOS.
  var n_mesa_candidato = n_mesa + " | " + local_votacion + " | " + cargo_candidato;
  var registroExistente = false; // Variable para verificar si hay un registro repetido
  for (var i = 0; i < list_repetido.length; i++) {    
      if (list_repetido[i].value == n_mesa_candidato) {
          registroExistente = true; // Se encontró un registro repetido
          break; // Salimos del bucle, ya no es necesario seguir buscando
      }
  }
  if (registroExistente) {
      Swal.fire({
          title: "Error",
          html: "Ya existe un registro para:<br>" +
                "Mesa: <strong>" + n_mesa + "</strong><br>" +
                "Local: <strong>" + local_votacion + "</strong><br>" +
                "Candidato: <strong>" + cargo_candidato + "</strong><br>" +
                "<span style='color: red;'>No puede repetirse.</span>",
          icon: "warning",
          confirmButtonColor: "#2a3042",
          confirmButtonText: "Aceptar"                  
      });
      document.getElementById("guardarBtn").disabled = false;
      return false; // Detiene el recorrido del script
  }
  ///////////////////////////////////                  
  var datalist_ruts = document.getElementById("list_ruts").options; //RUTS DE TODOS LOS USUARIOS REGISTRADOS.
  var candidato_seleccionado = 0;
  for (var i = 0; i < datalist_ruts.length; i++) {    
        //arraycodsprods = datalist_ruts[i].value;
        if (datalist_ruts[i].value == cargo_candidato) {
            candidato_seleccionado++;
        }
         
  }
  if (candidato_seleccionado != 1 || cargo_candidato == "") { 
            Swal.fire({
                  title: "Error",
                  text: "Por favor seleccione Cargo y candidato del listado.",
                  icon: "warning",
                  confirmButtonColor: "#2a3042",
                  confirmButtonText: "Aceptar"                  
                });
            document.getElementById("guardarBtn").disabled = false;
            return false; // RUT repetido ya existente
            
  } 
  if (n_votos === "" || n_votos == 0) {
      Swal.fire({
          title: "Error",
          text: "Por favor ingrese una cantidad de votos para el candidato.",
          icon: "warning",
          confirmButtonColor: "#2a3042",
          confirmButtonText: "Aceptar"                  
      });
      document.getElementById("guardarBtn").disabled = false;
      return false; //para cortar o simmplemente detener el recorrido del script.                
  }
  
  $.ajax({
    type: 'POST',
    url: 'registro_votaciones.php', // Nombre del archivo PHP para procesar el formulario
    data: {
      n_mesa: n_mesa,
      local_votacion: local_votacion,
      cargo_candidato: cargo_candidato,
      n_votos: n_votos
    },
    success: function(response) {
      // Procesar la respuesta del servidor, por ejemplo, mostrar un mensaje de éxito o error.
      //alert(response);
      var responseData = response.split("success");
      // Obtener el ID del usuario
      //var id_usuario = responseData[0];

      if (responseData.length > 1) {
        // Si la respuesta es "success", el registro fue exitoso
        Swal.fire({
            title: "Registro exitoso",
            text: "Los votos fueron fueron registrados correctamente",
            icon: "success",
            confirmButtonColor: "#2a3042",
            confirmButtonText: "Aceptar"
        }).then((result) => {
            if (result.isConfirmed) {
                $('#registroUsuario').modal('hide');
                $('#n_mesa').val('');
                $('#local_votacion').val('');
                $('#cargo_candidato').val('');
                $('#n_votos').val('');
                document.getElementById("guardarBtn").disabled = false;
                location.reload();
            }
        });
      } else {
        // Si la respuesta no es "success", el registro falló
        Swal.fire({
            title: "Error",
            text: response,
            icon: "error",
            confirmButtonColor: "#2a3042",
            confirmButtonText: "Aceptar"
        });
        location.reload();
      }
      // Cerrar el modal después de guardar la marca.
      //$('#registroCliente').modal('close');
    }
  });
}
</script>