$(document).ready(function () {
    // carga las fechas por defecto
    CargaFechas();
});

function Report() {
    // form data
    const formData = $("#report_form").serialize();
    $.ajax({
        url: "/report/get",
        type: "POST",
        data: formData,
        headers: {
            'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
        },
        xhrFields: {
            // make sure the response knows we're expecting a binary type in return.
            // this is important, without it the excel file is marked corrupted.
            responseType: 'arraybuffer'
        }
    }).done(function (data, status, xmlHeaderRequest) {
        var downloadLink = document.createElement('a');
        var blob = new Blob([data],
            {
                type: xmlHeaderRequest.getResponseHeader('Content-Type')
            });
        var url = window.URL || window.webkitURL;
        var downloadUrl = url.createObjectURL(blob);
        var fileName = 'mediciones' + '.xls';

        if (typeof window.navigator.msSaveBlob !== 'undefined') {
            window.navigator.msSaveBlob(blob, fileName);
        } else {
            if (fileName) {
                if (typeof downloadLink.download === 'undefined') {
                    window.location = downloadUrl;
                } else {
                    downloadLink.href = downloadUrl;
                    downloadLink.download = fileName;
                    document.body.appendChild(downloadLink);
                    downloadLink.click();
                }
            } else {
                window.location = downloadUrl;
            }

            setTimeout(function () {
                url.revokeObjectURL(downloadUrl);
            },
                100);
        }
    });
















}


function CargaFechas() {
    // Calcula la fecha del día actual a las 6:00:00 de la mañana
    var today = new Date();
    today.setHours(6);
    today.setMinutes(0);
    today.setSeconds(0);
    var dateTime1 = today;

    // Calcula la fecha del día anterior a las 6:00:00 de la mañana
    var yesterday = new Date();
    yesterday.setDate(yesterday.getDate() - 1);
    yesterday.setHours(6);
    yesterday.setMinutes(0);
    yesterday.setSeconds(0);
    var dateTime2 = yesterday;

    // Selecciona los campos input de tipo datetime-local
    var dateTimeInput1 = $("#fecha-inicio");
    var dateTimeInput2 = $("#fecha-final");

    // Rellena el primer campo con la fecha del día actual a las 6:00:00 de la mañana
    dateTimeInput2.val(dateTime1.toISOString().split("T")[0] + "T" + dateTime1.toTimeString().split(" ")[0]);

    // Rellena el segundo campo con la fecha del día anterior a las 6:00:00 de la mañana
    dateTimeInput1.val(dateTime2.toISOString().split("T")[0] + "T" + dateTime2.toTimeString().split(" ")[0]);
}