/** * ADD DORA FOR CEV2-05-12-10 * Support extend session in security, and change the popup window to div. */ var sessionLife = ""; //session life cycle-1min var sessionCouter = null; //session counter var CountdownNum = 30; //count number on layer var subTimer = null; //session count down //APPEND EXTEND SESSION LISTENER function sessionListener(){ var actionUrl = "../servlets/WSTrxManager?_TRX_STATUS=SESSION_LIFE_CYCLE&MOTION_TYPE=INIT"; actionUrl = encodeUrl(actionUrl); sendRequestByAjaxPost(actionUrl, true,iTimeBack); } function iTimeBack(xmlhttp){ var iTime = xmlhttp.responseText; sessionLife = iTime; if(sessionLife){ sessionCouter = setTimeout("SYS_DrewExtendLayer(" + sessionLife + ")", sessionLife); } } function SYS_DrewExtendLayer(sessionTime){ drewExtendSessionLayer(); drewCover(); //SET COUNTDOWN couterCal(); } //drew cover layer function drewCover(){ var oCoverDiv = document.createElement("div"); oCoverDiv.className = "CoverDiv"; oCoverDiv.id = "CoverLayer"; var sStyle = "height:" + getDocHeight() + "px"; oCoverDiv.setAttribute("style",sStyle); document.body.appendChild(oCoverDiv); } //drea extend session layer function drewExtendSessionLayer(){ rmErrMsg(); //FLOAT LAYER var floatLayerDIV = document.createElement("div"); floatLayerDIV.id = "floatLayerDIV"; floatLayerDIV.className = "floatLayerDIV"; //HEADER var layerHeader = document.createElement("div"); layerHeader.id = "layerHeader"; layerHeader.className = "layerHeader"; var headerH3 = document.createElement("h3"); headerH3.innerHTML = "Warning"; layerHeader.appendChild(headerH3); floatLayerDIV.appendChild(layerHeader); //HR var hr = document.createElement("hr"); floatLayerDIV.appendChild(hr); //MIAN var layerMain = document.createElement("div"); layerMain.id = "layerMain"; layerMain.className = "layerMain"; if(typeof(SYS_FUNCTION_TYPE)!="undefined" && (SYS_FUNCTION_TYPE == "MM" || SYS_FUNCTION_TYPE == "PM" || SYS_FUNCTION_TYPE == "EC" )){ layerMain.innerHTML = "Your session is about to time out. Your transaction details will be saved and you will be logged out in "; }else{ layerMain.innerHTML = "Your session is about to time out. You will be logged out in "; } var countSpan = document.createElement("span"); countSpan.id = "countNum"; countSpan.innerHTML = CountdownNum ; layerMain.appendChild(countSpan); var secondSpan = document.createElement("span"); secondSpan.innerHTML = " seconds."; layerMain.appendChild(secondSpan); var br1 = document.createElement("br"); layerMain.appendChild(br1); var br2 = document.createElement("br"); layerMain.appendChild(br2); var descSpan = document.createElement("span"); descSpan.innerHTML = " To extend your session, please click Extend. "; layerMain.appendChild(descSpan); floatLayerDIV.appendChild(layerMain); //FOOT var layerFoot = document.createElement("div"); layerFoot.id = "layerFoot"; layerFoot.className = "layerFoot"; // CONTINUE BUTTON var continueBTN = document.createElement("input"); continueBTN.type = "button"; continueBTN.value = "Extend"; attachObjEvent(continueBTN, "onclick", eval("toExtendSession")); continueBTN.className = "prim"; layerFoot.appendChild(continueBTN); floatLayerDIV.appendChild(layerFoot); document.body.appendChild(floatLayerDIV); } //calculate countdown function couterCal(){ subTimer = setInterval("subTimes($('#countNum').html())", 1000); } //decrease count number function subTimes(curSecond){ if( parseInt(curSecond) > 0 ){ var tempSecond = parseInt(curSecond) - 1; $("#countNum").html(tempSecond); }else{ clearInterval(subTimer); removeLayer(); if(typeof(SYS_FUNCTION_TYPE)!="undefined" && (SYS_FUNCTION_TYPE == "MM" || SYS_FUNCTION_TYPE == "PM" || SYS_FUNCTION_TYPE == "EC" )){ _save_onclick(true); }else{ SYS_CE_LOGOUT(false); } } } //RESERT SESSION COUNTER WHEN CONTINUE AND SEND OTHER REQUEST function restartSessionCounter(){ removeLayer(); if (sessionCouter) { clearTimeout(sessionCouter); } if (sessionLife) { sessionCouter = setTimeout("SYS_DrewExtendLayer(" + sessionLife + ")", sessionLife); } } function resetSubTimer(){ if (subTimer) { clearTimeout(subTimer); } if($('#countNum').html()){ subTimer = setInterval("subTimes($('#countNum').html())", 1000); } } //remove extend session float layer function removeLayer(){ rmNode("CoverLayer"); rmNode("floatLayerDIV"); } //when click CONTINUE button to extend session function continueSession(){ clearInterval(subTimer); restartSessionCounter(); } function toExtendSession(){ var actionUrl = "../servlets/WSTrxManager?_TRX_STATUS=SESSION_LIFE_CYCLE&MOTION_TYPE=EXTEND"; actionUrl = encodeUrl(actionUrl); sendRequestByAjaxPost(actionUrl, true); } function getDocHeight() { var D = document; return Math.max( Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight)); } //END DORA FOR CEV2-05-12-10