﻿
/* Variable de timout de session */
var sessionTimer;

/* Objet à transmettre au serveur */
var objHttp;

/* Initialisation de l'objet HTPP */
function AjaxInitialize()
{
	getXMLHttpObject();

	if(objHttp == null)
	{
		alert('Initialize error !');
		return false;
	}
	else
	{
		return true;
	}
}

/* Création de l'object HTTP */
function getXMLHttpObject()
{
	if (typeof(XMLHttpRequest) != 'undefined')
	{
		objHttp = new XMLHttpRequest(); //Firefox, Safari
	}
	else
	{
		try
		{
			objHttp = new ActiveXObject('Microsoft.XMLHTTP'); //IE
		}
		catch (e)
		{
			objHttp = null;
		}
	}	
}

/* Envoi un objet au serveur pour sauvegarder les informations de session */
function StayAlive()
{
  objHttp.onload = null;
  objHttp.send(null);
}

/* Démare le timer et effectue un appel serveur toutes les n minutes. */
function startTimer(n, isFirstCall)
{
  if (!isFirstCall)
    StayAlive();
  sessionTimer = setTimeout(function() { startTimer(n, false); }, n * 60000);
}

/* Stoppe le timer */
function stopTimer()
{
  clearTimeout(sessionTimer);
}

