   var destinations = new Array(1);
   var http_requests= new Array(1);
   var http_funcs=new Array(1);
   http_requests[0] = false;
   destinations[0]= "";
   
   function makePOSTRequest(url, parameters,dest)
   {
   		mainPOSTRequest(url, parameters,dest,null);
   }
   
   function ajax_post(url,parameters)
   {
		var request=null;
		if (window.XMLHttpRequest)
		{
			request=new XMLHttpRequest();
			if(request.overrideMimeType)	request.overrideMimeType('text/html');
		}else if (window.ActiveXObject) { // IE
	        try {
	           request = new ActiveXObject("Msxml2.XMLHTTP");
	        } catch (e) {
	            try {
					request = new ActiveXObject("Microsoft.XMLHTTP");
	            } catch (e) {}
	        }
		}
		if (!request) {
			alert('Cannot create XMLHTTP instance '+i);
			return false;
		}
		
		request.open('POST',url,false);
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		request.setRequestHeader("Content-length", parameters.length);
		request.setRequestHeader("Connection", "close");
		request.send(parameters);	
		
		return request.responseText;
   }

   function mainPOSTRequest(url, parameters,dest,caller) {
      var i=0;
      while ((http_requests[i]!=null))
      {
       i++;
      }
      http_requests[i]=false;
      destinations[i]=dest;
      http_funcs[i]=caller;

      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_requests[i] = new XMLHttpRequest();
         if (http_requests[i].overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_requests[i].overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_requests[i] = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_requests[i] = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_requests[i]) {
         alert('Cannot create XMLHTTP instance '+i);
         return false;
      }


      http_requests[i].open('POST',url,true);
      http_requests[i].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_requests[i].setRequestHeader("Content-length", parameters.length);
      http_requests[i].setRequestHeader("Connection", "close");
      http_requests[i].send(parameters);
      http_requests[i].onreadystatechange = alertContents;
   }

   function alertContents()
    {
      var j=0;
      for (j=0;j<http_requests.length;j++)
      {
      if (http_requests[j]!=null)
      if (http_requests[j].readyState == 4)
        {
         if (http_requests[j].status == 200)
            {
            	hide_gray_bg();
             if (document.getElementById("loadbox"+j)) hidebox(j);
            	result = http_requests[j].responseText;
             if((el=document.getElementById(destinations[j])))
             {
             		switch(el.type)
             		{
             			case 'select-one':break;
             			default:
             				el.style.border="0px";
             		}
             		el.innerHTML = result;
             }
             if(http_funcs[j]!=null)
             {
             	func=http_funcs[j];
             	func(result);
             }
             http_requests[j]=null;
            }
        }
      }

    }