
var UITimeoutMilliseconds = 480000;		// 8 mins to time out warning
var timeWaitForFinalPopUp = 120000;		// 2 mins after time out warning
var timeoutWin;
var timeoutDoc;
var timeoutWarningID;
var timeoutID;

function LoadPage() {
	setupTimeout();
}

function setupTimeout() {
	window.clearTimeout(timeoutWarningID);
	window.clearTimeout(timeoutID);

	warningTimeoutMilliseconds = UITimeoutMilliseconds;
	totalTimeoutMilliseconds = getTotalTimeoutInMilliseconds();

	timeoutID = window.setTimeout('displayTimeoutMsg()', totalTimeoutMilliseconds);	// Setting up final timeout
	timeoutWarningID = window.setTimeout('displayTimeoutWarningMsg()', warningTimeoutMilliseconds);
}

function unLoadPage() {	
	killErrorWin();
	timeoutWin = "";
}

function getTimeoutWarningMsg()
{
	timeoutWarningMsg = "Your online session is about to be timed out. As a security precaution, sessions end after "
	+ getTotalIdleAllowedInMinute() + " minutes of inactivity. Click <b>CONTINUE</b> to continue your current session.";
	return timeoutWarningMsg;
}

function getTimeoutMsg()
{
	timeoutMsg = "Your online session has been timed out. As a security precaution, sessions are ended after " 
	+ getTotalIdleAllowedInMinute() + " minutes of inactivity. You can sign in again to resume using this service.";
	return timeoutMsg;
}


function displayTimeoutWarningMsg() {
	timeoutWarningMsg = getTimeoutWarningMsg();
	content = getTimeoutWarningMsgHTML();
	timeoutWinOption = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=330,height=220";

	// AOL browser requires a blank HTML when opening a new window
	timeoutWin = window.open("/blank.php", "NewWindow", timeoutWinOption, true);
	timeoutDoc = timeoutWin.document;
	timeoutDoc.write(content);
	timeoutDoc.close();
	timeoutWin.focus();
}

function displayTimeoutMsg() {
	timeoutMsg = getTimeoutMsg();
	alert(timeoutMsg);
	gotoPage();
}

function getTotalTimeoutInMilliseconds() {
	timeoutMilliseconds = UITimeoutMilliseconds;
	timeoutMilliseconds = timeoutMilliseconds + timeWaitForFinalPopUp;
	return timeoutMilliseconds;
}

function getTotalIdleAllowedInMinute() {
	totalTimeoutMilliseconds = getTotalTimeoutInMilliseconds();
	totalIdleAllowedInMinute = totalTimeoutMilliseconds / (60 * 1000);
	return totalIdleAllowedInMinute;
}

function gotoPage() {
	self.location = baseURL + "/signOut.php";
}

function getTimeoutWarningMsgHTML() {
	howLong = timeWaitForFinalPopUp - 2000; // To give enough time to close the warning dialog 
	s = '<html>\n<head>\n<title>Attention</title>\n</head>\n';
	s += '<link rel=stylesheet href=/general.css>';
	s += '<body bgcolor="#FFFFFF" ';
	s += 'onLoad="window.setTimeout(';
	s += "'this.close()', ";
	s += howLong;
	s += ');';
	s += '">\n';
	s += '<FORM>\n';
	s += '<table border=0 cellpadding=0 cellspacing=0  width=300>\n';
	s += '<tr>\n';
	s += '<td>\n';
	s += '<br>';
	s += '\n';
	s += timeoutWarningMsg;
	s += '\n';
	s += '</td>\n</tr>\n';
	s += '<tr>\n';
	s += '<td align=center>\n';
	s += '<br>\n';
	s += '<input class=Bsbttn type=button name="continue" value="CONTINUE" onClick="window.opener.setupTimeout();window.close();">';
	s += '\n</td></tr>\n';
	s += '</table>\n';
	s += '</FORM>\n';
	s += '</body>\n</html>\n';
	return s;
}