var base_url = window.location.origin + '/' + window.location.pathname.split ('/') [1] + '/';
$(document).ready(function() {
    //$('.alert').alert();
    var filtrar = $('#filtrarReportes').val();
    $.fn.datepicker.dates['en'] = {
        days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
        daysShort: ["Dom", "Lun", "Mar", "Mier", "Jue", "Vier", "Sab"],
        daysMin: ["D", "L", "Ma", "Mi", "J", "V", "S"],
        months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
        monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
        today: "Today",
        clear: "Clear",
        weekStart: 0
    };

    $.datepicker.setDefaults($.datepicker.regional['en']);
    $(".date-picker").datepicker( {
        isRTL: false,
        format: "dd-mm-yyyy",
        /*yearRange: "0000",*/
        viewMode: "months,days", 
        minViewMode: "months,days",
    });
    $('.date-picker').datepicker('setDate', 'today');

    $.fn.dataTable.ext.errMode = 'none';
    $('#historicoAccesos').on('error.dt', function(e, settings, techNote, message) {
       console.log( 'An error has been reported by DataTables: ', message);
    });
    // $('#historicoAccesos').empty();
    // $('#historicoAccesos').unbind();
       
    $('#modal-loader').modal();
    $('#historicoAccesos').empty();
    $('#historicoAccesos').unbind();

    $.ajax({
        url: base_url+"HAccesos/Administrador/HAccesos/getAccesosPorSemana",
        type:'POST',
        dataType: 'json',
        success:function(response){
            $('#modal-loader').modal('hide');
            console.log("exito");
            toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%"); 
            console.log(response);
            var columns = [
                { "title":"Usuario Logueado" },
                { "title":"Ip de Acceso" },
                { "title":"Fecha Inicio de Sesión" },
                { "title":"Fecha Fin de Sesión" },
            ];      

            var hide = [
                { targets: [0, 1,2,3], visible: true},
            ];
            
            $('#historicoAccesos').DataTable({
                dom: "T<'clear'>Bfrtip",
                responsive: true,
                columnDefs: hide,
                data: response,
                columns: columns,
                ServerSide: true,
                 destroy: true,
                 footer: true,
                 processing: true,
                 buttons: [
                {
                    extend: 'print',
                    footer: true,
                    filename: 'ReporteHistóricoAccesos',
                    /*messageTop: 'Reporte de Ventas',*/
                    title: '',
                    customize: function ( win ) {
                        $(win.document.body)
                        .css( 'font-size', '10pt' )
                        .prepend(
                            '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Histórico - Accesos</div></div>'
                        );

                        $(win.document.body).find( 'table' )
                        .addClass( 'compact' )
                        .css( 'font-size', 'inherit' );
                        $(win.document.body).find( 'table' )
                        .addClass( 'mayus' )
                        .css( 'text-transform', 'uppercase' );
                    }
                },
                {
                    extend: 'pdf',
                    filename: 'ReporteHistóricoAccesos',
                    footer: true,
                    /*messageTop: 'Reporte de Ventas',*/
                    title: '',
                    orientation: 'landscape',
                    pageSize: 'letter',
                    key: { 
                        key: 'e',
                        altKey: false
                    }
                    , content: [{ style: 'fullWidth' }]
                    , styles: { 
                        fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }
                    },
                    exportOptions: {
                        modifier: {
                            pageMargins: [ 0, 0, 0, 0 ],  
                            margin: [ 0, 0, 0, 0 ],  
                            alignment: 'center',
                            footer: true, 
                            page: 'all',    
                        }
                        ,body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                        footer: true, 
                        columns: [ 0, 1, 2, 3]         
                    },
                    body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                    customize: function ( doc ) {
                        console.log(doc.content);
                    },
                },
                {
                    extend: 'excel',
                    filename: 'ReporteHistóricoAccesos',
                    title: 'Reporte Histórico - Accesos',
                    footer: true,
                }
                /* ,'copy', 'csv', 'excel',*/
                ],
                language: {
                    "lengthMenu": "Mostrar _MENU_ registros por pagina",
                    "zeroRecords": "No se encontraron resultados en su busqueda",
                    "searchPlaceholder": "Buscar registros",
                    "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                    "infoEmpty": "No existen registros",
                    "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                    "search": "Buscar:",
                    "paginate": {
                        "first": "Primero",
                        "last": "Último",
                        "next": "Siguiente",
                        "previous": "Anterior"
                    },
                }
            });
            $('#historicoAccesos').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
            $('#scrooll_div').doubleScroll({
                resetOnWindowResize: true
            });
            //Búsqueda con y sin acento... 
            (function(){
                function removeAccents ( data ) {
                    if ( data.normalize ) {
                        return data +' '+ data
                        .normalize('NFD')
                        .replace(/[\u0300-\u036f]/g, '');
                    }
                    return data;
                }
         
                var searchType = jQuery.fn.DataTable.ext.type.search; 
                searchType.string = function ( data ) {
                    return ! data ?
                    '' :
                    typeof data === 'string' ?
                    removeAccents( data ) :
                    data;
                };
         
                searchType.html = function ( data ) {
                    return ! data ?
                    '' :
                    typeof data === 'string' ?
                    removeAccents( data.replace( /<.*?>/g, '' ) ) :
                    data;
                };
            }());
            return false;
        },//end success ajax response
        error:function(){
            console.log("error");
            toastr.error("Ocurrio Algun Error verifica los datos ingresados");
        },
    });//end ajax
    return false;
});   //end on ready function 

$('#filtrarReportes').click(function(){
    $.fn.dataTable.ext.errMode = 'none';
    $('#historicoAccesos').on('error.dt', function(e, settings, techNote, message) {
       console.log( 'An error has been reported by DataTables: ', message);
    });
    $('#historicoAccesos').empty();

    $('#historicoAccesos').unbind();
    var filtrarPor = $('#queryReporte').val();
    var fechainicio = $('#fechainicio').val();
    var fechafin = $("#fechafin").val();
    console.log(filtrarPor);
    console.log(fechainicio);
    console.log(fechafin);
        
    if(fechainicio != '' && fechafin != ''){

        $('#modal-loader').modal();
        $('#historicoAccesos').empty();
        $('#historicoAccesos').unbind();

        $.ajax({
            url: base_url+"HAccesos/Administrador/HAccesos/getAccesos",
            type:'POST',
            dataType: 'json',
            data:{finicio : fechainicio, ffin : fechafin},
            success:function(response){
                $('#modal-loader').modal('hide');
                console.log("exito");
                toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%"); 
                console.log(response);
                var columns = [
                    { "title":"Usuario Logueado" },
                    { "title":"Ip de Acceso" },
                    { "title":"Fecha Inicio de Sesión" },
                    { "title":"Fecha Fin de Sesión" },
                ];      

                var hide = [
                    { targets: [0, 1,2,3], visible: true},
                ];                        
                $('#historicoAccesos').DataTable({
                    dom: "T<'clear'>Bfrtip",
                    responsive: true,
                    columnDefs: hide,
                    data: response,
                    columns: columns,
                    ServerSide: true,
                     destroy: true,
                     footer: true,
                     processing: true,
                     buttons: [
                    {
                        extend: 'print',
                        footer: true,
                        filename: 'ReporteHistóricoAccesos',
                        /*messageTop: 'Reporte de Ventas',*/
                        title: '',
                        customize: function ( win ) {
                            $(win.document.body)
                            .css( 'font-size', '10pt' )
                            .prepend(
                                '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Histórico - Accesos</div></div>'
                            );

                            $(win.document.body).find( 'table' )
                            .addClass( 'compact' )
                            .css( 'font-size', 'inherit' );
                            $(win.document.body).find( 'table' )
                            .addClass( 'mayus' )
                            .css( 'text-transform', 'uppercase' );
                        }
                    },
                    {
                        extend: 'pdf',
                        filename: 'ReporteHistóricoAccesos',
                        footer: true,
                        /*messageTop: 'Reporte de Ventas',*/
                        title: '',
                        orientation: 'landscape',
                        pageSize: 'letter',
                        key: { 
                            key: 'e',
                            altKey: false
                        }
                        , content: [{ style: 'fullWidth' }]
                        , styles: { 
                            fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }
                        },
                        exportOptions: {
                            modifier: {
                                pageMargins: [ 0, 0, 0, 0 ],  
                                margin: [ 0, 0, 0, 0 ],  
                                alignment: 'center',
                                footer: true, 
                                page: 'all',    
                            }
                            ,body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                            footer: true, 
                            columns: [ 0, 1, 2, 3]         
                        },
                        body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                        customize: function ( doc ) {
                            console.log(doc.content);
                        },
                    },
                    {
                        extend: 'excel',
                        filename: 'ReporteHistóricoAccesos',
                        title: 'Reporte Histórico - Accesos',
                        footer: true,
                    }],
                    language: {
                        "lengthMenu": "Mostrar _MENU_ registros por pagina",
                        "zeroRecords": "No se encontraron resultados en su busqueda",
                        "searchPlaceholder": "Buscar registros",
                        "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                        "infoEmpty": "No existen registros",
                        "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                        "search": "Buscar:",
                        "paginate": {
                            "first": "Primero",
                            "last": "Último",
                            "next": "Siguiente",
                            "previous": "Anterior"
                        },
                    }
                });
                $('#historicoAccesos').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
                $('#scrooll_div').doubleScroll({
                    resetOnWindowResize: true
                });
                //Búsqueda con y sin acento... 
                (function(){
                    function removeAccents ( data ) {
                        if ( data.normalize ) {
                            return data +' '+ data
                            .normalize('NFD')
                            .replace(/[\u0300-\u036f]/g, '');
                        }
                        return data;
                    }
                     
                    var searchType = jQuery.fn.DataTable.ext.type.search; 
                    searchType.string = function ( data ) {
                        return ! data ?
                        '' :
                        typeof data === 'string' ?
                        removeAccents( data ) :
                        data;
                    };
                     
                    searchType.html = function ( data ) {
                        return ! data ?
                        '' :
                        typeof data === 'string' ?
                        removeAccents( data.replace( /<.*?>/g, '' ) ) :
                        data;
                    };
                }());
                    return false;
            },//end success ajax response
            error:function(){
                console.log("error");
                toastr.error("Ocurrio Algun Error verifica los datos ingresados");
            },
        });//end ajax
        return false;
    }//end Fechainicio y fechafin vacias
    else {
        toastr.error("Ocurrio Algun Error Falta alguna Fecha");
        $('#historicoAccesos').empty();
        $('#historicoAccesos').unbind();
        return false;
    }
});//end click