function Saver(Show)
{
  var el = document.getElementById('saver');  
  if(Show)
  {
    var Width = screen.width / 2 - 180;
    var Height = screen.height / 2 - 200; 
 
    el.style.left = Width + "px";
    el.style.top = Height + "px";
    //el.style.position = "fixed";
    el.style.display = 'block';
  }
  else
    el.style.display = 'none';
}

function ShowHiddenForm(ID)
{
  var el = document.getElementById(ID);  
  //el.style.position = "fixed";
  el.style.display = 'block';
	var Width = screen.width / 2 - el.offsetWidth / 2;
  var Height = screen.height / 2 - el.offsetHeight / 2 + document.body.scrollTop - 90; 
  el.style.left = Width + "px";
  el.style.top = Height + "px";
}

function ShowForm(FormID, ImgID)
{
  var Form = document.getElementById(FormID);
	var Img = document.getElementById(ImgID);
  if(Form.style.display == "none")
	{
	  Img.src = "../img/engine/form_hide.png";
	  Form.style.display = "block";
	}
	else
	{
	  Img.src = "../img/engine/form_show.png";
	  Form.style.display = "none";
	}
}

function DisableForm(FormID, Disable)
{
  var Elements = document.getElementById(FormID).getElementsByTagName('*');
	for(var i = 0; i < Elements.length; i++)
	{
	  switch(Elements[i].tagName)
		{
		  case "INPUT": Elements[i].disabled = Disable; break;
			case "SELECT": Elements[i].disabled = Disable; break;
			case "BUTTON": Elements[i].disabled = Disable; break;
		}
	}
}

function CreateAjaxObject()
{
  this.Ajax = createXmlHttpRequestObject();
	this.Execute = Execute;
	return this;
}

function Execute(Page, Query, Answer, ShowSaver, FormID)
{
  if(this.Ajax.readyState == 3 || this.Ajax.readyState == 1)
	  return;
  if(FormID)
	  DisableForm(FormID, true);
  if(ShowSaver)
	  Saver(true);
  this.Answer = Answer;
	this.Ajax.open("GET", Page + Query, true);
	var TThis = this;
  this.Ajax.onreadystatechange = function()
	{
		if (TThis.Ajax.readyState == 4) 
    {
      if (TThis.Ajax.status == 200) 
      {
			  if(ShowSaver)
				  Saver(false);
				if(FormID)
	        DisableForm(FormID, false);
		    var xmlResponse = Ajax.responseXML;
			  if(!xmlResponse)
			  {
			    alert('Ошибка получения ответа от сервера.');
				  return;
			  }
        var xmlRoot = xmlResponse.documentElement;
			  if(!xmlRoot)
			  {
			    alert('Ответ сервера некорректный.');
				  return;
			  }
			  TThis.Answer(xmlRoot);
		  }
		  //else 
        //alert('Сервер не отвечает. Повторите попытку позже.');
		}
	};
	this.Ajax.setRequestHeader("Content-Type", "text/plain");
  this.Ajax.send(null);
}

function ExecutePOST(Page, Query, Answer, ShowSaver, FormID)
{
  if(FormID)
	  DisableForm(FormID, true);
  if(ShowSaver)
	  Saver(true);
  this.Answer = Answer;
	this.Ajax.open("POST", Page, true);
	var TThis = this;
  this.Ajax.onreadystatechange = function()
	{
		if (TThis.Ajax.readyState == 4) 
    {
      if (TThis.Ajax.status == 200) 
      {
			  if(ShowSaver)
				  Saver(false);
				if(FormID)
	        DisableForm(FormID, false);
		    var xmlResponse = Ajax.responseXML;
			  if(!xmlResponse)
			  {
			    alert('Ошибка получения ответа от сервера.');
				  return;
			  }
        var xmlRoot = xmlResponse.documentElement;
			  if(!xmlRoot)
			  {
			    alert('Ответ сервера некорректный.');
				  return;
			  }
			  TThis.Answer(xmlRoot);
		  }
		  else
        alert('Сервер не отвечает. Повторите попытку позже.');
		}
	};
  this.Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  this.Ajax.send(Query);
}

function CreateProtectKeyForm()
{
  var Body = document.getElementById('protect_key_body');
	
	var Row = document.createElement('tr');
	var CellTitle = document.createElement('td');
	var CellValue = document.createElement('td');
	
	CellTitle.innerHTML = "Код подтверждения:";
	CellTitle.className = "admin_new_cell";
	
  CellValue.className = "admin_new_cell";
	var KeyValue = document.createElement('input');
	KeyValue.type = "text";
	KeyValue.maxLength = 10;
	KeyValue.style["width"] = "100px";
	KeyValue.id = "protect_key_value";
	CellValue.appendChild(KeyValue);
	
	Row.appendChild(CellTitle);
	Row.appendChild(CellValue);
	Body.appendChild(Row);
}

function ClearProtectKeyForm()
{
  var Body = document.getElementById('protect_key_body');
	var Rows = Body.getElementsByTagName('tr');
	while(Rows.length > 0)
	  Body.removeChild(Rows[0]);
}

function ClearForm(FormID)
{
  var Form = document.getElementById(FormID).value;
  var Items = Form.getElementsByTagName('input');
	for(var i = 0; i < Items.length; i++)
	{
	  if(Items[i].type == "hidden")
		{
		  Form.removeChild(Items[i]);
			i--;
		}
	}
}

function Trim(sInString)
{
  sInString = sInString.replace(/ /g,' ');
  return sInString.replace(/(^\s+)|(\s+$)/g, "");
}

