//функция создает новый объект запроса для отправки запроса
var request = null;    //переменная для хранения объекта запроса
function createRequest() {
  try {
    request=new XMLHttpRequest(); //пытаемся создать объект запроса
  } catch (trymicrosoft) {
    try {
      request=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request=new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = null;  //если возникнут проблемы, эта строка гарантирует, что переменная запроса останется равной null
      }
    }
  }
  if (request == null) //проверка-если переменая равна null, значит произошла ошибка...
    alert("ошибка создания объекта запроса");
}
