var tabla;
function init() {
    $("#formulario").on("submit", function(e) {
        guardar(e);
    });
    
}

function guardar(e) {
    e.preventDefault();


    var formData = new FormData($("#formulario")[0]);

    $.ajax({
        url: "../../controller/precios.php?op=guardaryeditar",
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        dataType: 'json',
        success: function(response) {
            if(response.success) {
                $("#formulario")[0].reset();
                $('#modalmantenimiento').modal('hide');
                $('#precios_data').DataTable().ajax.reload();
                Swal.fire("Éxito!", "Precio guardado correctamente", "success");
            } else {
                Swal.fire("Error!", response.msg || "No se pudo guardar el precio", "error");
            }
        },
        error: function() {
            Swal.fire("Error!", "Error al procesar la solicitud", "error");
        }
    });
}

function editar(pre_id) {
    $.post("../../controller/precios.php?op=mostrar", { pre_id: pre_id }, function(data) {
        data = JSON.parse(data);
        $("#pre_id").val(data.pre_id);
        $("#pre_descrip").val(data.pre_descrip);
        $("#pre_costo").val(data.pre_costo);

        $("#modalmantenimiento").modal("show");
    });
}

function eliminar(pre_id) {
    swal({
        title: "¿Eliminar Precio?",
        text: "No podrás deshacer esta acción.",
        icon: "warning",
        buttons: true,
        dangerMode: true
    }).then((willDelete) => {
        if (willDelete) {
            $.post("../../controller/precios.php?op=eliminar", { pre_id: pre_id }, function(data) {
               
                swal("Eliminado correctamente", { icon: "success" });
                $('#precio_data').DataTable().ajax.reload(); 
            });
        }
    });
}

function abrirModal() {
  // Limpiar campos
  $("#formulario")[0].reset();
  $("#pre_id").val(""); // importante si vas a usar para editar también
  $("#modalmantenimiento").modal("show");
}



// Llamar cuando abras el modal
function abrirModal() {
    $("#formulario")[0].reset();
    $("#pre_id").val("");

    $("#modalmantenimiento").modal("show");
}

$(document).ready(function() {
    init();
    tabla=$('#precios_data').dataTable({
        "aProcessing": true,
        "aServerSide": true,
            "dom": '<"top"f>rt<"bottom"lip><"clear">',
        "searching": true,
        "columnDefs": [
            {
                "targets": 0,  // índice de la columna que quieres ocultar (ej: la primera columna que es ID)
                "visible": false,
                "searchable": false
            }
                        ],
        lengthChange: false,
        colReorder: true,
        "ajax":{
            url: '../../controller/precios.php?op=listar',
            type : "post",
            dataType : "json",
            error: function(e){
                console.log(e.responseText);	
            }
        },
        "bDestroy": true,
        "responsive": true,
        "bInfo":true,
        "iDisplayLength": 10,
        "autoWidth": false,
        "language": {
            "sProcessing":     "Procesando...",
            "sLengthMenu":     "Mostrar _MENU_ registros",
            "sZeroRecords":    "No se encontraron resultados",
            "sEmptyTable":     "Ningún dato disponible en esta tabla",
            "sInfo":           "Mostrando un total de _TOTAL_ registros",
            "sInfoEmpty":      "Mostrando un total de 0 registros",
            "sInfoFiltered":   "(filtrado de un total de _MAX_ registros)",
            "sInfoPostFix":    "",
            "sSearch":         "Buscar:",
            "sUrl":            "",
            "sInfoThousands":  ",",
            "sLoadingRecords": "Cargando...",
            "oPaginate": {
                "sFirst":    "Primero",
                "sLast":     "Último",
                "sNext":     "Siguiente",
                "sPrevious": "Anterior"
            },
            "oAria": {
                "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
                "sSortDescending": ": Activar para ordenar la columna de manera descendente"
            }
        }
    })
    $('#precios_data_wrapper .top').prepend(`
        <button type="button" id="btnnuevo" onclick="abrirModal()" class="btn btn-primary me-2">
            <i class="fas fa-plus"></i> Nuevo Registro
        </button>
        `);


});




