﻿// JScript File

/***********************************************************************************************************************************
*  
*  Обьект AJAX
*
*  Обьект для работы с XML запросами.  
*
*/


function AJAX()
{
  // куда топаем
  this.URL = "";
  // Боди в виде или стринга или в виде DOM документа, если это POST или оставлем как есть если GET
  this.PostBody = null;
  // В любом случае возвращать XML результат
  this.IsXMLMode = false;
  // Возвращенный статус, если все хорошо то 200
  this.Status = 0;
  // Если не 200, то текст статуса
  this.ErrorMessage = null;
  
  // служебное
  this.xmlHttp = CreateXmlHttp();
  
  // Сосбвтенно производство вызова надо предварительно заполнить URL & PostBody (если POST)
  // Возвращается boll - все ли прошло хорошо. Если невсе - смотрим на статус и прочее
  this.Execute = function() {
      this.xmlHttp.open((this.PostBody) ? "POST" : "GET", this.URL, false);
      this.xmlHttp.setRequestHeader("RequestTarget", "XmlService");
      if (this.IsXMLMode)
          this.xmlHttp.setRequestHeader("ForceXML","True");
      if (this.PostBody) {
          this.xmlHttp.send(this.PostBody);
      }
      else {
          this.xmlHttp.send(null);
      }

      this.Status = this.xmlHttp.status;
      if (this.Status != 200) {
          this.ErrorMessage = this.xmlHttp.statusText;
      }

      return this.Status == 200;
  }
	
	// Возвращает пришедший сс ервера ответ в виде текста
	this.GetText = function()
	{
	  return this.xmlHttp.responseText;
	}
	
	// Возвращает пришедший с сервера ответ в виде DOM документа
  this.GetXml = function()
  {
    return this.xmlHttp.responseXML;
  }
}