var tabla;

//Función que se ejecuta al inicio
function init() {
    mostrarform(false);
    listar();

    $("#formulario").on("submit", function (e) {
        guardaryeditar(e);
    });

    // Si tenemos selectpicker, refrescarlo
    if ($(".selectpicker").length) {
        $(".selectpicker").selectpicker('refresh');
    }
}

//Función limpiar
function limpiar() {
    $("#idprocedimiento").val("");
    $("#codigo").val("");
    $("#nombre").val("");
    $("#descripcion").val("");
    $("#categoria").val("General");
    if ($(".selectpicker").length) {
        $(".selectpicker").selectpicker('refresh');
    }
    $("#precio").val("");
}

//Función mostrar formulario
function mostrarform(flag) {
    limpiar();
    if (flag) {
        $("#listadoregistros").hide();
        $("#formularioregistros").show();
        $("#btnGuardar").prop("disabled", false);
        $("#btnagregar").hide();
    }
    else {
        $("#listadoregistros").show();
        $("#formularioregistros").hide();
        $("#btnagregar").show();
    }
}

//Función cancelarform
function cancelarform() {
    limpiar();
    mostrarform(false);
}

//Función Listar
function listar() {
    tabla = $('#tbllistado').dataTable(
        {
            "aProcessing": true,//Activamos el procesamiento del datatables
            "aServerSide": true,//Paginación y filtrado realizados por el servidor
            dom: 'Bfrtip',//Definimos los elementos del control de tabla
            buttons: [
                'copyHtml5',
                'excelHtml5',
                'csvHtml5',
                'pdf'
            ],
            "ajax":
            {
                url: '../ajax/odont_procedimiento.php?op=listar',
                type: "get",
                dataType: "json",
                error: function (e) {
                    console.log(e.responseText);
                }
            },
            "bDestroy": true,
            "iDisplayLength": 10,//Paginación
            "order": [[0, "desc"]]//Ordenar (columna,orden)
        }).DataTable();
}
//Función para guardar o editar

function guardaryeditar(e) {
    e.preventDefault(); //No se activará la acción predeterminada del evento
    $("#btnGuardar").prop("disabled", true);
    var formData = new FormData($("#formulario")[0]);

    $.ajax({
        url: "../ajax/odont_procedimiento.php?op=guardaryeditar",
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,

        success: function (datos) {
            bootbox.alert(datos);
            mostrarform(false);
            tabla.ajax.reload();
        }

    });
    limpiar();
}

function mostrar(idprocedimiento) {
    $.post("../ajax/odont_procedimiento.php?op=mostrar", { idprocedimiento: idprocedimiento }, function (data, status) {
        data = JSON.parse(data);
        mostrarform(true);

        $("#codigo").val(data.codigo);
        $("#nombre").val(data.nombre);
        $("#descripcion").val(data.descripcion);
        $("#categoria").val(data.categoria);
        $("#precio").val(data.precio);
        $("#idprocedimiento").val(data.idprocedimiento);

        if ($(".selectpicker").length) {
            $(".selectpicker").selectpicker('refresh');
        }

    })
}

//Función para desactivar registros
function desactivar(idprocedimiento) {
    bootbox.confirm("¿Está Seguro de desactivar el procedimiento?", function (result) {
        if (result) {
            $.post("../ajax/odont_procedimiento.php?op=desactivar", { idprocedimiento: idprocedimiento }, function (e) {
                bootbox.alert(e);
                tabla.ajax.reload();
            });
        }
    })
}

//Función para activar registros
function activar(idprocedimiento) {
    bootbox.confirm("¿Está Seguro de activar el procedimiento?", function (result) {
        if (result) {
            $.post("../ajax/odont_procedimiento.php?op=activar", { idprocedimiento: idprocedimiento }, function (e) {
                bootbox.alert(e);
                tabla.ajax.reload();
            });
        }
    })
}

init();
