﻿var session = {

RegisterSessionExpiryWarningTimer : function()
		{	
		    setTimeout("session.showSessionExpiryWarningMsg()",3600000);
		},


showSessionExpiryWarningMsg : function()
		{	
			var w_AlertPeriod = 5;
			var w_TopWindow ;
			var w_MsgTime = new Date(); 
			var w_TimeoutTime = new Date();
			var w_Timeout = session.formatTimeout(w_TimeoutTime,w_AlertPeriod);
			var w_Message = 'Your current application session would expire in another {0} minutes, at {1}. Would you like to continue & extend this session? ';
			w_Message = w_Message.replace("{0}",w_AlertPeriod);			
			w_Message = w_Message.replace("{1}",w_Timeout);	
					
			if (confirm(w_Message))	
			{		
				var w_DiffMinutes = ((((new Date()).getTime() - w_MsgTime.getTime())/1000)/60); 				
				if(w_DiffMinutes > w_AlertPeriod-1)				
				{
					alert('Your session has already expired, could not be extended.');		
					session.logout();
				}
				else		
				{
    				session.RegisterSessionExpiryWarningTimer();
					$.ajax({
                        type: "POST",
                        url: "assets/a1.gif",
                        dataType: "application/x-www-form-urlencoded"
                    });
                    alert('Your session has been extended.');
				}	
			}
			else
			{
			        var w_CancelDiffMinutes = ((((new Date()).getTime() - w_MsgTime.getTime())/1000)/60); 				
				    if(w_CancelDiffMinutes > w_AlertPeriod-1)				
				        {
					        alert('Your session is expired. Please login again.');		
					        session.logout();
				        }
				     else
				        {
				             setTimeout("session.expireSession()",w_CancelDiffMinutes*60*1000);
				        }
			       
			}
		},
		
		
	expireSession:function(){
	    alert('Your session is expired. Please login again.');
	    session.logout();
	},

    formatTimeout : function(O,L){
    
            var N=O.getMinutes()+L;
            O.setMinutes(N);
            var P=O.getHours();
            var J=O.getMinutes();
            var I=O.getSeconds();
            var K=" AM";var M="";

            if(P>=12)
                 {
                    P-=12;
                    K=" PM"
                 }

            if(P==0)
            {
                P=12
            }

            M=P+":"+((J<10)?"0":"")+J+":"+((I<10)?"0":"")+I+K;
            return(M)

    },
    
   logout : function() {
        createCookie("pencilauth", "", -1);
        document.location = "default.htm";
        return null;
    }

}
session.RegisterSessionExpiryWarningTimer();
