<?php 
    //QUERY PARA LOS USUARIOS RUT DATALIST.
    $sql_alumnos = "
        SELECT * 
        FROM alumnos a
        WHERE a.estado = 'Activo' 
        AND a.matricula_pagada = 'No'
        AND NOT EXISTS (
            SELECT 1 
            FROM matriculas m 
            WHERE m.id_alumno = a.id_alumno
            AND m.estado = 'Activo'
        )";
    $queryalumnos = mysqli_query($con, $sql_alumnos);
    $sql_apoderados = "SELECT * FROM apoderados WHERE estado = 'Activo'";
    $queryapoderados = mysqli_query($con, $sql_apoderados);

    //SQL PARA DATALIST HIDDEN CON INFO DE APODERADOS.
    $sql_alumnos2 = "SELECT * FROM alumnos WHERE estado = 'Activo' AND matricula_pagada = 'No'";
    $queryalumnos2 = mysqli_query($con, $sql_alumnos2);
    date_default_timezone_set('America/Santiago');
    //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 = "";
            }
        }

        function completarcampos() {
            const alumnos = document.getElementById("alumnos");
            const apoderado = document.getElementById("apoderado");            
            var datalistalumnos = document.getElementById("list_alumnos").options;
            var datalistalumnos2 = document.getElementById("list_alumnos2").options;
            var arraydatalistalumno; 
            var arrayalumno; 
            document.getElementById("abono").value = 0;

            for (var i = 0; i < datalistalumnos2.length; i++) {    
                arraydatalistalumno = datalistalumnos2[i].value.split(' | '); //el 0 es el rut
                arrayalumno = alumnos.value.split(' | '); //el 2 es el rut
                //arraytextprods = datalistalumnos[i].textContent.split(' | ');
                if (arraydatalistalumno[0] == arrayalumno[2]) {
                    apoderado.value = arraydatalistalumno[1] + " | "+arraydatalistalumno[2];                     
                }  
            }
        }

        function calculopendiente() {
            const alumnomonto = document.getElementById("alumnos");
            const abono = document.getElementById("abono"); //input
            const pago_total = document.getElementById("pago_total"); //checkbox
            const pendiente = document.getElementById("pendiente"); //input readonly calculo automatico
            var montoabono = parseInt(abono.value.replace(/\./g, ''), 10); //quitar puntos mil
            var montopendiente = parseInt(pendiente.value.replace(/\./g, ''), 10); //quitar puntos mil
            var total_pendiente;
            var montomatricula;
            var datalistmontos = document.getElementById("list_alumnos2").options; //datalist
            var arrayalumno2;
            var arraydatalistalumno2; 

            for (var i = 0; i < datalistmontos.length; i++) {    
                arraydatalistalumno2 = datalistmontos[i].value.split(' | '); //el 0 es el rut , 3 y 4 los montos
                arrayalumno2 = alumnomonto.value.split(' | '); //el 2 es el rut
                if (arraydatalistalumno2[0] == arrayalumno2[2]) {
                    montomatricula = arraydatalistalumno2[3];
                    montomatricula = parseInt(montomatricula.replace(/\./g, ''), 10);
                    if (pago_total.checked) {
                        pendiente.value = 0;
                        pago_total.value = "Si";
                    } else {
                        total_pendiente = montomatricula - montoabono;
                        pendiente.value = total_pendiente;
                        if (isNaN(pendiente.value)) {
                            pendiente.value = 0;
                        }
                        pago_total.value = "No";
                    }
                    if (total_pendiente < 0) {
                        abono.value = arraydatalistalumno2[3];
                        Swal.fire({
                          title: "Oops",
                          text: "El monto del abono no puede ser mayor al costo de la matrícula. ($ "+ arraydatalistalumno2[3]+")",
                          icon: "warning",
                          confirmButtonColor: "#2a3042",
                          confirmButtonText: "Aceptar"                  
                        });     
                        pendiente.value = 0;                   
                    }                  
                }  
            }
            let valor1 = abono.value.replace(/[.]/g, '') || '0'; 
            abono.value = valor1.replace(/^0+(?=\d)/, '').replace(/\B(?=(\d{3})+(?!\d))/g, '.');
            let valor2 = pendiente.value.replace(/[.]/g, '') || '0'; 
            pendiente.value = valor2.replace(/^0+(?=\d)/, '').replace(/\B(?=(\d{3})+(?!\d))/g, '.');
        }
</script>                                   <!-- INPUT ALUMNO -->
                                            <datalist name="list_alumnos" id="list_alumnos" class="col-12 bg-white list_alumnos" hidden>
                                            <?php while ($row_alumno = mysqli_fetch_assoc($queryalumnos)) {
                                            ?><option value="<?php echo $row_alumno['nombres'] ." ".$row_alumno['apellidos']." | ".$row_alumno['nivel_estudio'] ." | ".$row_alumno['rut'];?>"></option>
                                            <?php }mysqli_free_result($queryalumnos); ?>
                                            </datalist>

                                            <datalist name="list_alumnos2" id="list_alumnos2" class="col-12 bg-white list_alumnos2" hidden>
                                            <?php while ($row_alumno = mysqli_fetch_assoc($queryalumnos2)) {
                                            ?><option value="<?php echo $row_alumno['rut'] ." | ".$row_alumno['nombre_apoderado']." ".$row_alumno['apellido_apoderado'] ." | ".$row_alumno['rut_apoderado']." | ".$row_alumno['monto_matricula']." | ".$row_alumno['monto_mensualidad'];?>"></option>
                                            <?php }mysqli_free_result($queryalumnos2); ?>
                                            </datalist>

                                            <datalist name="list_apoderados" id="list_apoderados" class="col-12 bg-white list_apoderados" hidden>
                                            <?php while ($row_apoderado = mysqli_fetch_assoc($queryapoderados)) {
                                            ?><option value="<?php echo $row_apoderado['rut'];?>"></option>
                                            <?php }mysqli_free_result($queryapoderados); ?>
                                            </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 Nueva Matrícula</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" oninput="completarcampos(); calculopendiente();" 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" list="list_apoderados" readonly id="apoderado" name="apoderado" placeholder=" ">
                                                    <label for="apoderado" class="col-sm-12">Apoderado (Nombre | Rut)</label>
                                                </div>
                                                <div class="col-sm-3 form-floating form-label-inside input-div">
                                                    <input type="text" class="form-control" oninput="calculopendiente()" id="abono" name="abono" placeholder=" ">
                                                    <label for="abono" class="col-sm-12">Abono</label>
                                                </div>
                                               <div class="col-sm-3 form-check" style="display: flex; align-items: center;">
                                                    <input type="checkbox" class="form-check-input" onclick="calculopendiente()" id="pago_total" name="pago_total" value="Si" style="width: 50px; height: 40px;">
                                                    <label class="form-check-label ms-2" for="pago_total">Activar abono como el 100% del monto de la matrícula.</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</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" value="<?php echo date('Y-m-d'); ?>" 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" onclick="registrarMatricula()" style="margin: 5px;" >Registrar Matrícula</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 registrarMatricula() {
    document.getElementById("guardarBtn").disabled = true;
  //var nombre_tecnico = document.getElementById("nombre").value;
  var alumnos = $('#alumnos').val();
  var apoderado = $('#apoderado').val();
  var abono = $('#abono').val();
  var pago_total = $('#pago_total').val(); //es el activador del 100% de la matricula.
  var pendiente = $('#pendiente').val();
  var fecha_pago = $('#fecha_pago').val();
            
            var datalist_rut = document.getElementById("list_alumnos").options;
            var n_repetido = 0;
            for (var i = 0; i < datalist_rut.length; i++) {   
                    if (datalist_rut[i].value == alumnos) { 
                        n_repetido = n_repetido + 1;                        
                    }                      
            }
            if (alumnos == "" || n_repetido == 0) {
                //si n_repetido es 0 entonces no se seleccionó ningún alumno valido, debe ser 1 para que pueda pasar.
                Swal.fire({
                  title: "Error",
                  text: "Favor verificar el alumno Seleccionado, debe ser del listado.",
                  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_matricula.php', // Nombre del archivo PHP para procesar el formulario
    data: {
      alumnos: alumnos,
      apoderado: apoderado,
      abono: abono,
      pago_total: pago_total,
      pendiente: pendiente,
      fecha_pago: fecha_pago
    },
    success: function(response) {
      var responseData = response.split("success");
      if (responseData.length > 1) {
        Swal.fire({
            title: "Registro exitoso",
            text: "La matrícula fue registrada correctamente",
            icon: "success",
            confirmButtonColor: "#2a3042",
            confirmButtonText: "Aceptar"
        }).then((result) => {
            if (result.isConfirmed) {
                $('#registroUsuario').modal('hide');
                $('#alumnos').val('');
                $('#apoderado').val('');
                $('#abono').val('');
                $('#pago_total').val('');
                $('#pendiente').val('');
                $('#fecha_pago').val('');
                document.getElementById("guardarBtn").disabled = false;
                location.reload();
            }
        });
      } else {
        Swal.fire({
            title: "Error",
            text: response,
            icon: "error",
            confirmButtonColor: "#2a3042",
            confirmButtonText: "Aceptar"
        });
      }
    }
  });
}
</script>