var start = new Date();
var minutes = 0;
var seconds = 0;
var alert1MinThrown = false;
var alert0MinThrown = false;
var totalMs;

function runTimer(totalMins) {
	// alert("Timeout = " + totalMins + " minutes");
	totalMs = totalMins * 60 * 1000;
	count();
} // end function runTimer(_totalMs)

function count() {
	if (minutes < 0 && seconds < 0 && !alert0MinThrown) {
		alert("You have been logged out due to inactivity.");
		alert0MinThrown = true;
	}
	else if (minutes >= 0 && seconds >= 0) {
		var now = new Date();
		var timeElapsed = now.getTime() - start.getTime();
		var timeRemaining = totalMs - timeElapsed;
		
		minutes = Math.floor(timeRemaining / 1000 / 60);
		seconds = Math.floor(timeRemaining / 1000 % 60, 10);
		
		document.getElementById("timer").innerHTML = "in " + parseTime(minutes) + ":" + parseTime(seconds);
		if (minutes == 1 && seconds == 0 && !alert1MinThrown) {
			alert("1 minute remaining before you are logged out due to inactivity.");
			alert1MinThrown = true;
		}
		setTimeout(count, 50);
	}
} // end function count()

function parseTime(value) {
	return value <= 0 ? "00" : (value < 10 ? "0" + value : value);
}
