    //
   //
  // My Tiny Ajax Library For Negocitur
 //
//                            - ~ d i t m a n ~ -

var xmlHttp; // Global throughout our script
var sidebarUpdateDefaultTimeoutValue = 30000;
var sidebarUpdateTimeoutValue = sidebarUpdateDefaultTimeoutValue;
var sidebarUpdateTimeoutIncrement = 10000;
var sidebarUpdateTimeoutMaxValue = 120000;
var sidebarUpdateLastLineAdded = "";

function AJAXdoSidebarUpdate() {
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp != null) { // Do magic!
		// Set the behavior to handle the server responses...
		xmlHttp.onreadystatechange=addItemToSidebar;
		var url="scripts/ajax_server_answering_machine.php";
		url=url+"?o=mtalfn_sidebar_update";
		url=url+"&sid="+Math.random();
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
		// Set a timeout so this function gets called quite often...
		setTimeout("AJAXdoSidebarUpdate()", sidebarUpdateTimeoutValue);
	} else {
		alert ("Your browser sucks, go get a new one!");
	}
}

// This function controls what shall we do with the server response...
function addItemToSidebar() {
	// We check out the state of the request:
	/* 
		0 The request is not initialized 
		1 The request has been set up 
		2 The request has been sent 
		3 The request is in process 
		4 The request is complete 
	*/
	if (xmlHttp.readyState==4) {
		// Also the HTTP status. 200 is OK, any other is "error" :(
		if (xmlHttp.status == 200) {
			// What item should I add?
			var sidebarObj = document.getElementById("__mtalfn_sidebar");
			var cadena = xmlHttp.responseText;
			// Si la cadena que nos devuelven es diferente a lo que hay, frenamos el update...
			if (sidebarUpdateLastLineAdded == cadena)
				sidebarUpdateTimeoutValue = (sidebarUpdateTimeoutValue < sidebarUpdateTimeoutMaxValue)?sidebarUpdateTimeoutValue+sidebarUpdateTimeoutIncrement:sidebarUpdateTimeoutMaxValue;
			else {
				sidebarUpdateTimeoutValue = sidebarUpdateDefaultTimeoutValue;
				sidebarUpdateLastLineAdded = cadena;
				sidebarObj.innerHTML = sidebarUpdateLastLineAdded;
			}
		}
	} // If it's not complete, we just wait longer...
}

// Get GetXmlHttp Object... Needed to see if our browser can handle AJAX...
function GetXmlHttpObject() {
	var xmlHttp=null;
	try { // Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) { // OOOPS!
		try { // Internet Explorer
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}