
function getProyectosCliente(){
    var idcliente =$('#listaCliente').val();
    var idcliente_text = $("#listaCliente option:selected").text();

    $('#listaProyectos option').remove();
                                        
    if(idcliente != ""){
        $.get("./cu/ingresosReal_cu.php", {op:44,cliente:idcliente}, function(respuesta){
            
            $('#listaProyectos')
                .append($("<option></option>")
                .attr("value","")
                .text("Seleccione proyecto")); 
        
            var registros =  respuesta.split('-');
            
            if(registros != ""){
                for (var i = 0; registros.length > i; i++){
                    var valores =  registros[i].split('*');
                
                    if(valores!=""){
                        $('#listaProyectos')
                            .append($("<option></option>")
                            .attr("value",valores[0])
                            .text(valores[1])); 
                    }
                }
            
                $("#listaProyectos").prop('disabled', false);
            
            }else{ 
                $("#listaProyectos").prop('disabled', true);
                alert("No hay proyectos para este cliente.");}
            });
        
    }else{
        $("#listaProyectos").prop('disabled', true);
        $('#listaProyectos')
            .append($("<option></option>")
            .attr("value","")
            .text("Seleccione proyecto")); 
    }
}



function setComprobable(){
    document.getElementById("checkNoComprobable").checked=false;
    document.getElementById("checkComprobable").checked=true;
}



function setNoComprobable(){
    document.getElementById("checkNoComprobable").checked=true;
    document.getElementById("checkComprobable").checked=false;
}



function agregarIngresoReal(id_session,fecha){
    var fecha = moment().format('YYYY-MM-DD HH:mm:ss');
    var idcliente = $('#listaCliente').val();
    var idproyecto = $('#listaProyectos').val();
    var listaFormaIngreso = $('#listaFormaIngreso').val();
    var fechaIngreso = $('#fechaIngreso').val();
    var montoIngreso = $('#montoIngreso').val();
    var comentarios = $('#comentariosIngreso').val(); 
    var checkComprobable = document.getElementById("checkComprobable").checked;
    var checkNoComprobable = document.getElementById("checkNoComprobable").checked;
    var campoComprobable = "";
    
    if(idcliente == ""){
        alert("Número de cliente inválido.");
        return;
    }
    
    if(idproyecto == ""){
        alert("Número de proyecto inválido.");
        return;
    }
    
    if(listaFormaIngreso == ""){
        alert("Ingrese la forma de ingreso.");
        return;
    }
    
    if(fechaIngreso == ""){
        alert("Ingrese la fecha del ingreso.");
        return;
    }
    
    if(montoIngreso == ""){
        alert("Ingrese el monto del ingreso.");
        return;
    }
    
    if(comentarios == ""){
        alert("Ingrese los comentarios.");
        return;
    }
    
    if(checkComprobable)
        campoComprobable = "SI";
            
    if(checkNoComprobable)
        campoComprobable = "NO";
    
    if(campoComprobable == ""){
        alert("Selecciona si es comprobable el ingreso.");
        return;    
    }
    
    
    var subtotal_real = parseFloat(montoIngreso).toFixed(2);
    var impuesto_real = parseFloat(0).toFixed(2);
    
    if(campoComprobable == 'SI'){
        subtotal_real = (parseFloat(montoIngreso) / parseFloat(1.16)).toFixed(2);
        impuesto_real = (parseFloat(montoIngreso) - parseFloat(subtotal_real)).toFixed(2);
    }
    

    $.get("./cu/ingresosReal_cu.php", {op:56,proy:idproyecto}, function(respuesta){
        var divisiones = respuesta.split("-");
        var linea = divisiones[0].split("*");

        cc = parseInt(linea[6]);
        
        if(cc == 0){
            alert("El proyecto que has seleccionado no cuenta con centro de costos. Se requiere crear un presupuesto.");
            return;
        }

        var sArray = ["",
            id_session,
            fecha,
            cc,
            listaFormaIngreso,
            campoComprobable,
            comentarios,
            montoIngreso,
            impuesto_real,
            subtotal_real,
            fechaIngreso,
            subtotal_real,
            impuesto_real              
        ];

        $.get("./cu/ingresosReal_cu.php", {op:82,tabla:'ingresos', sArray:sArray}, function(respuesta){
            if(respuesta > 0){
                alert("Se ha agregado el registro exitosamente.");
                document.getElementById("ingresosForm").reset();
            }
        });       

    });



    
}


//================================================================================================================================//

function getProyectosClienteR(){
    var idcliente =$('#listaClienteR').val();
    var idcliente_text = $("#listaClienteR option:selected").text();

    $('#listaProyectosR option').remove();
    $("#listaLineaR").prop('disabled', false);
    $('#listaLineaR').val('').prop('selected', true);

                                        
    if(idcliente != ""){
        $.get("./cu/ingresosReal_cu.php", {op:44,cliente:idcliente}, function(respuesta){
            
            $('#listaProyectosR')
                .append($("<option></option>")
                .attr("value","")
                .text("Todos los proyectos")); 
        
            var registros =  respuesta.split('-');
            
            if(registros != ""){
                for (var i = 0; registros.length > i; i++){
                    var valores =  registros[i].split('*');
                
                    if(valores!=""){
                        $('#listaProyectosR')
                            .append($("<option></option>")
                            .attr("value",valores[0])
                            .text(valores[1])); 
                    }
                }
            
                $("#listaProyectosR").prop('disabled', false);
            
            }else{ 
                $('#listaProyectosR option').remove();
                
                $("#listaProyectosR")
                .append($("<option></option>")
                .attr("value","")
                .text("Sin proyectos"));
                
                $("#listaProyectosR").prop('disabled', true);
                
                alert("No hay proyectos para este cliente.");
            }
        });
        
    }else{
        $("#listaProyectosR").prop('disabled', true);
        $('#listaProyectosR')
            .append($("<option></option>")
            .attr("value","")
            .text("Todos los proyectos."));
    }
}


function setProyectos(){
    var idproyecto =$('#listaProyectosR').val();
    $('#listaLineaR').val('').prop('selected', true);

    if(idproyecto != '')
        $("#listaLineaR").prop('disabled', true);
    else
        $("#listaLineaR").prop('disabled', false);
}


function setLineaNegocio(){
    var idlinea =$('#listaLineaR').val();
    $('#listaProyectosR').val('').prop('selected', true);
    
    if(idlinea != '')
        $("#listaProyectosR").prop('disabled', true);
    else
        $("#listaProyectosR").prop('disabled', false);
}


function getTablaIngresos(){
    var idcliente =$('#listaClienteR').val();
    var idcliente_text = $("#listaClienteR option:selected").text();
    
    var idproyecto =$('#listaProyectosR').val();
    var idproyecto_text = $("#listaProyectosR option:selected").text();
    
    var idlinea =$('#listaLineaR').val();
    var idlinea_text = $("#listaLineaR option:selected").text();
    
    var opcionBuscar = 67;

    var sArray = [0,0,0];
    
    if(idcliente == "" && idlinea==""){
        opcionBuscar = 66;
    }
    
    if(idcliente != ""){
        sArray[0] = idcliente;
    }
    
    if(idproyecto != ""){
        sArray[1] = idproyecto;
    }
    
    if(idlinea != ""){
        sArray[2] = idlinea;
    }

    $.get("./cu/ingresosReal_cu.php", {op:opcionBuscar,cliente:idcliente,sArray:sArray}, function(respuesta){
        var ingresosTabla = respuesta.split("_");

        var tabla = $('#tablaEgresosReales').DataTable();


        tabla.clear().draw();

        for(var i = 0; i < ingresosTabla.length-1; i ++){
            var registro = ingresosTabla[i].split("*");
            var id_monto = "monto"+parseInt(registro[8]);       
            var fila = tabla
            .row.add(
                [
                "<center>"+registro[0]+"</center>",
                "<center>"+registro[1]+"</center>",
                "<center>"+registro[2]+"</center>",
                "<center>"+registro[3]+"</center>",
                "<center>"+registro[4]+"</center>",
                "<center class='col-md-6 col-sm-6 col-xs-12'>"+registro[5]+"</center>",
                "<input  type='number'  disabled class='control-form col-md-12 col-sm-12 col-xs-12' id="+id_monto+" value=" + registro[6] + " title='Última actualización:" + registro[7].substring(0, 11) + "'><label id='l"+id_monto+"' style='visibility:hidden'>"+ registro[6] +"</label>",
                "<button type='button' class='btn btn-primary btn-xs' value=0 onclick='editTablaIngresos($(this),"+id_monto+")'>Editar</button>",
                "<button type='button' class='btn btn-danger btn-xs' value="+i+" id=" + registro[8] + " onclick='eliminarIngreso($(this))'>Eliminar</button>"
                ])
            .draw()
            .node();
        }

    });
}


function editTablaIngresos(boton,id_monto){
    var estado = boton.val();
    var monto = $(id_monto).val();
    var fecha_actual = moment().format("YYYY-MM-DD h:mm:ss");

    if(estado == 0){
        boton.val(1);
        boton.text("Guardar");
        $(id_monto).prop('disabled', false);    
    
    }else{
               
        if(monto==""){
            alert("Ingresa un valor válido al campo de Ingreso.");
            return;
        }

        var id_ingreso = id_monto.id.substr(5);

        $.get("./cu/ingresosReal_cu.php", {op:68,idingreso:id_ingreso,fecha:fecha_actual, monto:monto}, function(respuesta){
            if(respuesta == 1){
                alert("Se ha guardado el registro exitosamente.");
                var idEtiqueta="l" + $(id_monto).attr('id');
                document.getElementById(idEtiqueta).innerHTML =monto;
                boton.val(0);
                boton.text("Editar");
                $(id_monto).prop('disabled',true);
            }
        });
    }
}


function eliminarIngreso(boton){
    id_tabla =boton.val();
    id_reg =boton.attr("id");

    var table = $('#tablaEgresosReales').DataTable();

    if(id_tabla>=0){
        var resp = confirm("¿Seguro que desea eliminar el registro seleccionado?");

        if (resp == true) {
            table.row(id_tabla).remove().draw(false);
            $.get("./cu/ingresosReal_cu.php", {op:3,iduser:id_reg,tablereg:'ingresos'}, function(respuesta){
                if(respuesta == 1){
                    alert("Se ha eliminado el registro correctamente.");
                }

            });
        }
    
    }else{
        alert("Seleccione el registro a eliminar.");
    }  
}


//=======================================================================================================
function tableToExcel(table, name, filename) {
        let uri = 'data:application/vnd.ms-excel;base64,', 
        template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><title></title><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>', 
        base64 = function(s) { return window.btoa(decodeURIComponent(encodeURIComponent(s))) },         format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; })}
        
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}

        var link = document.createElement('a');
        link.download = filename;
        link.href = uri + base64(format(template, ctx));
        link.click();
}
