var grey, animbox, gmimg, GAflag=0;
var GlobSizeABe = {W:0, H:0, L:0, T:0};
var GlobSizeABs = {W:0, H:0, L:0, T:0};
var sendreqlp, sendnews, newreqdet, fordelnew, sendclients, fordelclient, StrNumNews = 0, StrNumClients = 0, dopclient;
var DaDflag = 0;
var CoordE = new Array(2);
var regform, slideFlag, control, list, alist;

function UploadAns(data) /* функция вызывается по завершении загрузки файла */
{
  var DataArr = data.split('|');
  alert(DataArr[0]);
  document.getElementById('gouploader').style.display = 'none';
  document.getElementById('goupload').style.display = 'block';
  document.getElementById('resupload').innerHTML = DataArr[1];
}

function FileUpload() /* функция вызывается при клике на кнопку "Загрузить файл" */
{
  document.getElementById('goupload').style.display = 'none';
  document.getElementById('gouploader').style.display = 'block';
}

function dlFilesUp(n) /* функция вызывается при клике на кнопку "Обновить файл" во вкладке "Загрузки" */
{
  var ButClass = document.getElementsByClassName('godlup');
  var ImgClass = document.getElementsByClassName('dlfloader');
  ButClass[n].style.display = 'none';
  ImgClass[n].style.display = 'block';
  document.getElementById('upfordlup').style.display = 'block';
}

function dlFilesUpAns(data) /* функция вызывается по завершении загрузки одного из файлов в папку downloads */
{
  var DataArr = data.split('|');
  alert(DataArr[0]);
  var n = DataArr[1] - 0;
  document.getElementById('upfordlup').style.display = 'none';
  var ButClass = document.getElementsByClassName('godlup');
  var ImgClass = document.getElementsByClassName('dlfloader');
  ButClass[n].style.display = 'block';
  ImgClass[n].style.display = 'none';
}

function saFileUpGo(n) // sa
{
  var ButClass = document.getElementsByClassName('godlup');
  var ImgClass = document.getElementsByClassName('dlfloader');
  ButClass[n].style.display = 'none';
  ImgClass[n].style.display = 'block';
}

function saFileUp(data) //sa answer
{
  alert(data);
  var ButClass = document.getElementsByClassName('godlup');
  var ImgClass = document.getElementsByClassName('dlfloader');
  ButClass[0].style.display = 'block';
  ImgClass[0].style.display = 'none';
}

/*function Obzor()
{
  var userfile = document.fileform.elements['userfile'];
  alert(userfile.value);
  userfile.click();
}*/

function ChangeListPO(n) // смена видимой панели личного кабинета
{
   var elsArr = document.getElementsByClassName('option');
   for (var k in elsArr)
    {
  	  elsArr[k].style.backgroundColor = '#F5F5F5';
	  elsArr[k].style.width = '114px';
	}
   elsArr[n].style.backgroundColor = '#FFFFFF';
   elsArr[n].style.width = '116px';  
   var inpocrcArr = document.getElementsByClassName('inpocrc');
   for (var k in inpocrcArr) { inpocrcArr[k].style.display = 'none'; }
   inpocrcArr[n].style.display = 'block'; 
}

function HideVisDel(el, val)
{
  if (document.all) el.filters.alpha.opacity = val;
   else el.style.opacity = val/100;
}

function SlideNews(id) // слайдим блок новостей
{
  /*var nc = actel.parentNode.parentNode;
  var allnc = document.getElementsByClassName('newscont');
   //if (typeof allnc = 'object')
  if (!document.all) nc.style.opacity = 0.5;*/ 
  // на случай дополнительных доработок с прозрачность и убиранием блоков "побробнее"
  
  var news = document.getElementById('news');
  news.style.width = '680px';
  var newscenterpart = document.getElementById('newscenterpart');
  if (slideFlag!=1) AnimationSlide(640, 204, newscenterpart, 1, id);
   else AfterSlide(id);
}

function CloseNewsDetail() // задвигаем обратно блок новостей
{
  var ndclose = document.getElementById('ndclose');
  ndclose.style.display = 'none';
  var newdetail = document.getElementById('newdetail');
  newdetail.style.display = 'none';
  innerNewsDivs('', '', '');
  var newscenterpart = document.getElementById('newscenterpart');
  AnimationSlide(204, 640, newscenterpart, 0); 
}

function innerNewsDivs(date, header, content) // добавление информации в блоки полного описания новостей
{
  var fordate = document.getElementById('fordate');
  var forheader = document.getElementById('forheader');
  var forcontent = document.getElementById('forcontent');
  fordate.innerHTML = date;
  forheader.innerHTML = header;
  content = content.replace('[url', '<a');
  content = content.replace('[/url]', '</a>');
  content = content.replace(']', '>');
  //content += "<a class='aclass' href='ligosavia.com'>ligos</a>";
  forcontent.innerHTML = content;
  return;
}

function AnimationSlide(Wmax, Wmin, el, aflag, id) // функция слайдит новости (анимация)
{      
  var duration = 650;
  var start = new Date().getTime();

  setTimeout(function()
    {
         var now = (new Date().getTime()) - start;
         var progress = now / duration;
         var W = Math.abs((Wmax - Wmin) * progress + Wmin);
		 if (aflag == 1)
          { if (W>Wmax) W = Wmax; }
		  else { if (W<Wmax) W = Wmax; } 
		 el.style.width = W + 'px';
         if (progress < 1) setTimeout(arguments.callee, 10);
         else 
		  {
		    el.style.width = Wmax + 'px'; 
		    if (aflag == 1) AfterSlide(id);
			 else AfterCloseDetail(); 
		  }
    }, 10);
}

function AfterSlide(id)
{ 
  var snewsData = { url: 'phpscripts/newdetail.php', params: '', method: 'post' }; // массив параметров
  newreqdet = new Request(snewsData, AnswerDetail); // для запроса на подробнее (новость целиком)
  slideFlag = 1;
  var ndclose = document.getElementById('ndclose');
  ndclose.style.display = 'block';
  var sParam = encodeURIComponent('id') + '=' + encodeURIComponent(id);
  /*var addnew = document.getElementById('addnew');
  var addnewload = document.getElementById('addnewload');
  addnew.style.display = 'none';
  addnewload.style.display = 'block';*/
  var newdetail = document.getElementById('newdetail');
  newdetail.style.display = 'block';
  var loadnew = document.getElementById('loadnew');
  loadnew.style.display = 'block';
  //alert(newreqdet.req);
  newreqdet.sendRequest(sParam);
}

function AfterCloseDetail()
{
  slideFlag = 0;
  var news = document.getElementById('news');
  news.style.width = '243px';
}

function AnimationBox(Lmax, Tmax, Lmin, Tmin, Wmax, Hmax, Wmin, Hmin, flag) // анимация схемы проезда
{      
  gmimg.style.display = 'none';
  GlobSizeABs.W = Wmin;
  GlobSizeABs.H = Hmin;
  GlobSizeABs.L = Lmin;
  GlobSizeABs.T = Tmin;
  SetWHLT(Wmin, Hmin, Lmin, Tmin);
  animbox.style.display = 'block';
  var duration = 650;
  var start = new Date().getTime();

  setTimeout(function()
    {
         var now = (new Date().getTime()) - start;
         var progress = now / duration;

         var W = Math.abs((Wmax - Wmin) * progress + Wmin);
         var H = Math.abs((Hmax - Hmin) * progress + Hmin);
         var L = Math.abs((Lmax - Lmin) * progress + Lmin);
		 var T = Math.abs((Tmax - Tmin) * progress + Tmin);
		 SetWHLT(W, H, L, T);
         if (progress < 1)  
          {
            setTimeout(arguments.callee, 10);
           }
         else
          {
		    GlobSizeABe.W = W;
			GlobSizeABe.H = H;
			GlobSizeABe.L = L;
			GlobSizeABe.T = T;
            SetWHLT(Wmax, Hmax, Lmax, Tmax);			
            AfterAnimBox(flag);
           }
       }, 10);
}

function SetWHLT(W, H, L, T)
{
  animbox.style.width = W + 'px';
  animbox.style.height = H + 'px';
  animbox.style.left = L + 'px';
  animbox.style.top = T + 'px';
  return;
}

function BeforeAnimBox(n)
{
  var PathArr = ["css/narezka/imgmap.jpg", "css/narezka/imgmap2.jpg"];
  if (n==0) var dop = '';
   else var dop = n;
  gmimg = document.getElementById('gmimg'+dop);
  grey.style.display = 'block';
  var mapcont = document.getElementById('mapcont');
  mapcont.innerHTML = '<img class="loading" src="css/narezka/loading.gif">';
  var CoordEl = getAbsolutePosition(gmimg);
  GAflag = 1; // устанавливаем флаг в 1 на время анимаии
  animbox.innerHTML = "<img style='width: 100%; height: 100%;'src='"+PathArr[n]+"' onload='AnimationBox("+(CoordEl.x-500)+", "+(CoordEl.y-100)+", "+CoordEl.x+", "+CoordEl.y+", 480, 340, 130, 180, 1)'>";
  //AnimationBox((CoordEl.x-500), (CoordEl.y-200), (CoordEl.x-13), (CoordEl.y-78), 480, 340, 130, 180);
  /* Lmax, Tmax, Lmin, Tmin, Wmax, Hmax, Wmin, Hmin */
}

function AfterAnimBox(flag)
{
  if (flag==1) 
   {
      var mapcont = document.getElementById('mapcont');
	  mapcont.innerHTML = 'СХЕМЫ ПРОЕЗДА';
    }
   else 
    {
	  animbox.innerHTML = '';
      grey.style.display = 'none';
      animbox.style.display = 'none';
      gmimg.style.display = 'block';
    }	
  GAflag = 0;
}

function CloseAnimBox()
{
  if (GAflag==1) return;
   else
    {
      GAflag = 1;
      AnimationBox(GlobSizeABs.L, GlobSizeABs.T, GlobSizeABe.L, GlobSizeABe.T, GlobSizeABs.W, GlobSizeABs.H, GlobSizeABe.W, GlobSizeABe.H, 0);
    }
}

function ChangeValFocus(el)
{
   if (el.value == "password" || el.value == "username") el.value="";
   return;
}

function ChangeValBlur(el)
{
  el.value = el.value.replace(/\s+/gi, "");
  if (el.value == "") 
   {
	 if (el.type == 'text') el.value="username";
	  else el.value = "password";  
	}
  return;
}

function ShowRegForm() // открыть форму регистрации
{
  var sgrey = document.getElementById('sgrey');
  sgrey.style.display = 'block';
  var regform = document.getElementById('regform');
  regform.style.display = 'block';
}

function CloseRegForm() // скрыть форму регистрации
{
  var regform = document.getElementById('regform');
  regform.style.display = 'none';
  var sgrey = document.getElementById('sgrey');
  sgrey.style.display = 'none';
  document.register.elements['login'].value = 'username';
  document.register.elements['pass'].value = 'password';
  var lperror = document.getElementById('lperror');
  lperror.innerHTML = '';
}

/*  ЛИЧНЫЙ КАБИНЕТ */
function ShowPersOffice() // показать личный кабинет
{
  var sgrey = document.getElementById('sgrey');
  sgrey.style.display = 'block';
  var persoffice = document.getElementById('persoffice');
  persoffice.style.display = 'block';
}

function ClosePersOffice() // скрыть личный кабинет
{
  var sgrey = document.getElementById('sgrey');
  sgrey.style.display = 'none';
  var persoffice = document.getElementById('persoffice');
  persoffice.style.display = 'none';
}

function PersonFocus(el)
{
   if (el.value == "Заголовок новости" || el.value == "Текст новости") el.value="";
   return;
}

function PersonBlur(el)
{
  el.value = el.value.replace(/\s+/gi, " ");
  if (el.value == "") 
   {
	 if (el.type == 'text') el.value="Заголовок новости";
	  else el.value = "Текст новости";  
	}
  return;
}

function AddNewReq() // запрос на добавление новости
{
  var nheader = document.addnews.elements['nheader'].value;
  var newscont = document.addnews.elements['newscont'].value;
  var re = /(\")|(\')/g;
  nheader = nheader.replace(re, '\$&');  // добавляем слэши
  newscont = newscont.replace(re, '\$&'); // добавляем слэши
  //alert('nheader = ' + nheader + ' \r\n ' + 'newscont = ' + newscont);
  var sParam = encodeURIComponent('nheader') + '=' + encodeURIComponent(nheader) + '&' + encodeURIComponent('newscont') + '=' + encodeURIComponent(newscont);
  //alert(sParam);
  document.getElementsByClassName('addnew')[0].style.display = 'none';
  document.getElementsByClassName('addnewload')[0].style.display = 'block';
  document.getElementsByClassName('nfdgrey')[0].style.display = 'block';
  document.getElementsByClassName('nfdload')[0].style.display = 'block';
  var snewsData = { url: 'phpscripts/addnews.php', params: '', method: 'post' }; // массив параметров
  sendnews = new Request(snewsData, AnswerNew); // для запроса добавления новости
  sendnews.sendRequest(sParam);
}

function AddNewClient() // запрос на добавление нового клиента
{
  var cfio = document.addclients.elements['cfio'].value;
  var clogin = document.addclients.elements['clogin'].value;
  var cpass = document.addclients.elements['cpass'].value;
  var ccode = document.addclients.elements['ccode'].value;
  var cmail = document.addclients.elements['cmail'].value;
  if (cfio == '' || clogin == '' || cpass == '' || ccode == '') 
   {
     alert('Информация не может быть добавлена. \r\n Вы заполнили не все обязательные поля.');	
	 return;
	}
	
  var re = /(\")|(\')/g;
  cfio = cfio.replace(re, '\$&');  // добавляем слэши
  
  var sParam = encodeURIComponent('cfio') + '=' + encodeURIComponent(cfio) + '&' + encodeURIComponent('clogin') + '=' + encodeURIComponent(clogin) + 
         '&' + encodeURIComponent('cpass') + '=' + encodeURIComponent(cpass) + '&' + encodeURIComponent('ccode') + '=' + encodeURIComponent(ccode) +
		 '&' + encodeURIComponent('cmail') + '=' + encodeURIComponent(cmail);
  //alert(sParam);
  document.getElementsByClassName('addnew')[1].style.display = 'none';
  document.getElementsByClassName('addnewload')[1].style.display = 'block';
  document.getElementsByClassName('nfdgrey')[1].style.display = 'block';
  document.getElementsByClassName('nfdload')[1].style.display = 'block';
  var clientsData = { url: 'phpscripts/addclients.php', params: '', method: 'post' }; // массив параметров
  sendclients = new Request(clientsData, AnsAddClient); // для запроса добавления новости
  sendclients.sendRequest(sParam);
}

/*  /ЛИЧНЫЙ КАБИНЕТ */

function goRequest() // запрос с логином и паролем
{
  var login = document.register.elements['login'].value.toLowerCase();
  var password = document.register.elements['pass'].value;//.toLowerCase();
  if (login.length>15) 
   {
     login = login.substring(0, 15);
	 document.register.elements['login'].value = login;
	}
  if (password.length>15) 
   {
     password = password.substring(0, 15);
	 document.register.elements['pass'].value = password;
	}
  //alert(login +' \r\n ' + password);
  var rel = /^(\w+)(\-?)(\w+)$/m;
  var rep = /\W/g;
  var boollogin = login.search(rel);
  var boolpass = password.search(rep);
  //alert('boollogin = ' + boollogin + ' \r\n ' + 'boolpass = ' + boolpass);
  if (boollogin != -1 && boolpass == -1) 
  {
     var sParam = encodeURIComponent('login') + '=' + encodeURIComponent(login) + '&' + encodeURIComponent('pass') + '=' + encodeURIComponent(password);
     //alert(sParam);
	 var rfcontup = document.getElementById('rfcontup');
	 rfcontup.style.zIndex = 2;
	 rfcontup.innerHTML = "<span id='loadz'></span>";
	 var scData = { url: 'phpscripts/newsess.php', params: '', method: 'post' }; // массив параметров
	 sendreqlp = new Request(scData, AnswerLP); // для запроса проверки логина и пароля
	 sendreqlp.sendRequest(sParam); //alert('GO'); // sparams можно вписывать в массив scData
   }
   else 
    {
	  var lperror = document.getElementById('lperror');
	  lperror.innerHTML = 'некорректный ввод логина и(или) пароля!';
	}
}

function ExitAdm()
{
  var sParam = encodeURIComponent('exitadm') + '=' + encodeURIComponent('1');
  //alert(sParam);
  var persup = document.getElementById('persup');
  persup.style.display = 'block';
  var scData = { url: 'phpscripts/newsess.php', params: '', method: 'post' }; // массив параметров
  sendreqlp = new Request(scData, AnswerLP); // для запроса проверки логина и пароля
  sendreqlp.sendRequest(sParam);
}

function DeleteNew(id)  // запрос на удаление новости
{
  document.getElementsByClassName('nfdgrey')[0].style.display = 'block';
  document.getElementsByClassName('nfdload')[0].style.display = 'block';
  var sParam = encodeURIComponent('id') + '=' + encodeURIComponent(id) + '&' + encodeURIComponent('strnum') + '=' + encodeURIComponent(StrNumNews);
  var fdnData = { url: 'phpscripts/delonenew.php', params: '', method: 'post' }; // массив параметров
  fordelnew = new Request(fdnData, AnsDelNew); // для запроса проверки логина и пароля
  fordelnew.sendRequest(sParam); //alert('GO'); // sparams можно вписывать в массив scData 
}

function BeforeListNew(n) // функция подготавливает "перелистывание" новостей (постранично)
{                // собственно вызывает соответствующую ф-цию, передавая ей нужные параметры
  ChangeList(n, 0, 'phpscripts/newslist.php', AnsListNew);
  StrNumNews = n;
}

function BeforeListClient(n) // функция подготавливает "перелистывание" информации из бд с клиентами (постранично)
{                // собственно вызывает соответствующую ф-цию, передавая ей нужные параметры
  ChangeList(n, 1, 'phpscripts/clientslist.php', AnsListClient);
  StrNumClients = n;
}

function allListNew(n) // запрос на перелистывание новостей (для всех) - левая колонка
{
  var sParam = encodeURIComponent('strnum') + '=' + encodeURIComponent(n);
  var listData = { url: 'phpscripts/outnews.php', params: '', method: 'post' }; // массив параметров
  alist = new Request(listData, allListAns); // для запроса проверки логина и пароля
  alist.sendRequest(sParam); //alert('GO'); // sparams можно вписывать в массив scData 
}

function allListAns() // ответ на перелистывание новостей (для всех) - левая колонка
{
   if (alist.req.readyState == 4)
     { 
	    var data = alist.req.responseText;
		document.getElementById('ncall').innerHTML = data;	   
	  }
}

function ChangeList(strnum, who, turl, tfunc) // функция отвечает за переход по страницам 
{      // в перспективе - для любой базы данных (новости, клиенты, выгрузка)
  document.getElementsByClassName('nfdgrey')[who].style.display = 'block';
  document.getElementsByClassName('nfdload')[who].style.display = 'block';
  var sParam = encodeURIComponent('strnum') + '=' + encodeURIComponent(strnum);
  var listData = { url: turl, params: '', method: 'post' }; // массив параметров
  list = new Request(listData, tfunc); // для запроса проверки логина и пароля
  list.sendRequest(sParam); //alert('GO'); // sparams можно вписывать в массив scData 
}

function DeleteClient(id)  // запрос на удаление клиента
{
  document.getElementsByClassName('nfdgrey')[1].style.display = 'block';
  document.getElementsByClassName('nfdload')[1].style.display = 'block';
  var sParam = encodeURIComponent('id') + '=' + encodeURIComponent(id) + '&' + encodeURIComponent('strnum') + '=' + encodeURIComponent(StrNumClients);
  var fdcData = { url: 'phpscripts/deloneclient.php', params: '', method: 'post' }; // массив параметров
  fordelclient = new Request(fdcData, AnsDelClient); // для запроса проверки логина и пароля
  fordelclient.sendRequest(sParam); //alert('GO'); // sparams можно вписывать в массив scData
 
}

function FullInfClient(id, n)  // запрос полной информации по клиенту
{
  if (typeof dopclient != 'undefined' && dopclient.loadflag == 1) return;
  document.getElementById('cfullcont').innerHTML = '';
  var cdetClass = document.getElementsByClassName('cdetail');
  var Coord = getAbsolutePosition(cdetClass[n]);
  var cfull = document.getElementById('cfull');
  cfull.style.top = (Coord.y - 600) + 'px';
  cfull.style.display = 'block';
  document.getElementById('cfloader').style.display = 'block';
  var sParam = encodeURIComponent('id') + '=' + encodeURIComponent(id);
  var fdcData = { url: 'phpscripts/clientdopfunc.php', params: '', method: 'post' }; // массив параметров
  dopclient = new Request(fdcData, AnsFIC); // для запроса проверки логина и пароля
  dopclient.loadflag = 1;
  dopclient.sendRequest(sParam); //alert('GO'); // sparams можно вписывать в массив scData
}

/**********************   AJAX   ***************************/

function initXMLHTTPRequest()
 {
	var xRequest = null;
    if (window.XMLHttpRequest) /* инициализация объекта запроса */
     { xRequest = new XMLHttpRequest(); }
     else if(window.ActiveXObject)
	  { xRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
    return xRequest;   
 }

function Request(obj, onReadyState) /* класс - общее для всех запросов */
{
  this.req = initXMLHTTPRequest();
  this.sendRequest = function(oparams)
    {
	  this.req.onreadystatechange = onReadyState;
	  /*function() { 
	    if (this.readyState == 4)
         { var data = this.responseText;
		   onReadyState(data);
		  }
		}*/
	  this.req.open(obj.method, obj.url, true);	  
	  this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	  if (typeof oparams != 'undefined') this.req.send(oparams); // или  if (arguments.length) - если есть аргументы
	   else this.req.send(obj.params); 
    }	 
}

function AnswerLP() // функция-обработчик ответа запроса логина и пароля
{     
   if (sendreqlp.req.readyState == 4)
    { 
	  var data = sendreqlp.req.responseText;
	  data = data.substring(0,2);
      //alert(data);	  
      if (data == "OK") document.location.reload();
       else 
	    {
          setTimeout( function(){
		    var lperror = document.getElementById('lperror');
	        lperror.innerHTML = 'указан неверный логин и(или) пароль!';
            var rfcontup = document.getElementById('rfcontup');
	        rfcontup.style.zIndex = 0;
	        rfcontup.innerHTML = "";
			var persup = document.getElementById('persup');
            persup.style.display = 'none';
            }, 300);			
		}	 
     }		
}

function AnswerNew() // функция-обработчик запроса добавления новости
{   
   if (sendnews.req.readyState == 4)
    { 
	  var data = sendnews.req.responseText;
      // здесь нужно будет выводить сообщение в поверхностный див
      document.getElementsByClassName('nfdgrey')[0].style.display = 'none';
      document.getElementsByClassName('nfdload')[0].style.display = 'none';
      if (data.substring(0,2) == "NO") alert('Новость не была добавлена. \r\n Попробуйте ещё раз.');
       else 
	    { 
           alert('Новость успешно добавлена'); 
		   document.getElementsByClassName('fornewsdel')[0].innerHTML = data + " <div class='nfdgrey'></div> <div class='nfdload'></div>";
		}	
      document.getElementsByClassName('addnewload')[0].style.display = 'none';	 		
      document.getElementsByClassName('addnew')[0].style.display = 'block';
    }	   
}

function AnsAddClient() // функция-обработчик запроса добавления клиента
{
  if (sendclients.req.readyState == 4)
    { 
	  var data = sendclients.req.responseText;
      // здесь нужно будет выводить сообщение в поверхностный див
      document.getElementsByClassName('nfdgrey')[1].style.display = 'none';
      document.getElementsByClassName('nfdload')[1].style.display = 'none';
      if (data.substring(0,2) == "NO") alert('Информация по клиенту не была добавлена. \r\n Попробуйте ещё раз.');
       else 
	    { 
           alert('Информация по клиенту успешно добавлена'); 
		   document.getElementsByClassName('fornewsdel')[1].innerHTML = data + " <div class='nfdgrey'></div> <div class='nfdload'></div>";
		}	
      document.getElementsByClassName('addnewload')[1].style.display = 'none';	 		
      document.getElementsByClassName('addnew')[1].style.display = 'block';
    }	   
}

function AnswerDetail() // ответ на запрос показа полного текста новости
{
    if (newreqdet.req.readyState == 4)
     { 
	   var data = newreqdet.req.responseText;
	   var ansobj = eval("("+data+")");
	   var loadnew = document.getElementById('loadnew');
       loadnew.style.display = 'none';
	   innerNewsDivs(ansobj.date, ansobj.header, ansobj.content);
	  }
}

function AnsDelNew() // ответ на запрос удаления новости
{
   if (fordelnew.req.readyState == 4)
     { 
	    var data = fordelnew.req.responseText;
	    if (data.substring(0,2) == "NO") alert("Новость не была удалена. \r\n Попробуйте ещё раз.");
	     else document.getElementsByClassName('fornewsdel')[0].innerHTML = data + " <div class='nfdgrey'></div> <div class='nfdload'></div>";
		document.getElementsByClassName('nfdgrey')[0].style.display = 'none';
        document.getElementsByClassName('nfdload')[0].style.display = 'none';	   
	  }
}

function AnsListNew() // ответ на запрос "перелистывания" новостей
{
   if (list.req.readyState == 4)
     { 
	    var data = list.req.responseText;
	    document.getElementsByClassName('fornewsdel')[0].innerHTML = data + " <div class='nfdgrey'></div> <div class='nfdload'></div>";
		document.getElementsByClassName('nfdgrey')[0].style.display = 'none';
        document.getElementsByClassName('nfdload')[0].style.display = 'none';	   
	  }
}

function AnsListClient() // ответ на запрос "перелистывания" информации о клиентах
{
  if (list.req.readyState == 4)
    { 
	   var data = list.req.responseText;
	   document.getElementsByClassName('fornewsdel')[1].innerHTML = data + " <div class='nfdgrey'></div> <div class='nfdload'></div>";
	   document.getElementsByClassName('nfdgrey')[1].style.display = 'none';
       document.getElementsByClassName('nfdload')[1].style.display = 'none';	   
	}
}

function AnsDelClient() // ответ на запрос удаления клиента
{
  if (fordelclient.req.readyState == 4)
     { 
	    var data = fordelclient.req.responseText;
	    if (data.substring(0,2) == "NO") alert("Запрос на удаление не прошёл. \r\n Попробуйте ещё раз.");
	     else document.getElementsByClassName('fornewsdel')[1].innerHTML = data + " <div class='nfdgrey'></div> <div class='nfdload'></div>";
		document.getElementsByClassName('nfdgrey')[1].style.display = 'none';
        document.getElementsByClassName('nfdload')[1].style.display = 'none';	   
	  }
}

function AnsFIC() // ответ на запрос полной информации по клиенту
{
  if (dopclient.req.readyState == 4)
     { 
	    var data = dopclient.req.responseText;
		dopclient.loadflag = 0;
	    if (data.substring(0,2) == "NO") alert("Нет связи с базой данных. \r\n Попробуйте ещё раз.");
	     else 
		  {
		    document.getElementById('cfloader').style.display = 'none';
            document.getElementById('cfullcont').innerHTML = data;            
          }	   
	  }
}

function CloseFIC() // закрыть окно с полной информацией по клиенту
{
  document.getElementById('cfullcont').innerHTML = '';
  document.getElementById('cfull').style.display = 'none';
}

/**********************   /AJAX   ***************************/


// ниже идут функции для перетаскивания окна авторизации
document.onmousemove = function(event) // drag & drop нужно будет переделать !!! - сделать более универсальным
{
  if (DaDflag == 1)
    {
	  if (document.all) return;
	  event = event || window.event;
	  event.preventDefault ? event.preventDefault() : (event.returnValue=false);
	  var x,y;	  
	  if (document.all)   
	   { y = event.y;
	     x = event.x;} 
	   else  
	      { y = event.pageY;
            x = event.pageX;} 
	  var CoordHl = getAbsolutePosition(regform);
	  if (document.all) 
	   {
	     regform.style.top = Math.abs(y - 20) + 'px';
	     regform.style.left = Math.abs(x - 200) + 'px';
	   }
	   else 
	    {
          regform.style.top = Math.abs(CoordHl.y + y - CoordE[1]) + 'px';
	      regform.style.left = Math.abs(CoordHl.x + x - CoordE[0]) + 'px';
		}
	  CoordE[0] = x;
	  CoordE[1] = y;
	 }
   else return; 
}

document.onmouseup = function()
{ 
  if (DaDflag == 1)
   {
     DaDflag=0; 
     var regdad = document.getElementById('regdad');
     regdad.style.height = '30px';
     //enabledSelection(document.body);
	}
}

function DaDpush(e, eldd) // drag & drop нужно будет переделать !!! - сделать более универсальным
{
   //disableSelection(document.body);
   var regdad = document.getElementById('regdad');
   regdad.style.height = '190px';
   if (typeof eldd == 'string') eldd = document.getElementById(eldd);
   eldd.ondragstart = function() { return false; };
   eldd.onselectstart = function() { return false; };
   e = e || window.event;
   e.preventDefault ? e.preventDefault() : (e.returnValue=false);
   var x, y;	  
   if (document.all)   
	{ x = e.x;
      y = e.y; } 
	else   
	 { x = e.pageX; 
	   y = e.pageY; } 
   CoordE[0] = x;
   CoordE[1] = y;
   DaDflag = 1;
   return;
}

function disableSelection(target) // запрещает выделение текста
 { 
   if (typeof target.onselectstart!="undefined") 
    target.onselectstart=function(){return false;};
    else if (typeof target.style.MozUserSelect!="undefined")  
      target.style.MozUserSelect="none";
      else 
	   {  target.onmousedown = function(){return false;}; 
          target.style.cursor = "default"; }
  } 

/*function enabledSelection(target) // разрешает выделение текста
 { 
   if (typeof target.onselectstart!="undefined") 
    target.onselectstart = true;
    else if (typeof target.style.MozUserSelect!="undefined")  
      target.style.MozUserSelect="";
      else 
	   {  target.onmousedown = true; 
          target.style.cursor = "default"; }
  } 
*/
