/*
ajaxPage : page PHP à appeler (Obligatoire)
parameters : une liste de paramètres à passer à PHP (obligatoire)
action : 'print' | 'printWerror' | 'eval', un paramètre disant ce que doit faire le résultat PHP (obligatoire)
div : l'identifiant d'une balise HTML où doit être imprimé le résultat (obligatoire si tu es en mode 'print' ou 'printWerror')
jsOnLoad : Une série de fonctions javascript qui seront chargées après l'exécution de la page PHP (facultatif)
[16:00:50] --Didjor-- dit: 
ex :
ajax_call("./ajax/test.php", "id="+player_id+"&nom="+name, "print", "my_div_test", "bidule_reload();")
[16:02:10] --Didjor-- dit: 
Cet appel va aller appeler la page PHP test.php dans le dossier AJAX, lui donnera les paramètres id et nom sous forme de variables globales $_POST, et la page PHP affichera quoiqu'il arrive le résultat dans my_div_test de ta page PHP (ex : <div id='my_div_test'></div>) et, après que tout ça soit fait, il exécutera la fonction javascript bidule_reload();


ajouter 
header('Content-Type: text/html; charset=ISO-8859-15');
en haut des pages Appellées par ajax

*/

function g(id) {
	return document.getElementById(id);
}

function ajax_call(ajaxPage, parameters, action, div, jsOnLoad) {
	
	if (window.XMLHttpRequest)
		var xhr = new XMLHttpRequest();
	else if (window.ActiveXObject)
		var xhr = new ActiveXObject('Microsoft.XMLHTTP');
	else
		alert('Erreur : votre navigateur ne supporte pas les objets XMLHttpRequest.\nVous ne pourrez pas effectuer certaines actions sur le site.');
		
	xhr.open('POST', ajaxPage, true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(parameters);
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 ) {
			if(action == 'print') {
				g(div).innerHTML = unescape(xhr.responseText);
			} else if(action == 'printWerror') {
				var response = xhr.responseText;
				if(response.charAt(2) == 0)
					eval(unescape(response));
				else
					g(div).innerHTML = unescape(response);
			} else {
				eval(unescape(xhr.responseText));
			}
			
			if(jsOnLoad)
				eval(jsOnLoad);
		}
	}
}
