var timeoutRequete = null;
var nomRequete = null;
var req;
function annulerRequeteHttp() {
	clearTimeout(timeoutRequete);
	timeoutRequete = null;
}
function requeteHttp(url, corps) {
	if (timeoutRequete != null)
		return;
	timeoutRequete = setTimeout("annulerRequeteHttp();", 20000);
	nomRequete = url;
	if (corps == null)
		corps = "";
	if (window.XMLHttpRequest) {		// branch for native XMLHttpRequest object
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {	// branch for IE/Windows ActiveX version
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req) {
		req.onreadystatechange = requeteHttp2;
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		//req.overrideMimeType("text/html; charset=ISO-8859-1");
		req.send(corps);
	} else {
		//alert("req est a null");
		annulerRequeteHttp();
	}
}
function requeteHttp2() {
	if ((req != null) && (req.readyState == 4)) { // only if req shows "complete"
		if (req.status == 200) { // only if "OK"
			switch (nomRequete) {
				case "/chat/chat_send.php" :
					annulerRequeteHttp();
					document.getElementById("message").value = "";
					document.getElementById("message").focus();
					requeteHttp("/chat/chat_receive.php", "nb=100");
					break;
				case "/chat/chat_receive.php" :
					document.getElementById("divChat").innerHTML = req.responseText;
					annulerRequeteHttp();
					break;
				default :
					alert("nomRequete inconnu : " + nomRequete);
					annulerRequeteHttp();
			}
		} else {
			document.getElementById("divChat").innerHTML = "<span style='color:red'>Probl&egrave;me de connexion !<br/> (" + req.statusText + ")</span>";
			annulerRequeteHttp();
		}
	}
}
function envoyerMsg() {
	var msg = document.getElementById("message").value;
	msg = escape(msg);
	requeteHttp("/chat/chat_send.php", "message=" + msg);
}
function recevoirMsgs() {
	requeteHttp("/chat/chat_receive.php", "nb=100");
}

recevoirMsgs();
setInterval("recevoirMsgs();", 4000);
