var _updateTimer = 0;
var _maxTimer = 1800;
var _pingInterval = 60000;
var _loggedoutPingInterval = 5000;
var _loggedoutCurrentPingInterval;
var _overlayInitialized = false;
var _overlaybase;
var _overlay;
var _loggedOutTextCell;
var _lockUsername;
var _resetTimer = false;
_updateTimer = setTimeout("checkTimeout()",_pingInterval);
//debugger;
document.onkeypress = function(evt) {
_resetTimer = true;
}
function checkTimeout() {
if(_resetTimer) {
executeAjax('index.php?page_id='+getParameter('page_id')+'&ajaxAction=checkTimeout&resetTimer=true',timeoutResponse);
_resetTimer = false;
} else {
executeAjax('index.php?page_id='+getParameter('page_id')+'&ajaxAction=checkTimeout',timeoutResponse);
}
}
function timeoutResponse(response) {
if(response.result == 'ok') {
if(response.timer > _maxTimer) {
var d = new Date();
timedOut(true,'
På grunn av inaktivitet har du blitt logget ut av EasyPublish CMS' + '
Du ble logget ut kl ' + d.getHours() + ':' + d.getMinutes());
} else {
_updateTimer = setTimeout("checkTimeout()",_pingInterval);
}
} else {
timedOut(false,'
På grunn av inaktivitet har du blitt logget ut av EasyPublish CMS');
var username = document.getElementById('overlayUsername');
if(username.value == '') {
username.value = response.uname;
}
_lockUsername = response.uname;
}
}
function timeuotLoginResponse(response) {
if(response.result == 'ok') {
_overlaybase.style.display = 'none';
_overlay.style.display = 'none';
var username = document.getElementById('overlayUsername');
var password = document.getElementById('overlayPassword');
username.value = '';
password.value = '';
_updateTimer = setTimeout("checkTimeout()",_pingInterval);
} else {
alert('Feil. Kan ikke logge inn med oppgitt brukernavn/passord');
_updateTimer = setTimeout("checkLoggedout()",_loggedoutCurrentPingInterval);
}
}
function timeoutLogin() {
var username = document.getElementById('overlayUsername');
if((_lockUsername != undefined) &&(_lockUsername != '') && (username.value != _lockUsername) && (username.value.substring(0,6) != 'force:')) {
alert('Dette vinduet kan bare åpnes av ' + _lockUsername);
return;
}
if(username.value.substring(0,6) == 'force:') {
username.value = username.value.substring(6);
}
var password = document.getElementById('overlayPassword');
clearTimeout(_updateTimer);
executeAjax('index.php?page_id='+getParameter('page_id')+'&edit=1&ajaxAction=checkTimeout&Example_Session='+URLEncode(getCookieValue('Example_Session')),timeuotLoginResponse,'username='+URLEncode(username.value)+'&password='+URLEncode(password.value)+'&sprak='+URLEncode('norsk')+'&btnSubmit='+URLEncode('OK'));
}
function logoutResponse(response) {
if(response.result == 'ok') {
alert('Feil ved timeout?');
_updateTimer = setTimeout("timedOutLogout()",_pingInterval);
} else {
var username = document.getElementById('overlayUsername');
if(username.value == '') {
username.value = response.uname;
}
_lockUsername = response.uname;
_loggedoutCurrentPingInterval = _loggedoutPingInterval;
checkLoggedout();
}
}
function timedOutLogout() {
executeAjax('index.php?page_id='+getParameter('page_id')+'&ajaxAction=logOut',logoutResponse);
}
function checkLoggedout() {
executeAjax('index.php?page_id='+getParameter('page_id')+'&edit=1&ajaxAction=checkLoggedout',loggedoutResponse);
}
function loggedoutResponse(response) {
if(response.result == 'ok') {
_overlaybase.style.display = 'none';
_overlay.style.display = 'none';
_updateTimer = setTimeout("checkTimeout()",_pingInterval);
} else {
var username = document.getElementById('overlayUsername');
if(username.value == '') {
username.value = response.uname;
}
_lockUsername = response.uname;
_updateTimer = setTimeout("checkLoggedout()",_loggedoutCurrentPingInterval);
// Increase ping time with 1 sek
// When logged out for a long time, the ping time should increase.
if(_loggedoutCurrentPingInterval <= (4*_loggedoutPingInterval)) {
_loggedoutCurrentPingInterval = _loggedoutCurrentPingInterval+1000;
}
}
}
function timedOut(logout,loggedOutReason) {
if(logout) {
executeAjax('index.php?page_id='+getParameter('page_id')+'&ajaxAction=logOut',logoutResponse);
} else {
_loggedoutCurrentPingInterval = _loggedoutPingInterval;
_updateTimer = setTimeout("checkLoggedout()",_loggedoutCurrentPingInterval);
}
if(!_overlayInitialized) {
_overlaybase = document.createElement('div');
_overlaybase.className = 'overlaybase';
document.body.appendChild(_overlaybase);
_overlay = document.createElement('div');
_overlay.className = 'overlay';
document.body.appendChild(_overlay);
var overlayTitle = document.createElement('div');
overlayTitle.className = 'overlaytitle';
overlayTitle.innerHTML = 'EasyPublish CMS - Innlogging';
_overlay.appendChild(overlayTitle);
var overlayBody = document.createElement('div');
overlayBody.className = 'overlaybody';
_overlay.appendChild(overlayBody);
var form = document.createElement('form');
form.id = 'frmEPLoggedOut';
overlayBody.appendChild(form);
var table = document.createElement('table');
table.style.width = '100%';
table.style.height = '100%';
table.style.fontFamily = 'verdana,tahoma';
table.style.fontSize = '11px';
form.appendChild(table);
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
tableCell.style.textAlign = 'center';
tableCell.style.height = '40px';
tableCell.style.color = 'red';
_loggedOutTextCell = tableCell;
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
tableCell.style.textAlign = 'center';
tableCell.style.verticalAlign = 'middle';
var fieldset = document.createElement('fieldset');
fieldset.style.backgroundColor = 'activeborder';
fieldset.style.width = '430px';
fieldset.style.height = '180px';
tableCell.appendChild(fieldset);
var table = document.createElement('table');
table.style.fontFamily = 'verdana,tahoma';
table.style.fontSize = '11px';
fieldset.appendChild(table);
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
tableCell.style.textAlign = 'center';
tableCell.colSpan = 2;
tableCell.style.fontSize = '12px';
tableCell.innerHTML = 'EasyPublish CMS Login';
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
tableCell.style.textAlign = 'right';
tableCell.innerHTML = 'Username';
var tableCell = tableRow.insertCell(tableRow.cells.length);
var input = document.createElement('input');
input.name = 'overlayUsername';
input.id = 'overlayUsername';
input.onkeydown = function(e) {
e = e || window.event;
if (e.keyCode == 13) {
timeoutLogin();
return false;
}
};
input.setAttribute('size','25');
input.setAttribute('align','right');
tableCell.appendChild(input);
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
tableCell.style.textAlign = 'right';
tableCell.innerHTML = 'Password';
var tableCell = tableRow.insertCell(tableRow.cells.length);
var input = document.createElement('input');
input.name = 'overlayPassword';
input.id = 'overlayPassword';
input.type = 'password';
input.onkeydown = function(e) {
e = e || window.event;
if (e.keyCode == 13) {
timeoutLogin();
return false;
}
};
input.setAttribute('size','25');
input.setAttribute('align','right');
tableCell.appendChild(input);
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
var button = document.createElement('input');
button.type = 'button';
button.value = 'OK';
button.attachEvent('onclick',timeoutLogin);
tableCell.appendChild(button);
var tableRow = table.insertRow(table.rows.length);
var tableCell = tableRow.insertCell(tableRow.cells.length);
tableCell.style.textAlign = 'center';
tableCell.colSpan = 2;
tableCell.innerHTML = 'Glemt passordet? / Forgot your password?