﻿var refreshMilliseconds = 1000;
var msecMinute = 60000;
var timeoutMinutes = 20;
var resetTime = new Date();
var timeoutTime = new Date(resetTime.getTime() + (timeoutMinutes * msecMinute));

function initCountdown() {
    refreshTimeoutCountdown();
    setInterval('refreshTimeoutCountdown()', refreshMilliseconds);
}

function refreshTimeoutCountdown() {
    var pnl = document.getElementById('countdownTimer');
    if (pnl == null) return;
    var currentTime = new Date();
    var difference = (timeoutTime.getTime() - currentTime.getTime()) / msecMinute;
    var display;
    if (difference <= 0) {
        pnl.innerHTML = "Your session has timed out. Your weekly data will not be saved!";
    }
    else if (difference < 1) {
        var diffSeconds = difference * 60;
        display = Math.round(diffSeconds).toString();
        pnl.innerHTML = display + " Second" + (display == '1' ? " " : "s ") + " remaining until your session times out! SAVE your data before this countdown reaches zero!";
    }
    else {
        display = Math.round(difference + 0.5).toString();
        pnl.innerHTML = display + " Minute" + (display == '1' ? " " : "s ") + " remaining until your session times out! SAVE your data before this countdown reaches zero!";
    }
}

function resetTimeout() {
    resetTime = new Date();
    timeoutTime = new Date(resetTime.getTime() + (timeoutMinutes * msecMinute));
}

function setTimeoutMinutes(minutes) {
    timeoutMinutes = minutes;
    timeoutTime = new Date(resetTime.getTime() + (timeoutMinutes * msecMinute));
}
