var req;

function tracker(url, response){
	
  if (response != ''){ 
	// Response mode
	if(response == "ok" || response == "okok"){
		response = "";
	}
	
	success(response);
	
  }else{
	// Input mode

	loadXMLDoc(url);
  }
	
}

function loadXMLDoc(url) 
{
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send();
		}
	}
}

function processReqChange() 
{
	// only if req shows "complete"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			response  = req.responseXML.documentElement;
			result = response.getElementsByTagName('result')[0].firstChild.data;
			
			//alert("result is "+result);
			tracker('', result);
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}else{
		//alert("2There was a problem retrieving the XML data:\nreadyState is: " + req.readyState);
	}
}

