@include('header')
@include('navigator_clientes')

<!--SELECTOR-->
<div class="container">
    <div class="mt-5">
        <select class="form-select cliente" name="" value="" id="nombre-selector">
            <option selected value="">CLIENTES</option>
            @foreach($clientes as $cl)
                <option value="{{$cl->nombre_cliente}}"> {{$cl->nombre_cliente}} </option>
            @endforeach
        </select>
    </div><br>
</div>

<!--MODAL ACTUALIZAR REGISTROS-->
<div class="modal fade" id="modalBuscarHomonimo" tabindex="-1" role="dialog" aria-labelledby="label_modal" aria-hidden="true" data-backdrop="static">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            @include('modals/modal_homonimia_buscar')
        </div>
    </div>
</div>

<!--MODAL VERIFICAR CUITS-->
<div class="modal fade" id="modalVerificarCUITS" tabindex="-1" role="dialog" aria-labelledby="label_modal" aria-hidden="true" data-backdrop="static">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            @include('modals/modal_verificar_cuits')
        </div>
    </div>
</div>

<!--TABLA DE FANCY GRID-->
<div class="container-fluid">
    <div class="row justify-content-center">
        <div class="col-12 m-0" id="result"></div>
    </div>
</div>

<!--CUANDO SE CARGA LA PAGINA-->
<script>
    $(document).ready(function() {
        
        //  Display de FancyGrid
        mostrarDatos(<?php echo(json_encode($filtro_cliente))?>);

        //  Al hacer click en "Actor", se llama a la funcion actorCambio()
        $('#choice-a').click(function() {
            actorCambio();
        });

        //  Al hacer click en "Volver al Actor", se muestran los datos del Actor
        $('#back2').click(function() {
            if(!$('#choice-a').hasClass('hidden')) {
                $('#choice-a').toggleClass('hidden');
            }
            if($('#back').hasClass('hidden')) {
                $('#back').removeClass('hidden');
            }
            if(!$('#back2').hasClass('hidden')) {
                $('#back2').toggleClass('hidden');
            }
            if(!$('#mensaje').hasClass('hidden')) {
                $('#mensaje').toggleClass('hidden');
            }
            if($('#miTabla').hasClass('hidden')) {
                $('#miTabla').removeClass('hidden');
            }
            if(!$('#body-tabla').hasClass('hidden')) {
                $('#body-tabla').toggleClass('hidden');
            }
            if($('#body-tabla-2').hasClass('hidden')) {
                $('#body-tabla-2').removeClass('hidden');
            }
        });

        //  Al hacer click en "Volver al Demandado", se muestran los datos del Demandado
        $('#back').click(function() {
            document.getElementById('back2').disabled = false;
            if(!$('#choice-a').hasClass('hidden')) {
                $('#choice-a').toggleClass('hidden');
            }
            if(!$('#back').hasClass('hidden')) {
                $('#back').toggleClass('hidden');
            }
            if($('#back2').hasClass('hidden')) {
                $('#back2').removeClass('hidden');
            }
            if(!$('#mensaje').hasClass('hidden')) {
                $('#mensaje').toggleClass('hidden');
            }
            if($('#miTabla').hasClass('hidden')) {
                $('#miTabla').removeClass('hidden');
            }
            if($('#body-tabla').hasClass('hidden')) {
                $('#body-tabla').removeClass('hidden');
            }
            if(!$('#body-tabla-2').hasClass('hidden')) {
                $('#body-tabla-2').toggleClass('hidden');
            }
        });

        //  Deteccion evento click boton confirmar
        $("#confirmar").click(function() {
            var grid = Fancy.getWidget('tabla-fancy');
            if(confirm('¿Esta seguro de actualizar los datos ingresados?') == true) {
                var exp_reg = /^(20|23|24|27|30|33|34)([0-9]{9})$|^([0-9]{7,8})$/;
                var nombre = $('#deman').val();
                var actor = $('#actor').val();
                var cuit1 = $('#cuitdem').val();
                var cuit2 = $('#cuitact').val();
                var cuit1_ver = $('#cuitdem-ver').val();
                var cuit2_ver = $('#cuitact-ver').val();
                var id_juicio = $('#iden-juicio').val();

                //  Actualizar registro sin errores
                var letra;
                var lista_ids = [];
                var lista = [];
                var lista_ret = [];
                var cuit_nuevo;
                var usuario_id;
                var bandera = 0;

                //GRABAMOS EL CUIT QUE ASIGNA EL USUARIO
                //PARAMETROS
                    //letra de demandado/actor (D o A)
                    //lista separada por comas de los IDs a actualizar
                    //CUIT
                    //usuario = userID

                //$clientes = SQLConnection::backendStoreProcedure('LN_homonimia_led upd', array('lista_clientes',NULL,NULL), 'select');

                //  Recorre la FancyGrid y compara sus elementos con los datos del modal determinados
                for (let index = 0; index < grid.get().length; index++) {
                    const element = grid.get()[index];

                    //  CUANDO SE BUSCA EL CUIT DEL DEMANDADO
                    if(element.data.cuit_demandado == null && element.data.cuit_actor != null) {
                        if(element.data.demandado == nombre && element.data.actor == actor) {
                            bandera = 1;
                            grid.setById(element.id, 'cuit_demandado', cuit1);
                            lista_ids.push(element.id);
                            lista_ret.push(element.data.id_juicio);
                            grid.update();
                        }
                    }
                    //  CUANDO SE BUSCA EL CUIT DEL ACTOR
                    else if(element.data.cuit_demandado != null && element.data.cuit_actor == null) {
                        if(element.data.demandado == nombre && element.data.actor == actor) {
                            bandera = 2;
                            grid.setById(element.id, 'cuit_actor', cuit2);
                            lista_ids.push(element.id);
                            lista_ret.push(element.data.id_juicio);
                            grid.update();
                        }
                    }
                    //  CUANDO FALTAN AMBOS CUITS
                    else if(element.data.cuit_demandado == null && element.data.cuit_actor == null) {
                        if(element.data.demandado == nombre && element.data.actor == actor) {
                            bandera = 3;
                            console.log('Faltan ambos cuits');
                            console.log('Primero el cuit del demandado ' + cuit1);
                            grid.setById(element.id, 'cuit_demandado', cuit1);
                            console.log('y despues el cuit del actor ' + cuit2);
                            grid.setById(element.id, 'cuit_actor', cuit2);
                            grid.update();
                            lista_ids.push(element.id);
                            lista_ret.push(element.data.id_juicio);
                        }
                    }
                }
                if(bandera == 1) {
                    letra = 'D';
                    console.log('Envia el cuit del demandado ---> ' + letra);
                    console.log('Lista de IDs de los registros a actualizar: ' + lista_ret);
                    cuit_nuevo = cuit1;
                    console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);
                    usuario_id = 'userID';
                    console.log('ID del usuario en sesión ' + usuario_id);
                    for (let i = 0; i < lista_ids.length; i++) {
                        //  Elimina de la tabla el registro actualizado
                        grid.remove(lista_ids[i]);
                        grid.update();   
                    }
                }
                else if(bandera == 2) {
                    letra = 'A';
                    console.log('Envia el cuit del demandado ---> ' + letra);
                    console.log('Lista de IDs de los registros a actualizar: ' + lista_ret);
                    cuit_nuevo = cuit2;
                    console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);
                    usuario_id = 'userID';
                    console.log('ID del usuario en sesión ' + usuario_id);
                    for (let i = 0; i < lista_ids.length; i++) {
                        //  Elimina de la tabla el registro actualizado
                        grid.remove(lista_ids[i]);
                        grid.update();   
                    }
                }
                else if(bandera == 3) {
                    letra = 'D';
                    console.log('Envia el cuit del demandado ---> ' + letra);
                    cuit_nuevo = cuit1;
                    console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);

                    letra = 'A';
                    console.log('Envia el cuit del actor ---> ' + letra);
                    cuit_nuevo = cuit2;
                    console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);

                    usuario_id = 'userID';
                    console.log('ID del usuario en sesión ' + usuario_id);

                    console.log('Lista de IDs de los registros a actualizar: ' + lista_ret);
                    for (let i = 0; i < lista_ids.length; i++) {
                        //  Elimina de la tabla el registro actualizado
                        grid.remove(lista_ids[i]);
                        grid.update();   
                    }
                }

                //Displays
                $(this).attr('data-dismiss', 'modal');
                if($('#mensaje').hasClass('hidden')) {
                    $('#mensaje').removeClass('hidden');
                }
                if(!$('#miTabla').hasClass('hidden')) {
                    $('#miTabla').toggleClass('hidden');
                }
                if($('#body-tabla').hasClass('hidden')) {
                    $('#body-tabla').removeClass('hidden');
                }
                if(!$('#body-tabla-2').hasClass('hidden')) {
                    $('#body-tabla-2').toggleClass('hidden');
                }
            }
            else {
                return false;
            }
        });

        //  Deteccion evento click boton confirmar-ver
        $("#confirmar-ver").click(function() {
            var grid = Fancy.getWidget('tabla-fancy');
            if(confirm('¿Esta seguro de actualizar los datos ingresados?') == true) {
                var exp_reg = /^(20|23|24|27|30|33|34)([0-9]{9})$|^([0-9]{7,8})$/;
                var nombre = $('#deman').val();
                var actor = $('#actor').val();
                var cuit1_ver = $('#cuitdem-ver').val();
                var cuit2_ver = $('#cuitact-ver').val();
                var id_juicio = $('#iden-juicio').val();

                //  Actualizar registro con errores
                if(cuit1_ver.match(exp_reg) && cuit2_ver.match(exp_reg)) {
                    var letra;
                    var lista_ids = [];
                    var lista_ret = [];
                    var lista = [];
                    var cuit_nuevo;
                    var usuario_id;
                    var bandera = 0;

                    //GRABAMOS EL CUIT QUE ASIGNA EL USUARIO
                    //PARAMETROS
                        //letra de demandado/actor (D o A)
                        //lista separada por comas de los IDs a actualizar
                        //CUIT
                        //usuario = userID

                    //$clientes = SQLConnection::backendStoreProcedure('LN_homonimia_led upd', array('lista_clientes',NULL,NULL), 'select');

                    //  Recorre la FancyGrid y compara sus elementos con los datos del modal determinados
                    for (let index = 0; index < grid.get().length; index++) {
                        const element = grid.get()[index];

                        //  CUANDO SE BUSCA EL CUIT DEL DEMANDADO
                        if(element.data.cuit_demandado == null && element.data.cuit_actor != null) {
                            if(id_juicio == element.data.id_juicio) {
                                bandera = 1;
                                grid.setById(element.id, 'cuit_demandado', cuit1_ver);
                                lista_ids.push(element.id);
                                lista_ret.push(element.data.id_juicio);
                                grid.update();
                            }
                        }
                        //  CUANDO SE BUSCA EL CUIT DEL ACTOR
                        else if(element.data.cuit_demandado != null && element.data.cuit_actor == null) {
                            if(id_juicio == element.data.id_juicio) {
                                bandera = 2;
                                grid.setById(element.id, 'cuit_actor', cuit2_ver);
                                lista_ids.push(element.id);
                                lista_ret.push(element.data.id_juicio);
                                grid.update();
                            }
                        }
                        //  CUANDO FALTAN AMBOS CUITS
                        else if(element.data.cuit_demandado == null && element.data.cuit_actor == null) {
                            if(id_juicio == element.data.id_juicio) {
                                bandera = 3;
                                console.log('Faltan ambos cuits');
                                console.log('Primero el cuit del demandado ' + cuit1_ver);
                                grid.setById(element.id, 'cuit_demandado', cuit1_ver);
                                console.log('y despues el cuit del actor ' + cuit2_ver);
                                grid.setById(element.id, 'cuit_actor', cuit2_ver);
                                grid.update();
                                lista_ids.push(element.id);
                                lista_ret.push(element.data.id_juicio);
                            }
                        }
                    }
                    if(bandera == 1) {
                        letra = 'D';
                        console.log('Envia el cuit del demandado ---> ' + letra);
                        console.log('Lista de IDs de los registros a actualizar: ' + lista_ret);
                        cuit_nuevo = cuit1_ver;
                        console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);
                        usuario_id = 'userID';
                        console.log('ID del usuario en sesión ' + usuario_id);
                        for (let i = 0; i < lista_ids.length; i++) {
                            //  Elimina de la tabla el registro actualizado
                            grid.remove(lista_ids[i]);
                            grid.update();   
                        }
                    }
                    else if(bandera == 2) {
                        letra = 'A';
                        console.log('Envia el cuit del demandado ---> ' + letra);
                        console.log('Lista de IDs de los registros a actualizar: ' + lista_ret);
                        cuit_nuevo = cuit2_ver;
                        console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);
                        usuario_id = 'userID';
                        console.log('ID del usuario en sesión ' + usuario_id);
                        for (let i = 0; i < lista_ids.length; i++) {
                            //  Elimina de la tabla el registro actualizado
                            grid.remove(lista_ids[i]);
                            grid.update();   
                        }
                    }
                    else if(bandera == 3) {
                        letra = 'D';
                        console.log('Envia el cuit del demandado ---> ' + letra);
                        cuit_nuevo = cuit1_ver;
                        console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);

                        letra = 'A';
                        console.log('Envia el cuit del actor ---> ' + letra);
                        cuit_nuevo = cuit2_ver;
                        console.log('C.U.I.T. para actualizar en la db ' + cuit_nuevo);

                        usuario_id = 'userID';
                        console.log('ID del usuario en sesión ' + usuario_id);

                        console.log('Lista de IDs de los registros a actualizar: ' + lista_ret);
                        for (let i = 0; i < lista_ids.length; i++) {
                            //  Elimina de la tabla el registro actualizado
                            grid.remove(lista_ids[i]);
                            grid.update();   
                        }
                    }
                    //Displays
                    $(this).attr('data-dismiss', 'modal');
                    if($('#mensaje').hasClass('hidden')) {
                        $('#mensaje').removeClass('hidden');
                    }
                    if(!$('#miTabla').hasClass('hidden')) {
                        $('#miTabla').toggleClass('hidden');
                    }
                    if($('#body-tabla').hasClass('hidden')) {
                        $('#body-tabla').removeClass('hidden');
                    }
                    if(!$('#body-tabla-2').hasClass('hidden')) {
                        $('#body-tabla-2').toggleClass('hidden');
                    }
                }
                else {
                    alert("Completa los campos con CUITs válidos,");
                }
            }
            //  Deteccion evento click CANCELAR confirm
            else {
                return false;
            }
        });

        //  Boton verificar cuit demandado
        $("#ver-1").click(function() {
            verificarUno();
        });

        //  Boton verificar cuit actor
        $("#ver-2").click(function() {
            verificarDos();
        });

        //  Boton cerrar verificar
        $("#cerrar-ver").click(function() {
            document.getElementById("esperando-datos").hidden = false;
            document.getElementById("confirmar-datos").hidden = true;
            if($("#label_ver").text() == "Demandado" && document.getElementById("cuitdem").value == "") {
                document.getElementById("cuitdem-ver").value = ""; 
            }
            else if($("#label_ver").text() == "Actor" && document.getElementById("cuitact").value == "") {
                document.getElementById("cuitact-ver").value = "";
            }
        });

        //  Boton cancelar verificar
        $("#cancelar").click(function() {
            document.getElementById("esperando-datos").hidden = false;
            document.getElementById("confirmar-datos").hidden = true;
            if($("#label_ver").text() == "Demandado" && document.getElementById("cuitdem").value == "") {
                document.getElementById("cuitdem-ver").value = "";  
            }
            else if($("#label_ver").text() == "Actor" && document.getElementById("cuitact").value == "") {
                document.getElementById("cuitact-ver").value = "";
            }
            $(this).attr('data-dismiss', 'modal');
        });

        //  Boton aceptar verificar
        $("#aceptar").click(function() {
            if($("#label_ver").text() == "Demandado") {
                document.getElementById("deman").value = $("#nombre-ver").text();
                document.getElementById("cuitdem").value = $("#cuit-ver").text();   
            }
            else {
                document.getElementById("actor").value = $("#nombre-ver").text();
                document.getElementById("cuitact").value = $("#cuit-ver").text();
            }
            document.getElementById("esperando-datos").hidden = false;
            document.getElementById("confirmar-datos").hidden = true;
            
            $(this).attr('data-dismiss', 'modal');
        });
    });
</script>

@include('footer')