// Ajax Request Variables
var req;
var target;
var isIE;
var ajaxSaveError=0;
var ajaxSaveErrorMessage="";
var requestsPending=0;
var waitCount=0;
var filaUrls = new Array;

function sleep(millis) {
	var date = new Date();
	var curDate = null;
	do { curDate = new Date(); }
	while(curDate-date < millis);
}

function waitToSendUrl(url) {
	if (requestsPending) {
		//alert("Esperando para enviar '"+url+"'");
		//document.getElementById("ajaxBox").innerHTML="<font color='orange'><strong>Esperando para enviar '"+url+". waitCount: "+waitCount+", requestsPending: "+requestsPending+"</strong></font>";
		//waitCount++;
		setTimeout("waitToSendUrl(\""+url+"\")", 200);
	} else {
		//document.getElementById("ajaxBox").innerHTML="<font color='orange'><strong>Fila vazia!</strong></font>";
		//alert("Enviando url da fila '"+url+"'");
		sendUrl(url);
		waitCount--;
	}
}

function sendUrl(url) {
	requestsPending++;
	if (ajaxSaveError != 0) {
		//alert("DEBUG - já tem erro '"+ajaxSaveErrorMessage+"', não enviando");
		return;
	}
	//alert("DEBUG - enviando url '"+url+"'");
	initRequest(url);
	//alert("DEBUG - req: "+req);
	req.onreadystatechange = processRequest;
	req.open('POST', "include/doAjax.php", true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", url.length);
	req.setRequestHeader("Connection", "close");
	//alert("sending urL '"+url+"'");
	req.send(url);
}


function initRequest(url) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function processRequest() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			var message = req.responseText;
			//alert("DEBUG - requestsPending 1: '"+requestsPending+"'");
			requestsPending = requestsPending-1;
			//alert("DEBUG - message: '"+message+"', requestsPending 2: '"+requestsPending+"'");
		}
	}
}



function cleanAjaxBox() {
	document.getElementById("ajaxBox").innerHTML="&nbsp;";
	document.getElementById("ajaxBox").style.visibility="hidden";
}

function codificaUrlPorNavegador(texto) {
	if (navigator.userAgent.indexOf("Firefox") != -1) {
		return encodeURIComponent(texto);
	} else {
		return escape(texto);
	}
}

