
//========================== agregar persona 
$(function(){
    $('#nueva-persona').on('click',function(){
        $('#form_add_pers')[0].reset();
        $('#proceso').val('Registro');  
        $('#tituloFormPersona').html("Registro de Persona");    
        $('#form_add_pers').attr('onsubmit','return agregaPers()');      
        $('#agrega-persona').modal({
            show:true,
            backdrop:'static'
        });
    });
});
//========================== registro de persona
function agregaPers(){
    var table = $('#personasLista').DataTable();
    var archivos = new FormData($("#form_add_pers")[0]);
    var url = 'php/personaAgregar.php';
    $('#form_add_pers :submit').html('<i class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></i>');
        $.ajax({
            type:'POST',
            url:url,
            data:archivos,
            cache: false,
            contentType: false,
            processData: false,
            success: function(registro){ 
                if(registro == 1){         
                    swal({
                        title: "CORRECTO!",
                        text: "Persona registrada con éxito",
                        type: "success",
                        confirmButtonText: "Aceptar"
                        },
                        function(){
                            $("#form_add_pers :submit").attr("disabled", false)
                            $("#form_add_pers :submit").html('Agregar');
                            $('#form_add_pers')[0].reset();
                            $("#agrega-persona").modal('hide');
                            table.ajax.reload();
                        })
                }else if(registro == 2){
                    swal({
                        title: "UPS!",
                        text: "Ocurrió un error con el nombre de persona, probablemente ya exista una con los mismos datos. Por favor, verificalos",
                        type: "error",
                        confirmButtonText: "Aceptar"
                        },
                        function(){
                            $("#form_add_pers :submit").attr("disabled", false)
                            $("#form_add_pers :submit").html('Agregar');
                        })
                }
            }, error: function(registro){
                swal({
                    title: "UPS!",
                    text: "Ocurrió un error interno. Por favor, vuelve a intentarlo",
                    type: "error",
                    confirmButtonText: "Aceptar"
                    },
                    function(){
                        $("#form_add_pers :submit").attr("disabled", false)
                        $("#form_add_pers :submit").html('Agregar');
                    })
            }
        });
    return false;
}

function editarPers(id){
$('#form_add_pers')[0].reset();
$('#tituloFormPersona').html("Modificación de Persona");
var url = 'php/personaEditar.php';
    $.ajax({
    type:'POST',
    url:url,
    data:'id='+id, // envia a PHP ej.: $_POST['id'];
    success: function(valores){
            var datos = eval(valores);
            $('#proceso').val('Edicion');
            $('#idpers').val(id);
            $('#nom_pers').val(datos[0]);
            $('#dir_pers').val(datos[2]);
            $('#ciudad_pers').val(datos[5]).trigger('change');
            $('#telefono').val(datos[7]);
            $('#sx_pers').val(datos[6]).trigger('change');

            $('#apellido_pers').val(datos[1]);
            $('#coment_direccion').val(datos[3]);
            $('#barrio').val(datos[4]);
            $('#documento').val(datos[8]);
            $('#btn_submit').html("Guardar");

            $('#form_add_pers').attr('onsubmit','return editaPers()');

            $('#foto_mod').html("<img src=../images/personas/"+datos[6]+" style='max-width: 50%'>" );
            $('#agrega-persona').modal({
                show:true,
                backdrop:'static'
            });
        return false;
    }
});
return false;
}

function editaPers(){
    $('#form_add_pers :submit').html('<i class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></i>');
    $("#form_add_pers :submit").attr("disabled", true)
    var table = $('#personasLista').DataTable();
    var table_al = $('#alumnosLista').DataTable();
    var archivos = new FormData($("#form_add_pers")[0]);
    var url = 'php/personaAgregar.php';
    $.ajax({
        type:'POST',
        url:url,
        data: archivos,
        cache: false,
        contentType: false,
        processData: false,
        success: function(registro){
            if(registro == 1){         
                swal({
                    title: "CORRECTO!",
                    text: "Persona modificada con éxito",
                    type: "success",
                    confirmButtonText: "Aceptar"
                    },
                    function(){
                        $("#form_add_pers :submit").attr("disabled", false)
                        $("#form_add_pers :submit").html('Guardar');
                        $('#form_add_pers')[0].reset();
                        $("#agrega-persona").modal('hide');
                        table.ajax.reload();
                        table_al.ajax.reload();
                    })
            }else if(registro == 2){
                swal("UPS!", 'Ocurrió un error con el nombre de persona, probablemente ya exista una con los mismos datos. Por favor, verificalos.', "error");
            }
        }, error: function(registro){
            swal("UPS!", 'Ocurrió un error interno. Por favor, vuelve a intentarlo.', "error");
        }
    });
    return false;
}

function eliminarPers(id){
    var table = $('#personasLista').DataTable();
//Warning Message
    swal({   
        title: "Estás seguro?",   
        text: "Una vez eliminado, no podrá reecuperarse!",   
        type: "warning",   
        showCancelButton: true,   
        confirmButtonColor: "#DD6B55",   
        confirmButtonText: "Aceptar",   
        closeOnConfirm: false 
    }, function(){   
        $.ajax({
            type:'POST',
            url:'php/personaElimina.php',
            data:"id="+id,
            success: function(eliminar){
                if(eliminar == 1){         
                    swal({
                        title: "CORRECTO!",
                        text: "Persona eliminada con éxito",
                        type: "success",
                        confirmButtonText: "Aceptar"
                        },
                        function(){
                            table.ajax.reload();
                        })
                }else if(eliminar == 2){
                    swal("UPS!", 'No se ha podido eliminar, esta persona ya tiene movimientos relacionados en la base de datos.', "error");
                }
            },error: function(eliminar){
                swal("Eliminado!", "Ocurrió un error interno, por favor intenta nuevamente", "error");
            }
        });
    });
  return false;
}


(function($) {
'use strict';
var tablaPersonas = {
initialize: function() {
    this
        .build();
},
build: function() {
    
    moment.locale("es-do");
    
    // Setup - add a text input to each footer cell
    
    $('#personasLista thead th').each( function () {
        var title = $(this).text();
        $(this).html( '<input type="text" placeholder="Buscar '+title+'" />' );
    } );
    
    var table = $('#personasLista').DataTable( {
        "oLanguage": {
          "sLoadingRecords": "Sin alumnos registrados"
        },
        orderCellsTop: false,
        fixedHeader: true,
        "language": {
            "url": "//cdn.datatables.net/plug-ins/1.10.20/i18n/Spanish.json"
        },
        "ajax": "php/personasPaginar.php",
        
        "aoColumns":[
            {"data":"Persona_id"},          //0
            {   data: null,
                render: function ( data, type, row ) {
                    return data.Nombre + ' ' + data.Apellido;
                }
            },                              //1
            {"data":"Direccion"},             //2
            {"data":"NroDocumento"},             //3
            {"data":"NroTelefono"},             //4
        ],
        "columnDefs": [
            { "orderable": true, "targets": 0 },
            { "orderable": true, "targets": 1 },
            { "orderable": true, "targets": 2 },
            { "orderable": true, "targets": 3 },
            { "orderable": false, "targets": 4 },
            { "orderable": false, "targets": 5 },
            { "title": "#", "targets": 0 },
            { "title": "Nombre", "targets": 1 },
            { "title": "Dirección", "targets": 2 },
            { "title": "Documento", "targets": 3 },
            { "title": "Teléfono", "targets": 4 },
            { "title": "Acciones", "targets": 5 },

            { "targets": [ 3 ], "render": $.fn.dataTable.render.number( '.', '.', 0 ) },
            { "targets": [ 5 ], "data":"Persona_id",  "render": function(data,type,full,meta) { return '<a class="btn btn-xs btn-info" href=javascript:editarPers('+data+')><i class="fa fa-pencil"></i></a> <a class="btn btn-xs btn-danger" href=javascript:eliminarPers('+data+')><i class="fa fa-times"></i></a>'; }}
        ],
        "displayLength": 10,
        
    });
    
    // Apply the search
    table.columns().every( function () {
        var that = this;

        $( '#personasLista input', this.footer() ).on( 'keyup change', function () {
            if ( that.search() !== this.value ) {
                that
                    .search( this.value )
                    .draw();
            }
        } );
    } );

    window.dt = this.datatable;
    return this;
}
};
$(function() {
    tablaPersonas.initialize();
});
}).apply(this, [jQuery]);