
$('#informes_voluntario_tipo_filtro').on('change', function() {
    // Does some stuff and logs the event to the console
    let valor = $('#informes_voluntario_tipo_filtro').val();
    if (valor == "filtrado_fecha"){
        $('.informes_voluntarios_filtro').show();
    }
    if (valor == "todos" || valor == "en_curso" || valor == "anterior"){
        $('.informes_voluntarios_filtro').hide();
    }
});

$('#informes_horas_globales_tipo_filtro').on('change', function() {
    // Does some stuff and logs the event to the console
    let valor = $('#informes_horas_globales_tipo_filtro').val();
    if (valor == "filtrado_fecha"){
        $('.informes_horas_globales_filtro').show();
    }
    if (valor == "todos" || valor == "en_curso" || valor == "anterior"){
        $('.informes_horas_globales_filtro').hide();
    }
});

function informes_voluntarios_get_informe(){

    let valor_filtro = $('#informes_voluntario_tipo_filtro').val();
    let valor_vol = $('#informes_voluntario_select_voluntario').val();
    let fecha_inicio = $('#informes_voluntarios_fecha_inicio').val();
    let fecha_fin = $('#informes_voluntarios_fecha_fin').val();

    let ano_en_curso = get_rango_fecha("ano_en_curso");
    let ano_anterior = get_rango_fecha("ano_anterior");

    
    if (valor_filtro == "vacio"){
        alerta("¡Aviso!","Tienes que seleccionar un tipo de filtro");
        return false;
    }

    if (valor_vol == "vacio"){
        alerta("¡Aviso!","Tienes que seleccionar un voluntario");
        return false;
    }

    if (valor_filtro == "filtrado_fecha"){
        if (fecha_inicio.length == 0){
            alerta("¡Aviso!","No puedes dejar la fecha de inicio sin rellenar");
            return true;
        }
        if (fecha_inicio.length > 0 && fecha_fin.length == 0){
            alerta("¡Aviso!","No puedes dejar la fecha de fin sin rellenar");
            return true;
        }
    }

    if (valor_filtro == "en_curso"){
        fecha_inicio = ano_en_curso.inicio;
        fecha_fin = ano_en_curso.fin;
    }

    if (valor_filtro == "anterior"){
        fecha_inicio = ano_anterior.inicio;
        fecha_fin = ano_anterior.fin;
    }

    $('#informes_voluntarios_listado_tabla').DataTable().clear();
	$('#informes_voluntarios_listado_tabla').DataTable().destroy();
    $('#informes_voluntarios_servicios_btn_pdf').attr("href", "#");

    var ajax_data = {
        'data' : {
            "id_voluntario" : valor_vol,
            "tipo_filtro" : valor_filtro,
            "fecha_inicio" : fecha_inicio,
            "fecha_fin" : fecha_fin
        }
    }

    var btnBuscar = $("#informes_voluntarios_servicios_btn_buscar");

    $.ajax({
        type: "POST",
        url: apiPanel+"/api/v1/informes/voluntarios/servicios",
        data: ajax_data,
        headers: {"Authorization":"Bearer "+TokenRequest+""},
        dataType: "json",

        beforeSend: function(){
            
            btnBuscar.html('<i class="fas fa-spinner fa-pulse"></i> Buscando...'); //Para button <button></button>
            btnBuscar.attr("disabled","disabled");

        },
        complete:function(data){
           
        },
        success: function(data){
            if (data.error == false){
                
                $("#informes_voluntarios_servicios_caja_resumen").show();
                $("#informes_voluntarios_servicios_btn_pdf").show();
                
                notificacionPanelSuccess("Éxito",data.mensaje);    
                $("#informes_voluntarios_servicios_tiempo_total").html(data.tiempo_total); 
                $("#informes_voluntarios_servicios_cantidad_servicios").html(data.servicios_cantidad);       
                
                
                var longitud_array = data.servicios.length;
                for (var i = 0; i < longitud_array; i++){
                    $("#informes_voluntarios_listado").append('<tr>'
                    +'<td><span>'+data.servicios[i].num_servicio+'</span></td>'
                    +'<td><span>'+format_fecha_es(data.servicios[i].fecha)+'</span></td>'
                    +'<td><a href="main.php?pag=editar_servicio&id_servicio='+data.servicios[i].id+'">'+data.servicios[i].titulo+'</a></td>'
                    +'<td>'+data.servicios[i].tipo+'</td>'
                    +'<td>'+data.servicios[i].categoria+'</td>'
                    +'<td>'+data.servicios[i].tiempo+'</td>'
                    +'<td><a href="main.php?pag=editar_servicio&id_servicio='+data.servicios[i].id+'" target="_BLANK"><button type="button" class="pcam-btn-gris float-right" style="margin-right:0.5em;"><i class="fas fa-eye"></i></button></a></td>'
                    +'</tr>');
                }

                $('#informes_voluntarios_servicios_btn_pdf').attr("href", "pdf/informes/voluntarios/servicios.php?id_voluntario="+valor_vol+"&tipo_filtro="+valor_filtro+"&fecha_inicio="+fecha_inicio+"&fecha_fin="+fecha_fin+"");

            }else{
                notificacionPanelError("Error!",data.mensaje);
                $("#informes_voluntarios_servicios_caja_resumen").hide();
                $("#informes_voluntarios_servicios_btn_pdf").hide();
                
            }

            $('#informes_voluntarios_listado_tabla').DataTable(
                {
                    "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "Todos"]],
                    "order": [[ 1, "desc" ]],
                    "pageLength": -1,
                    "language": {
                        "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"
                    },
                    "columnDefs": [{
                        type: 'ordena-num-servicios',
                        targets: [0]
                    },
                    {
                        type: 'extract-date',
                        targets: [1]
                    }
                    ]
                }
            );  

            
            btnBuscar.html('<i class="fas fa-search"></i>');
            btnBuscar.prop("disabled",false);

        },
        error: function(error){
            if (error.status == 401){
                window.location="../index.php?msg=token_caducado";
            }else{
                notificacionPanelError("Error","Ha habido un error con código "+error.status+". Por favor contacte con el administrador en soporte@pcamgestion.com");
            }
            btnBuscar.html('<i class="fas fa-search"></i>');
            btnBuscar.prop("disabled",false);
        }
    });

}


function informes_horas_globales_get_informe(){

    let valor_filtro = $('#informes_horas_globales_tipo_filtro').val();
    let fecha_inicio = $('#informes_horas_globales_fecha_inicio').val();
    let fecha_fin = $('#informes_horas_globales_fecha_fin').val();

    let ano_en_curso = get_rango_fecha("ano_en_curso");
    let ano_anterior = get_rango_fecha("ano_anterior");

    
    if (valor_filtro == "vacio"){
        alerta("¡Aviso!","Tienes que seleccionar un tipo de filtro");
        return false;
    }

    if (valor_filtro == "filtrado_fecha"){
        if (fecha_inicio.length == 0){
            alerta("¡Aviso!","No puedes dejar la fecha de inicio sin rellenar");
            return true;
        }
        if (fecha_inicio.length > 0 && fecha_fin.length == 0){
            alerta("¡Aviso!","No puedes dejar la fecha de fin sin rellenar");
            return true;
        }
    }

    if (valor_filtro == "en_curso"){
        fecha_inicio = ano_en_curso.inicio;
        fecha_fin = ano_en_curso.fin;
    }
    
    if (valor_filtro == "anterior"){
        fecha_inicio = ano_anterior.inicio;
        fecha_fin = ano_anterior.fin;
    }

    $('#informes_horas_globales_listado_tabla').DataTable().clear();
	$('#informes_horas_globales_listado_tabla').DataTable().destroy();
    $('#informes_horas_globales_btn_pdf').attr("href", "#");

    var ajax_data = {
        'data' : {
            "tipo_filtro" : valor_filtro,
            "fecha_inicio" : fecha_inicio,
            "fecha_fin" : fecha_fin
        }
    }

    var btnBuscar = $("#informes_horas_globales_btn_buscar");

    $.ajax({
        type: "POST",
        url: apiPanel+"/api/v1/informes/voluntarios/resumen_global",
        data: ajax_data,
        headers: {"Authorization":"Bearer "+TokenRequest+""},
        dataType: "json",

        beforeSend: function(){
            
            btnBuscar.html('<i class="fas fa-spinner fa-pulse"></i> Buscando...'); //Para button <button></button>
            btnBuscar.attr("disabled","disabled");

        },
        complete:function(data){
           
        },
        success: function(data){
            if (data.error == false){
                
                notificacionPanelSuccess("Éxito",data.mensaje);         
                
                var longitud_array = data.listado.length;
                for (var i = 0; i < longitud_array; i++){

                    let ult_ser_tiempo = "<td><span></span>Sin servicios</td>";
                    let estado = "Alta";
                    let estilo = "";

                    if (data.listado[i].estado == "Baja"){
                        estilo = "color:red;";
                        estado = "Baja";
                    }

                    if (data.listado[i].ult_serv.fecha !== undefined){
                        let tiempo_ultimo_servicio = "Error de cálculo, la fecha es posterior a la actual.";
                        if (data.listado[i].ult_serv.tiempo !== undefined){
                            tiempo_ultimo_servicio = data.listado[i].ult_serv.tiempo;
                        }
                        ult_ser_tiempo = '<td><span>'+format_fecha_es(data.listado[i].ult_serv.fecha)+'</span> - <a href="'+urlPanel+'/system/main.php?pag=editar_servicio&id_servicio='+data.listado[i].ult_serv.id+'">'+tiempo_ultimo_servicio+'</a></td>';
                    }

                    $("#informes_horas_globales_listado").append('<tr>'
                    +'<th scope="col"><a href="main.php?pag=editar_voluntario&id_voluntario='+data.listado[i].id_voluntario+'" target="_BLANK" style="'+estilo+'">'+data.listado[i].nombre_completo+'</a></th>'
                    +'<th scope="col">'+estado+'</th>'
                    +'<th scope="col">'+data.listado[i].tiempo_invertido+'</th>'
                    +'<th scope="col">'+data.listado[i].servicios_realizados+'</th>'
                    +ult_ser_tiempo
                    +'</tr>');
                }

                $("#informes_horas_globales_btn_pdf").show();
                $('#informes_horas_globales_btn_pdf').attr("href", "pdf/informes/voluntarios/resumen_global_voluntarios.php?tipo_filtro="+valor_filtro+"&fecha_inicio="+fecha_inicio+"&fecha_fin="+fecha_fin+"");

            }else{
                notificacionPanelError("Error!",data.mensaje);
                $("#informes_horas_globales_btn_pdf").hide();
                
            }

            $('#informes_horas_globales_listado_tabla').DataTable(
                {
                    "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "Todos"]],
                    "pageLength": -1,
                    "order": [[ 2, "desc" ]],
                    "language": {
                        "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"
                    },
                    "columnDefs": [{
                        type: 'extract-date',
                        targets: [3]
                        }
                    ]
                }
            );  

            
            btnBuscar.html('<i class="fas fa-search"></i>');
            btnBuscar.prop("disabled",false);

        },
        error: function(error){
            if (error.status == 401){
                window.location="../index.php?msg=token_caducado";
            }else{
                notificacionPanelError("Error","Ha habido un error con código "+error.status+". Por favor contacte con el administrador en soporte@pcamgestion.com");
            }
            btnBuscar.html('<i class="fas fa-search"></i>');
            btnBuscar.prop("disabled",false);
        }
    });

}