$(document).ready(function () {
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    view_table();

    $("#btn_guardar").click(function () {

        var data = $('#form_rol').serialize();

        $.ajax({
            type: 'POST',
            url: '/save_medicos',
            data: data,
            beforeSend: function () {
                $('#div_mensajes').removeClass('d-none');
                $('#div_mensajes').addClass('text-center');
                $('#mensajes').html('<img src="vendor/adminlte/dist/img/load.gif" width="10%" height="10%" />');
            },
            success: function (data) {
                var d = JSON.parse(data);
                $('#div_mensajes').removeClass('d-none text-center')
                if (d['msg'] == 'error') {
                    toastr.error(d['data']);
                } else {
                    toastr.success(d['data']);
                    view_table();
                    clear_data();
                }
            },
            error: function (xhr) { // if error occured
                toastr.error('Error: '.xhr.statusText + xhr.responseText);
            },
            complete: function () {
                $('#div_mensajes').addClass('d-none');
            },
            dataType: 'html'
        });
    });
    $("#btn_cancelar").click(function () {

       clear_data()
    });


    function view_table() {
        var data = $('#form_rol').serialize();
        $.ajax({
            type: 'POST',
            url: '/view_medico',
            data: data,
            beforeSend: function () {
                $('#div_mensajes').removeClass('d-none');
                $('#div_mensajes').addClass('text-center');
                $('#mensajes').html('<img src="vendor/adminlte/dist/img/load.gif" width="10%" height="10%" />');
            },
            success: function (data) {
                $('#div_table').html(data);
                $('#tbl_roles').DataTable({
                    "paging": true,
                    "lengthChange": false,
                    "ordering": true,
                    "info": true,
                    "autoWidth": false,
                    "drawCallback": acciones,
                });
                acciones();
            },
            error: function (xhr) { // if error occured
                toastr.error('Error: '.xhr.statusText + xhr.responseText);
            },
            complete: function () {
                $('#div_mensajes').addClass('d-none');
            },
            dataType: 'html'
        });
    }

    function clear_data() {
        $('#txt_nombre').val('');
        $('#txt_edad').val('');
        $('#txt_direccion').val('');
        $('#txt_telefono').val('');
        $('#txt_cedula').val('');
        $('#hide_id').val('');
        $('#custom-tabs-one-home-tab').click();
        $("#chk_estado").prop('checked', 'checked');
        acciones();
    }

    function acciones() {
        $(".btn_edit").unbind().click(function () {
            var data = $(this).data('id');
            $.ajax({
                type: 'POST',
                url: '/edit_medicos',
                data: {
                    "_token": $('meta[name="csrf-token"]').attr('content'),
                    "id": data
                },
                beforeSend: function () {
                    $('#div_mensajes').removeClass('d-none');
                    $('#div_mensajes').addClass('text-center');
                    $('#mensajes').html('<img src="vendor/adminlte/dist/img/load.gif" width="10%" height="10%" />');
                },
                success: function (d) {
                    if (d['msg'] == 'error') {
                        toastr.error(d['data']);
                    } else {
                        toastr.success(d['info']);
                        clear_data();
                        $('#txt_nombre').val(d['data']['nombre']);
                        $('#txt_edad').val(d['data']['edad']);
                        $('#txt_telefono').val(d['data']['telefono']);
                        $('#txt_direccion').val(d['data']['direccion']);
                        $('#txt_cedula').val(d['data']['cedula']);
                        if (d['data']['estado'] == 1)
                            $("#chk_estado").prop('checked', 'checked');
                        else
                            $("#chk_estado").prop('checked', '');
                        $('#hide_id').val(d['data']['id']);

                    }
                },
                error: function (xhr) {
                    toastr.error('Error: '.xhr.statusText + xhr.responseText);
                },
                complete: function () {
                    $('#div_mensajes').addClass('d-none');
                },
            });
        });

        $(".btn_delete").unbind().click(function () {
            var data = $(this).data('id');
            var name = $(this).data('name');
            $.confirm({
                title: 'Eliminar Rol!',
                content: 'Desea realizar la eliminación del rol ' + name + '?',
                buttons: {
                    confirm: function () {
                        $.ajax({
                            type: 'POST',
                            url: '/delete_medicos',
                            data: {
                                "_token": $('meta[name="csrf-token"]').attr('content'),
                                "id": data
                            },
                            beforeSend: function () {
                                $('#div_mensajes').removeClass('d-none');
                                $('#div_mensajes').addClass('text-center');
                                $('#mensajes').html('<img src="vendor/adminlte/dist/img/load.gif" width="10%" height="10%" />');
                            },
                            success: function (d) {
                                if (d['msg'] == 'error') {
                                    toastr.error(d['data']);
                                } else {
                                    toastr.success(d['data']);
                                    view_table();
                                    clear_data();
                                }
                            },
                            error: function (xhr) {
                                toastr.error('Error: '.xhr.statusText + xhr.responseText);
                            },
                            complete: function () {
                                $('#div_mensajes').addClass('d-none');
                            },
                        });
                    },
                    cancel: function () {
                        $.alert('Se ha cancelado la eliminación!');
                    }
                }
            });
        });
    }


});

