var bufferToDo=new Array();
var bufferLengte=0;
var bufferBezig=false;

function voegToeBuffer(feedback, open, parameters, melding) {
	parameterSerie=gameParameters;
	if (parameters) {
		for (i=0; i<parameters.length; i++) {
			parameterSerie+="&"+parameters[i];
		}
	}
	bufferToDo[bufferLengte]=new Array();
	bufferToDo[bufferLengte]['feedback']=feedback;	
	bufferToDo[bufferLengte]['open']=siteUrl+documentRoot+open+parameterSerie;
	//alert(bufferToDo[bufferLengte]['open']);
	bufferToDo[bufferLengte]['melding']=melding;
	bufferLengte++;
	if (bufferBezig==false) runBuffer();
}

function verwijderBuffer(feedback) {
	for (var j=0; j<bufferLengte; j++) {
		if (bufferToDo[j]['feedback']==feedback) {
			for (var i=j+1; i<bufferLengte; i++) {
				bufferToDo[i-1]['feedback']=bufferToDo[i]['feedback'];
				bufferToDo[i-1]['open']=bufferToDo[i]['open'];
				bufferToDo[i-1]['melding']=bufferToDo[i]['melding'];
			}
			bufferLengte--;
			runBuffer();
			return true;
		}
	}
	return false
}

function runBuffer() {
	toonBuffer();
	if (bufferLengte==0) {
		bufferBezig=false;
		return true;
	}
	bufferBezig=true;
	var xmlHttp=GetXmlHttpObject();
	geefFeedbackFunctionNew(bufferToDo[0]['feedback'], xmlHttp)
	//alert("test"+ bufferToDo[0]['feedback']);
	xmlHttp.open("GET",bufferToDo[0]['open'],true);
	xmlHttp.send(null);
	return true;
}

function geefFeedbackFunctionNew(feedback, xmlHttp) {
	xmlHttp.onreadystatechange=eval(bufferToDo[0]['feedback']);
}

function GetXmlHttpObject() {
	xmlHttp=null;
	if (window.ActiveXObject){
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	} else if (window.XMLHttpRequest)
		xmlHttp=new XMLHttpRequest(); 
	return xmlHttp;
}
