
var reqXML;
var timeFactor = 0.9;
var accessTime = new Date();
var timerObj;

setTimer();


function setTimer(){
   //How long before timeout (should be a few minutes before your server's timeout. set timer to call function to confirm update 
  timerObj = setTimeout("confirmSessRenewal()",1000*parseInt(sessTimeOut)*timeFactor);
}


function getSessExpTime(){
 var expTime = accessTime.getTime();
 expTime += parseInt(sessTimeOut)*1000 ;  
 accessTime.setTime(expTime);
 return accessTime;
}
     

function pingServer(url){ 
 if (window.XMLHttpRequest){ //Mozilla, Firefox, Opera 8.01, Safari
    reqXML = new XMLHttpRequest(); 
    reqXML.onreadystatechange = readSessionData; 
    reqXML.open("GET", url, true); 
    reqXML.send(null); 
  }
  //IE ActiveX object
  else if(window.ActiveXObject) {
    //check for newer version (there is a v3 now too)
    try {
      reqXML = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e) {
      try {
        //older version
      	reqXML = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e) {
        reqXML = false;
      }
    }
    if (reqXML) { 
      reqXML.onreadystatechange = readSessionData; 
      reqXML.open("GET", url, true); 
      reqXML.send(); 
    } 
  }
  else{ //Older Browsers
    alert("Your Browser does not support Ajax!");
  }

}

function readSessionData(){
  if(reqXML.readyState == 4){ //completed state
    if(reqXML.status == 200){ //We got a sucess page back
       if(reqXML.responseText.indexOf("Session Updated - Server Time:") == 1){
          accessTime = new Date();
          setTimer(); //restart timer
       }
    } 
  }
}


