var add_diff;
var chk_diff;
var objReq;
var id_add;

function getClientWidth() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight(){
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}
function getBodyScrollTop() {
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollLeft() {
  return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

function getClientCenterY() {
  return parseInt(getClientHeight()/2)+getBodyScrollTop();
}
function getClientCenterX() {
  return parseInt(getClientWidth()/2)+getBodyScrollLeft();
}

function ajax_start(e, target, data){
   //--обнуляем значение полей кол-во товаров и суммы (закладка корзины), иначе ИЕ не успевает их обработать---
   document.getElementById("id_cnt_sale").firstChild.nodeValue='';
   document.getElementById("id_price_sale").firstChild.nodeValue='';
   id_add=data;

 /*  var y = 0;
   if (!e) e = window.event;
   if (e.pageX || e.pageY)  y = e.pageY;
   else if (e.clientX || e.clientY)  {
      y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
   }

   document.getElementById("ldr").style.top=y-60;         */

   document.getElementById("ldr").style.top=getClientCenterY()+'px';
   document.getElementById("ldr").style.display='block';

   objReq=init_objReq(); //--инициализирем XML-объект---
   if (objReq) {
       var params="data_bag="+data; //--здесь данные из формы в формате имя=значение--
       if (target=="ajax_sale_add.php") add_diff="add";
       else if (target=="ajax_sale_diff.php") add_diff="diff";
       else add_diff="diff_all";
       chk_diff=data;
       init_ajax_request(target, params);
   }
   else { //--если не удалось инициализировать объект, отсылаем форму обычным способом--
       return true;
   }
}
function init_objReq() {
    //--для Mozil'ы-----------
    if (window.XMLHttpRequest) objReq = new XMLHttpRequest();
    //--для IE----------------
    else if (window.ActiveXObject) objReq = new ActiveXObject("Microsoft.XMLHTTP");
    //  else if (ActiveXObject("Msxml2.XMLHTTP")) objReq = new ActiveXObject("Msxml2.XMLHTTP");
    else objReq=false;
    return objReq;
}

function init_ajax_request(url, params) {
  if (objReq) {
      objReq.open("POST", url, true);  //--true устанавливает АСИНХРОННЫЙ запрос--
      objReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
      objReq.onreadystatechange=process_ajax_request;
      objReq.send(params);
  }
}

function process_ajax_request() {
    //-- состояние 0 - объект не инициализирован, 4 - запрос выполнен------
    if (objReq.readyState==4 || objReq.readyState=="complete") {
    // alert(objReq.status);
        //--- 404 - файл не найден, 500 - ошибка сервера, и 200 - все ОК---
        if (objReq.status == 200) {
            //--запрос выполнен и получен ответ...-------------------------
            var xmlRsp=objReq.responseText;

            if (xmlRsp!="no") {
                if (add_diff=="diff") { //--удаляем элемент-----
                   var arr_rsp = new Array();
                   arr_rsp=xmlRsp.split('&');

                   var tbody;  //--родительский узел текущей строки--
                   var tr_cur; //--тут будет текущая строка--

                   if (arr_rsp[1]!='') {
                      tr_cur=document.getElementById("tr_"+arr_rsp[1]);
                      tbody=tr_cur.parentNode;
                      tbody=document.getElementById('tbl_sale');
                      tbody.removeChild(tr_cur);
                      check_raschet();
                   }
                }
                else if (add_diff=="add") { //--если добавляли в корзину---
                   //--в таблицу корзины добавляем строку с новым товаром--------
                   addRow(id_add);
                   //--пересчитываем сумму---------------------------------------
                   check_raschet();
                }
                else {
                    //---удаляем все строки из таблицы корзины-----
                    dropRows();
                }
                return;
            }
            else {
               //--Запрос вернул 'no', то есть массив пустой - удалили последний элемент--
               if (add_diff=="diff") {
                  //---удаляем все строки из таблицы корзины-----
                  dropRows();
               }
            }
        }
        else {
           // alert("There was a problem retrieving the XML data:\n" + objReq.statusText + " " + objReq.status);
           document.frm_sale.hid_cmd.value='1';
           document.frm_sale.hid_cmd_send.value='';
           document.frm_sale.submit();
        }
    }
    time_up=setInterval("ldr_hide()", 1000);
}
function ldr_hide() {
   document.getElementById("ldr").style.display='none';
}
