/*************************************************
* Auteur MORAND Sébastien			 *
* http://sebastien-morand.com			 *
**************************************************/
function connect_ajax()
	{
	this.nbr_requetes = 0;
	}

connect_ajax.prototype.envoyer = function(objet)
	{
	if (window.XMLHttpRequest)
		{ 
        xhr = new XMLHttpRequest();
    	}
    else if (window.ActiveXObject) 
    	{
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    	}
	xhr.objet = objet;
	xhr.onreadystatechange  = function()
		{ 
		if(xhr.readyState  == 4)
			 {
			  if(xhr.status  == 200 || objet.methode == 'POST')
				{
				document.getElementById(objet.div).innerHTML = xhr.responseText;
				mapile.descendre_pile();
				}
			 }
		 if(xhr.readyState == 1)
			{
			document.getElementById(objet.div).innerHTML = '<br /><br /><div align="center"><img src="style/ajax-loader.gif" class="img"/></div><br /><br />';
			}
		}
	if(xhr.objet.methode == 'POST')
		{
		xhr.open(xhr.objet.methode, xhr.objet.fichier, true);
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
		xhr.send(xhr.objet.variables);
		}
	else
		{
		xhr.open(xhr.objet.methode, xhr.objet.fichier + '?' + xhr.objet.variables, true);
   		xhr.send('');
		}
	}

// Fonction de stockage des scripts à charger
FuncOL = new Array();
function Appel_On_Load(Obj) {
    FuncOL[FuncOL.length] = Obj;
}

// Execution des scripts au chargement de la page
window.onload = function() {
    for(i=0; i<FuncOL.length; i++)
        {FuncOL[i]();}
}

function Charger_ajax()
	{
	window.setInterval("monhistorique.verif()",1);
	//window.setInterval("document.getElementById('historique').innerHTML = monhistorique.afficher_historique()",1);
	//window.setInterval("document.getElementById('pile').innerHTML = mapile.afficher_pile()",1);
	}
Appel_On_Load(Charger_ajax);

var xhr = null;
var mapile = new pile();
var monhistorique = new historique();
var requetes = new Array();
var connect = new connect_ajax();
function envoyer(fichier,div,methode)
	{
	if(!div)
		{
		div = 'ajax';
		}
	methode = 'POST';
	variables = '';
	requetes[connect.nbr_requetes] = new requete('noyau/' + fichier,div,methode,variables);
	
	mapile.ajouter(requetes[connect.nbr_requetes]);
	monhistorique.hash();
	connect.nbr_requetes++;
	}
