var idPartie;
var idJoueur;
var lastIdRcv=-1;
var lastIdSent=0;
var nomJoueur;
var quiSuisJe = -1;
var mpgame = false;
var outQueue = new Array();

function startMultiGame(partie, joueur, nom, qui) {
	idPartie = partie;
	idJoueur = joueur;
	nomJoueur = nom;
	lastIdRcv = -1;
	lastIdSent = 0;
	quiSuisJe = qui;
	mpgame = true;
	getMessages();
}

function getMessages() {
	var msgs = Array();
  	while (outQueue.length > 0)
  		msgs.push(outQueue.shift());
  var url = '/local/transactions/mpExchange.php?idPartie='+escape(idPartie)+'&quiSuisJe='+quiSuisJe+'&idJoueur='+escape(idJoueur)+'&lastIdRcv='+(lastIdRcv+1);
  if (msgs.length > 0) {
	    var debugSpan = document.getElementById("debug");
	    if (debugSpan) {
			var date = new Date();
		    setValue(debugSpan, "send "+msgs+" "+date.getTime());
		}
	  url += '&lastIdSent='+lastIdSent+'&message='+escape(msgs.join(","));
  }
  sendHRequest(url, doGetMessages);
}

function sendHRequest(url, cb) {
    var res = sendRequest(url,cb);
}

function doGetMessages() {
 if (http.readyState == 4) {
    var messages = http.responseText;
    if (messages && messages.length > 0) {
	    var msgArr=messages.split(/[\r\n]/);
		while (msgArr.length > 0) {
			var msg = msgArr.shift();
			if (msg.length > 0) {
				var msgParts = msg.split(":");
				if (msgParts[0] == "JDCLastRcv") {
					lastIdRcv = msgParts[1];
				}
				if (msgParts[0] == "JDCLastSent") {
					lastIdSent = msgParts[1];
				}
				if (msgParts[0] == "JDCMess") {
					handleMsg(msgParts[1]);
				}
			}
		}
	}
 setTimeout("getMessages()", 2000);
 }
}

function sendMessage(message, clean) {
	if (clean)
		outQueue = Array(message);
	else
 		outQueue.push(message);
}
