
var callbackUrl='keepAlive';var globalContextPath;var globalSessionId;var globalSessionExparationTime;var globalSessionInactivityTime;var globalSubsessionId;var timerObj;var url;var ajaxRequest;function keepSessionAlive(contextPath,sessionId,sessionExpirationTime,sessionInactivityTime,subsessionId){globalContextPath=contextPath;globalSessionId=sessionId;globalSessionExparationTime=sessionExpirationTime*0.8;if(sessionInactivityTime!=null){globalSessionInactivityTime=sessionInactivityTime;}
if(subsessionId!=null){globalSubsessionId=subsessionId;}
timerObj=setTimeout("keepAliveCall()",globalSessionExparationTime);}
function keepAliveCall(){if(url==null){url=buildUrl(globalContextPath,globalSessionId);}
var random=Math.floor(Math.random()*Number.MAX_VALUE)
var callUrl=url+'?rnd='+random;if(globalSubsessionId!=null){callUrl+='&subsessionId='+globalSubsessionId;}
if(window.XMLHttpRequest){ajaxRequest=new XMLHttpRequest();ajaxRequest.onreadystatechange=keepAliveCallback;ajaxRequest.open("GET",callUrl,true);ajaxRequest.send(null);}else if(window.ActiveXObject){ajaxRequest=new ActiveXObject("Microsoft.XMLHTTP");if(ajaxRequest){ajaxRequest.onreadystatechange=keepAliveCallback;ajaxRequest.open("GET",callUrl,true);ajaxRequest.send();}}}
function buildUrl(){var url=globalContextPath+'/'+callbackUrl;if(globalSessionId!=null){url+=';jsessionId='+globalSessionId;}
return url;}
function keepAliveCallback(){if(ajaxRequest.readyState==4&&ajaxRequest.status==200){var sessionExpirationTime=globalSessionExparationTime;if(globalSessionInactivityTime!=null){sessionExpirationTime=globalSessionInactivityTime;}
keepSessionAlive(globalContextPath,globalSessionId,sessionExpirationTime*0.8);}}