const v_cantidad = 15;

$(document).ready(function() {

    cargarCabecera();

});


function cargarCabecera() {
    $.ajax({
        url: 'reporteReservasCabeceraCargar-ajax.php',
        beforeSend: function() {
            mostrar_blockUI();
        },
        success: function(data) {

            //alert(data);
            $("#tableContent").html(data).fadeIn('slow');
            
            jQuery('#tablaHorarios').DataTable({
                responsive: true
            });
            aplicarFiltro()
        },
        error: function(msg) {
            alert('No se pudo cargar la información');
        },
        complete: function() {
            ocultar_blockUI();
        }
    })

}

function limpiarInformacion() {
    $.ajax( {
        type: 'post',
        dataType: "json",
        url: 'reporteReservasFiltroLimpiar-ajax.php',
        success: function( msg ) {
            if ( msg.sesion ) {
                cerrar_sesion();
            } else if ( msg.success ) {
                $( '#txt_filtroFechaInicio' ).val( '' );
                $( '#txt_filtroFechaFin' ).val( '' );
                $("#chb_cliente").prop("checked", false);
                $("#chb_proveedorSils").prop("checked", false);
                $("#chb_proveedorCliente").prop("checked", false);
                $( '#cmb_filtroBodega' ).val( '' );
                $( '#cmb_filtroPuerta' ).val( '' );
                $( '#txt_filtroRazonSocial' ).val( '' );
                $( '#txt_filtroNumero' ).val( '' );
                $( '#cmb_filtroEstado' ).val( '' );
                $( '#cmb_filtroEstado' ).focus();
                actualizarInformacion();
            }
        },
        error: function( msg ) {
            alert( 'No se pudo cargar la información' );
        }
    } );
}

function exportarExcel() { 
    redireccionar( 'reporteReservasXls.php' );
}

function aplicarFiltro() { 
    var v_cliente = null;
    if( $( '#chb_cliente' ).prop('checked'))
        v_cliente = 1;
    var v_proveedorSils = null;
    if( $( '#chb_proveedorSils' ).prop('checked'))
        v_proveedorSils = 1;
    var v_proveedorCliente = null;
    if( $( '#chb_proveedorCliente' ).prop('checked'))
        v_proveedorCliente = 1;
    var v_fechaInicio       = $( '#txt_filtroFechaInicio' ).val();
    var v_fechaFin          = $( '#txt_filtroFechaFin' ).val();
    var v_bodega            = $( '#cmb_filtroBodega' ).val();
    var v_puerta            = $( '#cmb_filtroPuerta' ).val();
    var v_razonSocial       = $( '#txt_filtroRazonSocial').val();
    var v_numero            = $( '#txt_filtroNumero' ).val();
    var v_estado            = $( '#cmb_filtroEstado' ).val();
   
    $.ajax( {
        type: 'post',
        dataType: "json",
        url: 'reporteReservasFiltroCargar-ajax.php',
        data: {
            fechaInicio         : v_fechaInicio,
            fechaFin            : v_fechaFin,
            cliente             : v_cliente,
            proveedorSils       : v_proveedorSils,
            proveedorCliente    : v_proveedorCliente,
            bodega              : v_bodega,
            puerta              : v_puerta,
            razonSocial         : v_razonSocial,
            numero              : v_numero,
            estado              : v_estado
        },
        success: function( msg ) {
            if ( msg.sesion ) {
                cerrar_sesion();
            } else if ( msg.success ) {
                actualizarInformacion();
            }
        },
        error: function( msg ) {
            alert( 'No se pudo cargar la información' );
        }
    } );
}

//actualizarInformacion();


function actualizarInformacion() {
    cargarInformacion( 0, v_cantidad );
}

function cargarInformacion( p_page, p_quantity ) {
    
    $.ajax( {
        type: 'post',
        url: 'reporteReservasRecuperarRegistros-ajax.php',
        data: {
            page: p_page,
            quantity: p_quantity
        },
        beforeSend: function() {
            mostrar_blockUI();
        },
        success: function( msg ) {           
            $( '#div_informacion' ).html( msg );
        },
        error: function( msg ) {
            alert( 'No se pudo cargar la información' );
        },
        complete: function() {
            ocultar_blockUI();
        }
    } );
}

function solicita_anular_hora(par1, par2) {
    
    $('#md_modal_horas').modal('hide');

    $('#md_modal_confirmar_lbl_mensaje').text('');

    $('#md_modal_confirmar_txt_id').val(par1);
    $('#md_modal_confirmar_titulo').text('Anular hora');
    $('#md_modal_confirmar_div_contenido').html('¿Está seguro de anular la reserva de hora <b>' + par2 + '</b>?');
    $('#md_modal_confirmar_btn_aceptar').unbind()
    $('#md_modal_confirmar_btn_aceptar').click(anular_hora);
    // $('#md_modal_confirmar_btn_cancelar').unbind()
    // $('#md_modal_confirmar_btn_cancelar').click(mostrar_solicitar_hora);
    $('#md_modal_confirmar').modal('show');

}


// function mostrar_solicitar_hora() {
//     $('#md_modal_horas').modal('show');
// }

function anular_hora() {

    var v_par1 = $('#md_modal_confirmar_txt_id').val();


    $.ajax({
        type: 'post',
        url: 'misreservas_anular_guardar-ajax.php',
        data: {
            par1: v_par1
        },
        dataType: 'json',
        beforeSend: function() {
            //$('#md_modal_confirmar').modal('hide');
            mostrar_blockUI();
        },
        success: function(msg) {

            if (msg.success) {

                cargarInformacion(1, v_cantidad);
                $('#md_modal_confirmar').modal('hide');

                $('#md_modal_mensaje').modal('show');
                $('#md_modal_mensaje_titulo').text('Anular hora');
                $('#md_modal_mensaje_div_contenido').html('La hora fue anulada correctamente.');

            } else {

                // $('#md_modal_confirmar').modal('show');
                $('#md_modal_confirmar_lbl_mensaje').text(msg.mensaje);

            }
        },
        error: function(msg) {

            // $('#md_modal_confirmar').modal('show');
            $('#md_modal_confirmar_lbl_mensaje').text('No se pudo anular la hora');

        },
        complete: function() {
            ocultar_blockUI();
        }

    });

}