/**
 * Configuración estándar de DataTables para SSOMA
 * Proporciona configuración unificada para todas las tablas del sistema
 */

// Configuración base para todas las tablas
const SSOMA_DataTables_Config = {
    "order": [[0, "desc"]],
    "pagingType": "full_numbers",
    "scrollX": true,
    "autoWidth": false,
    "stateSave": true,  // Guarda estado entre recargas
    "language": {
        "url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/Spanish.json",
        "lengthMenu": "Mostrar _MENU_ registros por página",
        "zeroRecords": "No se encontraron resultados",
        "info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
        "infoEmpty": "No hay registros disponibles",
        "infoFiltered": "(filtrado de _MAX_ registros en total)",
        "search": "Buscar:",
        "paginate": {
            "first": "Primero",
            "last": "Último",
            "next": "Siguiente",
            "previous": "Anterior"
        },
        "loadingRecords": "Cargando...",
        "processing": "Procesando...",
        "emptyTable": "No hay datos disponibles en la tabla"
    }
};

/**
 * Inicializar tabla con configuración estándar
 * @param {string} selector Selector de la tabla
 * @param {object} customConfig Configuración personalizada (opcional)
 * @returns {object} Instancia de DataTable
 */
function initSSOMDataTable(selector, customConfig = {}) {
    return $(selector).DataTable({
        ...SSOMA_DataTables_Config,
        ...customConfig
    });
}

/**
 * Configuración específica para tablas de trabajadores
 */
const SSOMA_Trabajadores_Config = {
    ...SSOMA_DataTables_Config,
    "order": [[0, "desc"]],
    "pageLength": 10,
    "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "Todos"]]
};

/**
 * Configuración específica para tablas de atenciones médicas
 */
const SSOMA_AtencionesMedicas_Config = {
    ...SSOMA_DataTables_Config,
    "order": [[0, "desc"], [1, "desc"]],  // Por fecha y hora
    "pageLength": 10,
    "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "Todos"]]
};

/**
 * Configuración para tablas de historial
 */
const SSOMA_Historial_Config = {
    ...SSOMA_DataTables_Config,
    "pageLength": 25,
    "stateSave": false,  // No guardar estado en historiales
    "order": [[0, "desc"]]
};
