//========================== agregar alumno desde funcionario
$(function(){
    $('#nuevo-funcionario').on('click',function(){
        $('#form_add_funcionario')[0].reset();
        $("#int_persona").removeClass("d-none");
        $("#int_persona_exist").addClass("d-none");
        $("#email").attr("readonly", false);
        $("#int_persona").attr("required", true);
        $("#int_persona_exist").attr("required", false);
        $('#proceso').val('Registro');  
        $('#tituloFormFuncionario').html("Agregar Funcionario");     
        $('#agrega-funcionario').modal({
            show:true,
            backdrop:'static'
        });
    });
});

//========================== registro de funcionario
    $.validator.setDefaults({
        submitHandler: function() {
            var table = $('#funcionariosLista').DataTable();
            $('#form_add_funcionario :submit').html('<i class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></i>');
            $('#form_add_funcionario :button').attr('disabled', true);
            var url = 'php/funcionarioAgregar.php';
            $.ajax({
                type:'POST',
                url:url,
                data:$('#form_add_funcionario').serialize(),
                success: function(registro){
                    if(registro == 1){         
                        swal({
                            title: "CORRECTO!",
                            text: "Funcionario registrado con éxito",
                            type: "success",
                            confirmButtonText: "Aceptar",
                            closeOnConfirm: true 
                            },
                            function(){
                                $("#form_add_funcionario :submit").attr("disabled", false)
                                $("#form_add_funcionario :submit").html('Agregar');
                                $('#form_add_funcionario')[0].reset();
                                $("#agrega-funcionario").modal('hide');
                                table.ajax.reload();
                            })
                    }else if(registro == 2){
                        swal({
                            title: "UPS!",
                            text: "Ocurrió un error el registro del funcionario, probablemente ya exista uno con los mismos datos. Por favor, verificalos",
                            type: "error",
                            confirmButtonText: "Aceptar",
                            closeOnConfirm: true 
                            },
                            function(){
                                $("#form_add_funcionario :submit").attr("disabled", false)
                                $("#form_add_funcionario :submit").html('Agregar');
                            })
                    }
                }, error: function(registro){
                    swal({
                        title: "UPS!",
                        text: "Ocurrió un error interno. Por favor, vuelve a intentarlo",
                        type: "error",
                        confirmButtonText: "Aceptar",
                        closeOnConfirm: true 
                        },
                        function(){
                            $("#form_add_alumpers :submit").attr("disabled", false)
                            $("#form_add_alumpers :submit").html('Agregar');
                        })
                }
            });
            return false;
        }
    });

	$().ready(function() {
        $("#form_add_funcionario").validate({
            rules: {
                int_persona: {
                    required: true
                },
                antiguedad: {
                    required: true
                },
                email: {
                    required: true,
                    email: true
                },
                pass: {
                    required: true,
                    minlength: 5
                },
                pass_2: {
                    required: true,
                    minlength: 5,
                    equalTo: "#pass"
                },
                rol: {
                    required: true,
                }
            },
            messages: {
                int_persona: {
                    required: "Ingresa la contraseña para el usuario",
                    minlength: "La contraseña debe tener al ménos 5 caracteres"
                },
                antiguedad: {
                    required: "Ingresa la antiguedad del usuario"
                },
                email: "Ingresa un email válido",
                pass: {
                    required: "Ingresa la contraseña para el usuario",
                    minlength: "La contraseña debe tener al ménos 5 caracteres"
                },
                pass_2: {
                    required: "Ingresa de nuevo la contraseña para el usuario",
                    minlength: "La contraseña debe tener al ménos 5 caracteres",
                    equalTo: "Las contraseñas no coinciden"
                },
                rol: {
                    required: "Selecciona el Rol del usuario",
                },
            }
        });
    });
//========================== FIN registro de funcionario

function editarFunc(id){
$('#form_add_funcionario')[0].reset();
$("#int_persona").addClass("d-none");
$("#email").attr("readonly", true);
$("#int_persona_exist").removeClass("d-none");
$("#int_persona").attr("required", true);
$("#int_persona_exist").attr("required", false);
$('#tituloFormFuncionario').html("Modificación de Funcionario");
var url = 'php/funcionarioEditar.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');
            $('#idfunc').val(id);
            $('#int_persona_exist').val(datos[0]).trigger('change');
            $('#antiguedad').val(datos[1]);
            $('#email').val(datos[2]);
            $('#pass_old').val(datos[3]);
            $('#rol').val(datos[4]).trigger('change');

            $('#btn_submit').html("Guardar");

            $('#agrega-funcionario').modal({
                show:true,
                backdrop:'static'
            });
        return false;
    }
});
return false;
}

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

function eliminarFunc(id){
    var table = $('#funcionariosLista').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/funcionarioElimina.php',
            data:"id="+id,
            success: function(eliminar){
                if(eliminar == 1){         
                    swal({
                        title: "CORRECTO!",
                        text: "Funcionario eliminado con éxito",
                        type: "success",
                        confirmButtonText: "Aceptar"
                        },
                        function(){
                            table.ajax.reload();
                        })
                }else if(eliminar == 2){
                    swal("UPS!", 'No se ha podido eliminar, este funcionario tiene movimientos relacionados al mismo.', "error");
                }else if(eliminar == 3){
                    swal("ERROR!", 'No puedes eliminar tu propia cuenta.', "error");
                }
            },error: function(eliminar){
                swal("UPS!", "Ocurrió un error interno, por favor intenta nuevamente", "error");
            }
        });
    });
  return false;
}


(function($) {
'use strict';
var tablaAlumnos = {
initialize: function() {
    this
        .build();
},
build: function() {
    
    moment.updateLocale('en', {
        months : [
            "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
            "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"
        ]
    });
    
    // Setup - add a text input to each footer cell
    
    $('#funcionariosLista thead th').each( function () {
        var title = $(this).text();
        $(this).html( '<input type="text" placeholder="Buscar '+title+'" />' );
    } );
    
    var table = $('#funcionariosLista').DataTable( {
        orderCellsTop: false,
        fixedHeader: true,
        "language": {
            "url": "//cdn.datatables.net/plug-ins/1.10.20/i18n/Spanish.json"
        },
        "ajax": "php/funcionariosPaginar.php",
        
        "aoColumns":[
            {"data":"Funcionario_id"},          //0
            {   data: null,
                render: function ( data, type, row ) {
                    return data.Nombre + ' ' + data.Apellido;
                }
            },                              //1
            {"data":"Direccion"},             //2
            {"data":"Antiguedad"},             //3
            {"data":"strEmail"},             //4
        ],
        "columnDefs": [
            { "orderable": true, "targets": 0 },
            { "orderable": false, "targets": 1 },
            { "orderable": true, "targets": 2 },
            { "orderable": true, "targets": 3 },
            { "orderable": true, "targets": 4 },
            { "orderable": true, "targets": 5 },
            { "title": "#", "targets": 0 },
            { "title": "Nombre", "targets": 1 },
            { "title": "Dirección", "targets": 2 },
            { "title": "Antiguedad", "targets": 3 },
            { "title": "Correo", "targets": 4 },
            { "title": "Acción", "targets": 5 },
            
            { "targets": [ 5 ], "data":"Persona_id",  "render": function(data,type,full,meta) { return '<a class="btn btn-xs btn-info" href=javascript:editarFunc('+data+')><i class="fa fa-pencil"></i></a> <a class="btn btn-xs btn-danger" href=javascript:eliminarFunc('+data+')><i class="fa fa-times"></i></a>'; }}
        
        ],
        "displayLength": 30,
        
    });
    
    // Apply the search
    table.columns().every( function () {
        var that = this;

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

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

function matricularAlumno(id){
    var alumno = $("#idalumnoMatr").val();
    var url = 'php/alumnoVerificarMatricula.php';
    $.ajax({
        type:'POST',
        url:url,
        data: "id="+id,
        success: function(registro){
            var datos = eval(registro);
            if(datos[0] == 1){         //si ya está matriculado
                swal({   
                    title: "ATENCIÓN",   
                    text: "Este alumno se encuentra matriculado",   
                    type: "warning",   
                    showCancelButton: true,   
                    confirmButtonColor: "#DD6B55",   
                    confirmButtonText: "Ver Informe",   
                    cancelButtonText: "Cerrar",   
                    closeOnConfirm: true,   
                    closeOnCancel:true 
                }, function(isConfirm){   
                    if (isConfirm) {     
                        window.open("informeMatricula.php?id="+datos[1]);
                    }
                });
            }else if(datos[0] == 2){
                $("#idalumnoMatr").val(id)
                $('#matricular-alumno').modal({
                    show:true,
                    backdrop:'static'
                });
            }
        }, error: function(registro){
            swal("UPS!", "Ocurrió un error interno, vuelve a intentarlo por favor", "error");
        }
    });
    return false;
}

function formaPago(id){
    if(id == 'cheque'){
        $("#nombre_pago_2").html("Banco")
        $("#numero_pago_2").html("Número de cheque")
        $("#monto_pago_2").html("Monto de Cheque")
        $("#box_banco").removeClass("d-none")
        $("#nombre_banco").attr("required", true)
        $("#box_cheque").removeClass("d-none")
        $("#num_cheque").attr("required", true)
        $("#box_monto_cheque").removeClass("d-none")
        $("#monto_cheque").attr("required", true)
    }else if(id == 'transfer'){
        $("#nombre_pago_2").html("Banco")
        $("#numero_pago_2").html("Número de transferencia")
        $("#monto_pago_2").html("Monto de Transferencia")
        $("#box_banco").removeClass("d-none")
        $("#nombre_banco").attr("required", true)
        $("#box_cheque").removeClass("d-none")
        $("#num_cheque").attr("required", true)
        $("#box_monto_cheque").removeClass("d-none")
        $("#monto_cheque").attr("required", true)
    }else{
        $("#nombre_pago_2").html("")
        $("#numero_pago_2").html("")
        $("#monto_pago_2").html("")
        $("#box_banco").addClass("d-none")
        $("#nombre_banco").attr("required", false)
        $("#box_cheque").addClass("d-none")
        $("#num_cheque").attr("required", false)
        $("#box_monto_cheque").addClass("d-none")
        $("#monto_cheque").attr("required", false)
    }
}

function matriculaAlumno(){
    var alumno = $("#idalumnoMatr").val();
    var url = 'php/alumnoMatricularModal.php';
    $.ajax({
        type:'POST',
        url:url,
        data: $( "#form_matr_alum" ).serialize(),
        success: function(registro){
            if(registro == 1){ 
                swal({
                    title: "CORRECTO!",
                    text: "Alumno matriculado con éxito",
                    type: "success",
                    confirmButtonText: "Aceptar"
                    },
                    function(){
                        window.open("informeMatricula.php?id="+alumno)
                    })
            }
        }, error: function(registro){
            swal({
                title: "UPS!",
                text: "Ocurrió un error interno. Por favor, vuelve a intentarlo",
                type: "error",
                confirmButtonText: "Aceptar"
                },
                function(){
                    $("#form_add_alumpers :submit").attr("disabled", false)
                    $("#form_add_alumpers :submit").html('Guardar');
                })
        }
    });
    return false;
}