// functionality here triggers an automated logout on session expiry

var session_timeout_dialog_shown = false;

function update_session_timeout_counter()
{
	hours = Math.floor(session_timeout.remaining / 3600);
	minutes = Math.floor(session_timeout.remaining / 60 % 60);
	seconds = Math.floor(session_timeout.remaining % 60);

	$('logout_timer').update('Logout: ' +
			zeroPad(hours) + ":" +
			zeroPad(minutes) + ":" +
			zeroPad(seconds)
	);
}

if(session_timeout.active)
{
	document.observe('dom:loaded', update_session_timeout_counter);

	new PeriodicalExecuter(function countdown(pe) {
		session_timeout.remaining--;

		if(session_timeout_dialog_shown == false && session_timeout.remaining <= 59)
		{
			showSessionTimeoutDialog();

			session_timeout_dialog_shown = true;

			new PeriodicalExecuter(function logout(pe2) {
				window.location.href = "/logout?autologout=1";
				pe2.stop;
				return;
			}, 59);
		}

		update_session_timeout_counter();

	}, 1);
}

var headID = document.getElementsByTagName("head")[0];
var cssNode = document.createElement('link');

cssNode.type = 'text/css';
cssNode.rel = 'stylesheet';
cssNode.href = '/css/dialog_box.css';
headID.appendChild(cssNode);

var newScript = document.createElement('script');

newScript.type = 'text/javascript';
newScript.src = '/js/dialog_box.js';
headID.appendChild(newScript);

function showSessionTimeoutDialog() {
		var logout = new LertButton(translate('dialog_sessiontimeout_logout'), function() { window.location.href = '/logout'} );
		var reload = new LertButton(translate('dialog_sessiontimeout_reload'), function() { window.location.reload(); } );
		var message = translate('dialog_sessiontimeout_text');

		var sessiontimeoutLert = new Lert(
			message,
			[reload, logout],
			{
				defaultButton:logout,
				icon:'/images/dialog-warning.png'
			});

		sessiontimeoutLert.display();
}

