let reservaId    = '';
let reservaToken = '';

$(document).ready(function() {    
    reservaId    = $('#txt_modReservaId').val();
    reservaToken = $('#txt_modReservaToken').val();

    $("#txt_filtroFecha").datetimepicker({
        locale: 'es',
        format: "dd-mm-yyyy",
        autoclose: true,
        todayBtn: true,
        minView: 2,
        pickerPosition: "bottom",
        startDate: "01-01-2023"
    });

    cabeceraCargar();

    
});

function cabeceraCargar() {
    $.ajax({
        type: 'post',
        data: {
            reservaId : reservaId,
            token     : reservaToken
        },
        url: 'gestionReservasSepararCabeceraCargar-ajax.php',
        success: function(data) {
            $("#tableContent").html(data).fadeIn('slow');
            cabeceraModificarFiltroAplicar();
            gestionReservasClienteTipoChange();
        },
        error: function(msg) {
            modalMensajeMostrar( 'Error', 'No se pudo cargar la información');
        },
        complete: function() {
        }
    })
}

function cabeceraModificarBorrarResultados() {
    $( '#div_gestionReservasinformacion' ).html( '' );    
}

function cabeceraModificarFiltroAplicar() {
    let v_bodega        = $( '#cmb_filtroBodega' ).val();
    let v_fecha         = $( '#txt_filtroFecha' ).val();
    
    let v_tipoCarga     = $( '#cmb_tipoCarga' ).val();
    let v_cantidad      = $( '#txt_cantidad' ).val();
    
    let v_reservaId     = $( '#txt_reservaId' ).val();
    
    $.ajax( {
        type: 'post',
        dataType: "json",
        url: 'gestionReservasSepararFiltroCargar-ajax.php',
        data: {
            reservaId      : v_reservaId,
            bodega         : v_bodega,
            fecha          : v_fecha,
            tipoCarga      : v_tipoCarga,
            cantidad       : v_cantidad
        },
        success: function( msg ) {
            if ( msg.sesion ) {
                cerrar_sesion();
            } else if ( msg.success ) {
                gestionReservasCargarInformacion();
            }
        },
        error: function( msg ) {
            modalMensajeMostrar( 'Error', 'No se pudo cargar la información');
        }
    } );
}

function gestionReservasTipoCargaEvents() {
    cabeceraModificarBorrarResultados();
    // gestionReservasTipoCargaChange();
}

function gestionReservasCargarInformacion() {

    $.ajax( {
        type: 'post',
        url: 'gestionReservasSepararRecuperarRegistros-ajax.php',
        beforeSend: function() {
            mostrar_blockUI();
        },
        success: function( msg ) {
            $( '#div_gestionReservasinformacion' ).html( msg );
        },
        error: function( msg ) {
            modalMensajeMostrar( 'Error', 'No se pudo cargar la información');
        },
        complete: function() {
            ocultar_blockUI();
        }
    } );
}

function gestionReservasReasignarConfirmar( token, puertaId, bloqueId, bloquesLibres, textoConfirmacion ) {
    $('#txt_token').val(token);
    $('#txt_puertaId').val(puertaId);
    $('#txt_bloqueId').val(bloqueId);
    $('#txt_bloqSelec').val(bloquesLibres);
    modalConfirmarMostrar('Separar Reserva', '¿Está seguro de separar la reserva principal aignando la siguiente información en la nueva reserva?<br><br>' + textoConfirmacion, 
                            gestionReservasReasignar, puertaId, 'Separar');
}

function gestionReservasReasignar() {
    $.ajax({
        type: 'POST',
        dataType: 'json',
        data: $("#frm_reservaModificar").serialize(),
        url: 'gestionReservasSepararGuardar-ajax.php',
        beforeSend: function() {
            //$('#md_modal_reservaGestionar').modal('hide');
            modalConfirmarOcultar();
            mostrar_blockUI();
        },
        success: function(data) {
            if( data.success ) {
                $("#md_modal_reservaGestionar_div_informacion").html(data);
                gestionReservasTipoCargaChange()
                $('#divCliente').hide();
                $('#span_txt_nombreCliente').hide();
                $('#span_txt_nombre').hide();
                cabeceraModificarFiltroAplicar();
            } else {
                modalMensajeMostrar('Separar Reserva', data.mensaje);
            }
        },
        complete: function() {
            ocultar_blockUI();
        }
    })

}

// TODO: BORRAR
/*
function cargarNombreCliente() {
    let clienteControl = $('#cmb_cliente');
    let clienteId      = clienteControl.val();
    $('#txt_persCliId').val('');
    $('#txt_nombreCliente').val('');
    if( clienteId != null ) {
        clienteId = clienteId[0];
        let v_rutClie = $('#txt_rutCliente').val();
        if( v_rutClie.length > 0 ) {
            $.ajax({
                type: 'post',
                url: 'gestionReservasClienteCargar-ajax.php',
                data: {
                    par1: clienteId,
                    par2: v_rutClie
                },
                dataType: 'json',
                beforeSend: function(){
                    $('#span_txt_nombreCliente').show();
                },
                success: function(data) {
                    $('#txt_persCliId').val(data.id);
                    $('#txt_nombreCliente').val(data.nombre);
                },
                error: function(msg) {
                    modalMensajeMostrar('Recuperar Información', 'No se pudo cargar la información del Cliente');
                },
                complete: function() {
                    $('#span_txt_nombreCliente').hide();
                }
            })
        }
    }
}
*/
function reservaGestionarGuardar() {
    $.ajax({
        type: 'post',
        url: 'gestionReservasRecuperarRegistrosFormNuevaGuardar-ajax.php',
        dataType: 'json',
        beforeSend: function() {
            gestionReservaNuevaModalOcultar();
            mostrar_blockUI();
        },
        async: false,
        data: $("#md_modal_reservaGestionar_frm").serialize(),
        success: function(msg) {
            if (msg.success) {
                modalMensajeMostrar( 'Continuar', msg.mensaje, cabeceraFiltroAplicar);
            } else { 
                modalMensajeMostrar( 'Continuar', msg.mensaje, gestionReservaNuevaModalVer );
            }
        },
        error: function(msg) {
            modalMensajeMostrar( 'Error', 'No se pudo guardar la información', gestionReservaNuevaModalVer );
        },
        complete: function() {
            ocultar_blockUI();
        }
    });
}