// Функция выполняет асинхронный запрос к странице.
function make_request(url, function_name, param)
{
  if (!is_param(function_name))
    function_name = 'set_request_result';
  if (!is_param(param))
    param = null;
  var http_request = false;
  if (window.XMLHttpRequest) // Mozilla, Safari, ...
  {
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType)
      http_request.overrideMimeType('text/xml');
  }
  else if (window.ActiveXObject) // IE
  {
    try
    {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        return false;
      }
    }
  }
  if (!http_request)
    return false;
  http_request.onreadystatechange = function() { eval(function_name + '(http_request);') };
  http_request.open('GET', url, true);
  http_request.send(param);
}
