<?php 
    //QUERY PARA LOS USUARIOS RUT DATALIST.
    $sql_usuarios_rut = "SELECT * FROM usuario WHERE estado <> 'Eliminado'";
    $queryusuarios_rut = mysqli_query($con, $sql_usuarios_rut);
    //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);*/
?>

<script type="text/javascript">
        function ocultar_apellido() {
            const tipo_cliente2 = document.getElementById("tipo_cliente").value;
            const apellido2 = document.getElementById("apellido_paterno").value;
            if (tipo_cliente2 == "Empresa") {
                //document.getElementById("apellido").hidden = true;
                document.getElementById("apellido_paterno").disabled = true;
                document.getElementById("divapellido").hidden = true;
                document.getElementById("apellido_paterno").value = "";
                document.getElementById("contacto_responsable").disabled = false;
                document.getElementById("divcontacto").hidden = false;
            } else if (tipo_cliente2 == "Natural"){
                document.getElementById("apellido_paterno").disabled = false;
                document.getElementById("divapellido").hidden = false;
                document.getElementById("contacto_responsable").disabled = true;
                document.getElementById("divcontacto").hidden = true;
                document.getElementById("contacto_responsable").value = "";
            }
        }
</script>
<datalist name="list_ruts" id="list_ruts" class="col-12 bg-white list_ruts" hidden>
                                            <?php while ($row_usuario = mysqli_fetch_assoc($queryusuarios_rut)) {
                                                        
                                            ?>
                                                <option value="<?php echo $row_usuario['rut'];?>"></option>
                                            <?php }mysqli_free_result($queryusuarios_rut); ?>
                                            </datalist>
                                            <datalist name="list_alumnos" id="list_alumnos" class="col-12 bg-white list_alumnos" hidden>
                                                        <option>Juan Pérez Aguilera | 2do Nivel | 11.111.111-1</option>
                                                        <option>Belén Flores Acuña | 2do Nivel | 11.111.111-1</option>
                                                        <option>Cecilia Vásquez Rodriguez | 2do Nivel | 11.111.111-1</option>
                                                        <option>Guillermo Pérez Pérez | 4to Nivel | 11.111.111-1</option>
                                                        <option>Fabio Nuñez Rojas | 1er Nivel | 11.111.111-1</option>
                                            </datalist>
<!-- SUB FORMULARIO PARA REGISTRAR CLIENTE DENTRO DEL FORMULARIO RECEPCION  -->
<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 Pago de Cuota</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-6 form-floating form-label-inside input-div" >
                                                    <input type="text" class="form-control" list="list_alumnos" id="alumnos" name="alumnos" placeholder=" ">
                                                    <label for="alumnos" class="col-sm-12">Seleccionar Alumno</label>   
                                                </div>
                                                <div class="col-sm-6 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" readonly id="apoderado" name="apoderado" placeholder=" ">
                                                    <label for="apoderado" class="col-sm-12">Apoderado (Automático)</label>
                                                </div>
                                                <div class="col-sm-3 input-div">
                                                    <select class="form-control" id="rol_edit" name="rol" style="height: 58px;">
                                                        <option value="">Mes Pagado</option>
                                                        <option value="Área Técnica">Enero</option>
                                                        <option value="Vendedor">Febrero</option>
                                                        <option value="Sub Gerencia">Marzo</option>
                                                        <option value="Administrador">Abril</option>
                                                        <option value="Administrador">Mayo</option>
                                                        <option value="Administrador">Junio</option>
                                                        <option value="Administrador">Julio</option>
                                                        <option value="Administrador">Agosto</option>
                                                        <option value="Administrador">Septiembre</option>
                                                        <option value="Administrador">Octubre</option>
                                                        <option value="Administrador">Noviembre</option>
                                                        <option value="Administrador">Diciembre</option>
                                                    </select> 
                                                </div> 
                                                <div class="col-sm-3 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" id="abono" name="abono" placeholder=" ">
                                                    <label for="abono" class="col-sm-12">Abonado</label>
                                                </div>
                                                <div class="col-sm-3 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" readonly id="pendiente" name="pendiente" placeholder="" maxlength="12">
                                                    <label for="pendiente" class="col-sm-12">Pendiente (Automático)</label>
                                                </div>
                                                <div class="col-sm-3 form-floating form-label-inside input-div">  
                                                    <input type="date" class="form-control" id="fecha_pago" name="fecha_pago" placeholder="">
                                                    <label for="fecha_pago" class="col-sm-9">Fecha de Pago</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;" >Registrar Cuota</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 guardarUsuario() {
    document.getElementById("guardarBtn").disabled = true;
  //var nombre_tecnico = document.getElementById("nombre").value;
  var nombre = $('#nombre').val();
  var apellido = $('#apellido').val();
  var rut = $('#rut').val();
  var telefono = $('#telefono').val();
  var mail = $('#mail').val();
  var direccion = $('#direccion').val();
            if (nombre === "") {
                Swal.fire({
                  title: "Error",
                  text: "Por favor ingrese el nombre del Usuario.",
                  icon: "warning",
                  confirmButtonColor: "#2a3042",
                  confirmButtonText: "Aceptar"                  
                });
                document.getElementById("guardarBtn").disabled = false;
                return false; //para cortar o simmplemente detener el recorrido del script.                
            }
            if (rut == "") {
                Swal.fire({
                  title: "Error",
                  text: "Por favor el R.U.T. del usuario.",
                  icon: "warning",
                  confirmButtonColor: "#2a3042",
                  confirmButtonText: "Aceptar"                  
                });
                return false;
                document.getElementById("guardarBtn").disabled = false;
            }            
  var datalist_ruts = document.getElementById("list_ruts").options; //RUTS DE TODOS LOS USUARIOS REGISTRADOS.
  for (var i = 0; i < datalist_ruts.length; i++) {    
        //arraycodsprods = datalist_ruts[i].value;
        if (datalist_ruts[i].value == rut && datalist_ruts[i].value != "") { 
            Swal.fire({
                  title: "Error",
                  text: "El RUT ingresado ya se encuentra registrado.",
                  icon: "warning",
                  confirmButtonColor: "#2a3042",
                  confirmButtonText: "Aceptar"                  
                });
            document.getElementById("guardarBtn").disabled = false;
            return false; // RUT repetido ya existente
            
        }  
  }
  // Eliminar puntos y guiones
        var rut2 = rut.replace(/[.-]/g, '');
        // Separar el RUT y el dígito verificador
        var rutSinDigito = rut2.slice(0, -1);
        var verificador = rut2.slice(-1).toUpperCase();
        // Invertir el RUT
        var rutInvertido = rutSinDigito.split('').reverse().join('');
        // Inicializar suma
        var suma = 0;
        // Factores de multiplicación
        var multiplicadores = [2, 3, 4, 5, 6, 7, 2, 3];
        // Calcular suma ponderada
        for (var i = 0; i < rutInvertido.length; i++) {
            suma += parseInt(rutInvertido.charAt(i)) * multiplicadores[i];
        }
        // Calcular dígito verificador esperado
        var resto = suma % 11;
        var digitoEsperado = 11 - resto;
        // Manejar casos especiales
        if (digitoEsperado === 10) {
            digitoEsperado = 'K';
        } else if (digitoEsperado === 11) {
            digitoEsperado = '0';
        }
        // Comparar dígito verificador
        if (verificador != digitoEsperado.toString()) { //agregar '&& rut != ""' para que campo rut no sea obligatorio. 
            Swal.fire({
                  title: "Error",
                  text: "El RUT ingresado no es válido.",
                  icon: "warning",
                  confirmButtonColor: "#2a3042",
                  confirmButtonText: "Aceptar"                  
                });
            document.getElementById("guardarBtn").disabled = false;
            return false; // RUT inválido            
        }
  $.ajax({
    type: 'POST',
    url: 'registro_usuario_form.php', // Nombre del archivo PHP para procesar el formulario
    data: {
      nombre: nombre,
      apellido: apellido,
      rut: rut,
      telefono: telefono,
      mail: mail,
      direccion: direccion,
      rol: rol,
      comision: comision
    },
    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: "El Usuario fue registrado correctamente",
            icon: "success",
            confirmButtonColor: "#2a3042",
            confirmButtonText: "Aceptar"
        }).then((result) => {
            if (result.isConfirmed) {

                $('#registroUsuario').modal('hide');
                $('#nombre').val('');
                $('#apellido').val('');
                $('#rut').val('');
                $('#telefono').val('');
                $('#mail').val('');
                $('#direccion').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>