// JavaScript Document
<!--
// Autres variables à personnaliser
var dureeaffichage = '2000'; // en millisecondes
// un intervalle de 2 min (soit 120000 millisecondes) ou de 2,5 min convient généralement (doit être inférieur à la durée de la session)
var intervallerafraichissement = '30000'; // en millisecondes
var cheminsessionstart = '../ajax/session_start_ajax.php';

function getXhr(){
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
  return xhr
}

function ajaxUpdateInfos(){
	// Lancement des requettes
	ajaxVisites();
	ajaxConnected();
	ajaxCompteur();
	setTimeout('ajaxUpdateInfos()',intervallerafraichissement); // en millisecondes
}

function ajaxConnected(){
	var xhr = getXhr()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
//			alert(xhr.responseText);
			SessionRefresh(xhr.responseText);
		}
	}
	xhr.open("GET",cheminsessionstart+"?arg=connected",true);
	xhr.send(null);
//	setTimeout('ajaxConnected()',intervallerafraichissement); // en millisecondes
}

function ajaxVisites(){
	var xhr = getXhr()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
//			alert(xhr.responseText);
			VisitesRefresh(xhr.responseText);
		}
	}
	xhr.open("GET",cheminsessionstart+"?arg=visites",true);
	xhr.send(null);
//	setTimeout('ajaxVisites()',intervallerafraichissement); // en millisecondes
}

function ajaxCompteur(){
	var xhr = getXhr()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
//			alert(xhr.responseText);
			CompteurRefresh(xhr.responseText);
		}
	}
	xhr.open("GET",cheminsessionstart+"?arg=compteur",true);
	xhr.send(null);
//	setTimeout('ajaxConnected()',intervallerafraichissement); // en millisecondes
}

function SessionRefresh(message) {
  var contenuMessage = message;
  var chaine = message;
  // Nous decoupons la reponse selon le caractere choisi
  var tableau = chaine.split('|');
  // Nous appliquons les valeurs récupérées au element correspondant
  var nbConnected = parseInt(tableau[0]);
  if(nbConnected==0) { var texteconnected="aucun visiteur identifié";}
  if(nbConnected==1) { var texteconnected="Vous etes seul en ligne";}
  if(nbConnected>1) { var texteconnected=nbConnected+" visiteurs connect&eacute;s";}
  contenuMessage = tableau[1];
//
//
if(document.getElementById('connectedvisiteurs')){
var divMessage2 = document.getElementById('connectedvisiteurs');
	if (contenuMessage != '') {
	  divMessage2.innerHTML = texteconnected;
	  divMessage2.title = contenuMessage;
	}
}
debugAffichage(message);
}

function VisitesRefresh(visites) {
  var chaine = visites;
  // Nous decoupons la reponse selon le caractere choisi
  var tableau = chaine.split('|');
  // Nous appliquons les valeurs récupérées aux elements correspondants
  var affichage = tableau[0];
  var bulle = tableau[1];
  if(document.getElementById('afficheurvisites')){
	  var divVisites=document.getElementById('afficheurvisites');
	  divVisites.innerHTML = affichage;
	  divVisites.title = bulle;
  }
}

function CompteurRefresh(compteur) {
  if(document.getElementById('compteurvisites')){
	  var divVisites=document.getElementById('compteurvisites');
	  divVisites.innerHTML = compteur+"<br />\nVisites depuis le 01/10/08 ";
  }
}

function debugAffichage(message) {
  if(document.getElementById('message_debugage')){
  var divMessage = document.getElementById('message_debugage');
  divMessage.style.position = 'absolute';
  divMessage.style.top = '0';
  divMessage.style.left = '0';
  divMessage.style.padding = '3px';
  divMessage.style.border = '0';
  divMessage.style.display = 'block';
  if (contenuMessage != '') {
	  divMessage.style.backgroundColor = '#0F0';
	  divMessage.innerHTML = message;
	  setTimeout(function () {
			divMessage.innerHTML = '';
			divMessage.style.padding = '0';
			divMessage.style.display = 'none';
		}
		, dureeaffichage); // en millisecondes
	  } 
  }
}


function addLoadListener(func) {
	if (window.addEventListener) // Gecko, Safari, Konqueror et standard
	{
	window.addEventListener('load', func, false);
	}
	else if (document.addEventListener)// Opera 7
	{ 
	document.addEventListener('load', func, false);
	} else if (window.attachEvent)  // IE Windows
	{
	window.attachEvent('onload', func);
	}
}

if (document.getElementById && document.createTextNode) {
	addLoadListener(ajaxUpdateInfos);
	}
//-->
