function getTipologia(){
    var idLN =$('#listaLN').val();
    
    $('#listaTopologia option').remove();
                                        
    if(idLN != ""){
        $.get("./cu/cc_cu.php", {op:1,idLN:idLN}, function(respuesta){
            
            $('#listaTopologia')
                .append($("<option></option>")
                .attr("value","")
                .text("Seleccione tipología")); 
        
            var registros =  respuesta.split('-');
            
            if(registros != ""){
                for (var i = 0; registros.length > i; i++){
                    var valores =  registros[i].split('*');
                
                    if(valores!=""){
                        $('#listaTopologia')
                            .append($("<option></option>")
                            .attr("value",valores[0])
                            .text(valores[1])); 
                    }
                }
            
                $("#listaTopologia").prop('disabled', false);
            
            }else{ 
                $('#listaTopologia option').remove();
                
                $("#listaTopologia")
                .append($("<option></option>")
                .attr("value","")
                .text("Sin tipologías"));
                
                $("#listaTopologia").prop('disabled', true);
                
                alert("Esta línea de negocio no tiene tipología.");
            }
        });
        
    }else{
        $("#listaTopologia").prop('disabled', true);
        $('#listaTopologia')
            .append($("<option></option>")
            .attr("value","")
            .text("Seleccione proyecto")); 
    }
}


function agregarCC(){
    var fecha = moment().format('YYYY-MM-DD HH:mm:ss');
    var nombre = $('#nombreCC').val();
    var id_ln =$('#listaLN').val();
    var id_topologia =$('#listaTopologia').val();
    
    if(nombre == ""){
        alert("Asigne un nombre al Centro de Costos.");
        return;
    }

    if(id_ln == ""){
        alert("Asigne una línea de negocio al Centro de Costos.");
        return;
    }

    if(id_topologia == ""){
        alert("Asigne una tipología al Centro de Costos.");
        return;
    }

    alert("ATENCIÓN: Este Centro de Costos no estará ligado a ningún Cliente ni Proyecto.");

    var sArray = ["",
        nombre,
        "0",
        id_ln,
        id_topologia,
        fecha
        ];
    

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

        getTablaCC();
    });


}


function getTablaCC(){
    $.get("./cu/cc_cu.php", {op:3}, function(respuesta){
        var ccTabla = respuesta.split("_");
        
        var tabla = $('#tablaCC').DataTable();


        tabla.clear().draw();

        for(var i = 0; i < ccTabla.length-1; i ++){
            var registro = ccTabla[i].split("*");
            var fecha = registro[5].split(" ");
            var estatusBoton = "";
            
            if(registro[2] != " N/A ")
            	estatusBoton = "disabled";

            var fila = tabla
            .row.add(
                [
                "<center>"+fecha[1]+"</center>",
                "<center>"+registro[1]+"</center>",
                "<center>"+registro[2]+"</center>",
                "<center>"+registro[3]+"</center>",
                "<center>"+registro[4]+"</center>",
                "<center><button type='button' class='btn btn-danger btn-xs' " + estatusBoton + " value="+i+" id=" + registro[0] + " onclick='eliminarCC($(this))'>Eliminar</button></center>"
                ])
            .draw()
            .node();
        }

    });return 0;
}


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

    var table = $('#ccTabla').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/cc_cu.php", {op:4,iduser:id_reg,tablereg:'cc'}, function(respuesta){
                if(respuesta == 1){
                    alert("Se ha eliminado el registro correctamente.");
                    getTablaCC();
                }else if(respuesta == 2){
                    alert("ATENCIÓN: No se puede eliminar, se han registrado egresos a este CC.");
                }

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

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

function tableToExcel(table, name, filename) {

    var wb = XLSX.utils.book_new();

    wb.Props = {
        Title: name,
        Subject: "Reporte",
        Author: "Herramienta Administrativa",
        CreatedDate: new Date(2017,12,19)
    };

    wb.SheetNames.push(name);

    var ws_data = [['']];
    var ws = XLSX.utils.aoa_to_sheet(ws_data);

    var oTable = document.getElementById("tablaCC");
    var rowLength = oTable.rows.length;

    for (i = 0; i < rowLength; i++){
        var oCells = oTable.rows.item(i).cells;
        var cellLength = oCells.length;

        var datos = ['','','','',''];

        for(var j = 0; j < cellLength-1; j++){
            var cellVal = oCells.item(j).innerHTML;

            if(i!=0){
                if(j>=0 && j<12)
                    cellVal = cellVal.substring(8, cellVal.indexOf("</"));
                else
                    cellVal = cellVal.substring(cellVal.indexOf("hidden")+9, cellVal.indexOf("</label"));
            }

            datos[j] = cellVal;
        }

        if(i==0)
            XLSX.utils.sheet_add_aoa(ws, [datos],{origin: 'A1'});    
        else
            XLSX.utils.sheet_add_aoa(ws, [datos],{origin: -1});
    }

    wb.Sheets[name] = ws;

    var wbout = XLSX.write(wb, {bookType:'xlsx',  type: 'binary'});
    
    function s2ab(s) { 
        var buf = new ArrayBuffer(s.length); 
        var view = new Uint8Array(buf);  
        for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF; 
        return buf;    
    }

    saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), filename);
}

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

    $('#listaProyectos option').remove();
                                        
    if(idcliente != ""){
        $.get("./cu/cc_cu.php", {op:5,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 option').remove();
                
                $("#listaProyectos")
                .append($("<option></option>")
                .attr("value","")
                .text("Sin proyectos"));
                
                $("#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 agregarCCProyecto(){
    var fecha = moment().format('YYYY-MM-DD HH:mm:ss');
    var cliente = $('#listaClientes').val();
    var proyecto =$('#listaProyectos').val();
    

    if(cliente == ""){
        alert("Seleccione un cliente.");
        return;
    }

    if(proyecto == ""){
        alert("Seleccione un proyecto.");
        return;
    }

    alert("ATENCIÓN: Este Centro de Costos no estará ligado a ningún PRESUPUESTO ó COTIZACIÓN.");

    $.get("./cu/cc_cu.php", {op:6,proyecto : proyecto}, function(respuesta){
        var info = respuesta.split("*");

        if(info[5] == 0){

            var sArray = ["",
            info[1],
            info[2],
            info[3],
            info[4],
            fecha
            ];    

            $.get("./cu/cc_cu.php", {op:2,tabla:'cc', sArray:sArray}, function(respuesta){
                
                if(respuesta > 0){
                    $.get("./cu/cc_cu.php", {op:7,cc:respuesta, id_proyecto:proyecto}, function(respuesta1){
                        if(respuesta1 > 0){
                            alert("Se ha agregado el registro exitosamente.");
                            document.getElementById("ccProyectoForm").reset();
                        }
                    });
                }

                getTablaCC();

            });

     
        }else{
            alert("ERROR: Este Proyecto ya tiene un Centro de Costos asignado.");
        }

    });
}