/**
 * This function executes AJAX calls
 */
function ajax_execute(url, parameters, targetID)
{
   // alert(url + ' ' + parameters + ' ' + targetID);

   var http_request = get_request_object();
   http_request.onreadystatechange = function()
   {
      if (http_request.readyState == 4)
      {
         if (document.getElementById(targetID))
         {
            //document.getElementById(targetID).style.display = "block";
            document.getElementById(targetID).innerHTML = http_request.responseText;
         }
      }
   }

   http_request.open("POST", url, true);
   http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   http_request.setRequestHeader("Encoding", "multipart/form-data");
   if (parameters != null)
   {
      http_request.setRequestHeader("Content-Length", parameters.length);
   }
   http_request.send(parameters);
}

function ajax_set_result(targetID, value, description)
{
   document.getElementById(targetID).value = value;
   document.getElementById(targetID + "_search_text").value = description;
}

function get_request_object()
{
   var http_request = false;

   try
   {
      // Browsers: Firefox, Opera 8.0+ and Safari
      http_request = new XMLHttpRequest();
   }
   catch(e)
   {
      // Browsers: Internet Explorer
      try
      {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e)
      {
         try
         {
            http_request = new ActiveXObject("Microsft.XMLHTTP");
         }
         catch(e)
         {
            alert("AJAX wordt niet ondersteund.");
         }
      }
   }
   return http_request;
}