   var http_requests= new Array(1);
   http_requests[0] = false;

   function AjaxRequest(parameters,dest,loadbox,tries)
    {
      var url="/ajax.php";
      var i=0;
      while (http_requests[i]) i++;
      http_requests[i]=[]
      http_requests[i].dest=dest;
      http_requests[i].params=parameters;
      if (loadbox)
      http_requests[i].loadbox=loadbox;
      else
      http_requests[i].loadbox=false;

      if (tries)
       http_requests[i].tries=tries;
      else
       http_requests[i].tries=0;

       http_requests[i].tries++;

      if (tries===true)
       http_requests[i].tries=99;



      if (window.XMLHttpRequest)
       { // Mozilla, Safari,...
         http_requests[i].request = new XMLHttpRequest();
         if (http_requests[i].request.overrideMimeType)
          {
            http_requests[i].request.overrideMimeType('text/html');
          }
      }
      else
       if (window.ActiveXObject)
        { // IE
         try
         {
            http_requests[i].request = new ActiveXObject("Msxml2.XMLHTTP");
         }
          catch (e)
           {
            try
            {
               http_requests[i].request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { if (http_requests[i].loadbox) hidebox(http_requests[i].loadbox);  }
          }
        }
      if (!http_requests[i].request) {
         alert('Cannot create XMLHTTP instance! You might not be able to use this site, please contact your computer administrator!');
         hidebox(http_requests[i].loadbox);
         return false;
      }

      http_requests[i].request.open('POST',url,true);
      http_requests[i].request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_requests[i].request.setRequestHeader("Content-length", parameters.length);
      http_requests[i].request.setRequestHeader("Connection", "close");
      http_requests[i].request.send(parameters);
      http_requests[i].request.onreadystatechange = alertContents;
	  exec = "";
      if (http_requests[i].tries<3)
        exec="AjaxRequest('"+http_requests[i].params+"','"+http_requests[i].dest+"',"+http_requests[i].loadbox+","+(http_requests[i].tries)+")";
      else
	  if (http_requests[i].loadbox)
       exec="boxerror("+http_requests[i].loadbox+")";

	   if (http_requests[i].loadbox)
        boxret = "boxretry("+http_requests[i].loadbox+","+(http_requests[i].tries+1)+");";
	  else
	   boxret = "";
      http_requests[i].timer=setTimeout(boxret+"http_requests["+i+"]=null;"+exec,15000);

   }
   function alertContents()
    {
      var j=0;

      for (j=0;j<http_requests.length;j++)
      {
      if (http_requests[j]!=null)
      {
      if (http_requests[j].request.readyState == 4)
        {
         clearTimeout(http_requests[j].timer);
         if (http_requests[j].request && http_requests[j].request.status == 200)
            {
             text = http_requests[j].request.responseText;
             eval(http_requests[j].dest);
             if (http_requests[j].loadbox) hidebox(http_requests[j].loadbox);
            }
         else
         {
          if (http_requests[j].tries<3)
           {
		    if (http_requests[j].loadbox)
            boxretry(http_requests[j].loadbox,+http_requests[j].tries+1);
            setTimeout("AjaxRequest('"+http_requests[j].params+"','"+http_requests[j].dest+"',"+http_requests[j].loadbox+","+(http_requests[j].tries)+")",3000);
           }
          else
          {
           if (http_requests[j].loadbox)
              boxerror(http_requests[j].loadbox);
          }
         }
         http_requests[j].request=null;
         http_requests[j]=null;
        }
      }
      }
    }