// global variables to keep track of the request
// and the function to call when done
var ajaxreq=false, ajaxCallback;
var	time;
var	endtime;
var	starttime;
var	dtime=0;
var started=0;

// ajaxRequest: Sets up a request
function ajaxRequest(filename) {
   try {
    // Firefox / IE7 / Others
    ajaxreq= new XMLHttpRequest();
   } catch (error) {
    try {
      // IE 5 / IE 6
      ajaxreq = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (error) {
      return false;
    }
   }
  	time  = new Date();
	timenow = time.getTime();

   ajaxreq.open("GET",filename+'?'+timenow);
   ajaxreq.onreadystatechange = ajaxResponse;
   ajaxreq.send(null);

}
// ajaxResponse: Waits for response and calls a function
function ajaxResponse() {
	time  = new Date();
	endtime = time.getTime();
	if (ajaxreq.readyState !=4) {
		
		if (started==0) {
	   		if (ajaxreq.readyState ==3) {
	   			time      = new Date();
				starttime = time.getTime();
				started=1;
	   		}
		}
	return;
	}
	started=0;

   if (ajaxreq.status==200) {
      // if the request succeeded...
	dtime = dtime+((endtime - starttime)/1000)
      if (ajaxCallback) ajaxCallback();
   } else alert("Request failed: " + ajaxreq.statusText);
   return true;
}

