﻿// JScript source code
var httpRequest = createHttpRequest();
var resultId = '';

function createHttpRequest() {
var httpRequest;
if (window.XMLHttpRequest) {// Mozilla, Safari, ...
  httpRequest = new XMLHttpRequest();
  if (httpRequest.overrideMimeType) {
    httpRequest.overrideMimeType('text/xml');
  }
}
else 
  if (window.ActiveXObject) { // IE
    try {httpRequest = new ActiveXObject("Msxml2.XMLHTTP");}
    catch(e) {try {httpRequest = new ActiveXObject("Microsoft.XMLHTTP");}
    catch(e){}
  }
}
if (!httpRequest) {
alert('Не могу создать экземпляр XMLHTTP');
return false;
}
return httpRequest;
}

function sendRequestupd(file,_resultId,getRequestProc,sync) {
  resultId = _resultId;
//  post= '';
//  httpRequest.open ((post?'post':'get'), file);
 //  if (post && httpRequest.setRequestHeader)      
  //   httpRequest.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=utf-8;");
  if (sync)  httpRequest.open('get', file, false)  
  else  httpRequest.open('get', file, true);
  httpRequest.onreadystatechange = getRequestProc;
  httpRequest.send(null);
} 

/*  ЭТА ЧАСТЬ ПОКА НЕ НУЖНА - ПЕРЕДЕЛЫВАЕМ АНАЛОГИЧНО СТРАНИЦЕ descr

function getRequestbasket() {
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
    if (httpRequest.responseText == "1") 
	  document.getElementById(resultId).className = "txtb_sel"  // класс поля
	else 
   	  document.getElementById(resultId).className = "txtb"; // класс поля
  }
}    
}

function getRequestrow() {
var img = document.getElementById(resultId);
if (document.getElementById("r"+resultId)) var row = document.getElementById("r"+resultId);
var numbasket = Number(document.getElementById("numbasket").value);
var cost = Number(document.getElementById("cost"+resultId).value);
var topsum = Number(document.getElementById("topsum").innerHTML);
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
    if (httpRequest.responseText == "1") {  // если добавляем
      numbasket += 1;
      topsum += cost;
      if (row) row.className = "csel";
      img.title = "удалить из активного заказа";
      img.src = "pict/norec2.gif"
    }
    else { // удаляем
      numbasket -= 1;  
      topsum -= cost;
      if (row) row.className = "c";
      img.title = "добавить в активный заказ";
      img.src = "pict/rec2.gif"
    }
    document.getElementById("numbasket").value = String(numbasket);
    document.getElementById("topsum").innerHTML = String(topsum);
    if (numbasket==0)
      document.getElementById("topbasket").innerHTML = "нет"
    else
      document.getElementById("topbasket").innerHTML = String(numbasket) ;
  }	
} 
}
   
/*
function getRequestrow() {
if (httpRequest.readyState == 4) {
  document.getElementById("res222").innerHTML = httpRequest.responseText;
}
}    
*/

// функции контроля значения и ввода

/*

*/

function bvalid(evt,controlid) {
var control = document.getElementById(controlid);
/*var code = (document.all) ? evt.keyCode:evt.charCode;
if (evt.which) code = evt.which;*/
var code = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);

if (code >= 48 && code <= 57 || code == 0 || code == 8 || code == 9) { return true }
 { return false }
};

function bselect(controlid) {
var control = document.getElementById(controlid);
  control.select()
};

function notNumeric(str) {
  for (var i=0; i < str.length; i++) {
    var ch=str.substring(i,i+1)
    if (ch < "0" || ch > "9" || str.length == null) {
      return true
    }  
  }
  return false
}

function isEmpty(str) {
  if (str == "") return true;
  for (var i=0; i < str.length; i++) {
    var ch=str.substring(i,i+1)
    if (ch != " ") return false;
  }
  return true
}


// кусок из страницы descr - обработчик текстового поля

function boldval(id) {
var control = document.getElementById(id);
var newqnt = control.value;
var oldqnt = document.getElementById("old"+id).value;
var specid = document.getElementById("id"+id).value;
var a1 = document.getElementById("a1"+id).value;
if (isEmpty(newqnt))  {
  newqnt="0";
//txt=txt.replace(",",".");
  control.value = newqnt
}  
if (Number(newqnt) == Number(oldqnt)) 
  control.className = "txtb2" 
else { 
  saveqnt(a1,specid,Number(newqnt),Number(oldqnt),id);  
  totalsum(Number(newqnt),Number(oldqnt),id);  
} 
};

function addbox(id,inbox) {
  var control = document.getElementById(id);
 // document.getElementById("old"+id).value = String(Number(control.value));
  control.value = String(Number(control.value) + Number(inbox));
  boldval(id);
}

function totalsum(newqnt,oldqnt,id) {
if (newqnt != oldqnt) {
  document.getElementById("old"+id).value = String(newqnt);
  var ds = Math.round ((newqnt-oldqnt)*Number(document.getElementById("cost"+id).value)*100)/100; 
  var vs = Math.round((newqnt-oldqnt)*Number(document.getElementById("vol"+id).value)/10)/100; 
  if (ds != 0) { 
    var topsum = String(Number(document.getElementById("topsum").innerHTML)+ds);
    document.getElementById("topsum").innerHTML = topsum.substring(0,topsum.indexOf(".")+3)
    var totalv = String(Number(document.getElementById("totalv").innerHTML)+vs);
    document.getElementById("totalv").innerHTML = totalv.substring(0,totalv.indexOf(".")+3)
    if (document.getElementById("downsum")) {
      var downsum=String(Number(document.getElementById("downsum").innerHTML)+ds);
      document.getElementById("downsum").innerHTML = downsum.substring(0,downsum.indexOf(".")+3)
    }
  //  document.getElementById("topbasket").innerHTML = String(Number(document.getElementById("topbasket").innerHTML)+newqnt-oldqnt);
  }  
}
}
function saveqnt(a1,specid,newqnt,oldqnt,controlid) {
  if (oldqnt == 0) { // добавить
    sendRequestupd("pg/inbask.asp?ins=1&id=id"+a1+"&qnt="+String(newqnt),controlid,getRequestdescr); 
  }
  else {
    if (newqnt == 0) 
      sendRequestupd("pg/inbask.asp?ins=0&id=id"+a1, controlid, getRequestdescr)
    else
      sendRequestupd('pg/baskupd.asp?id=id'+a1+'&qnt='+newqnt, controlid, getRequestdescr2);
  }    
}

function addspare(a1) {
  controlid = document.getElementById("old"+a1);
  oldqnt = Number(controlid.value);
  if (oldqnt == 0) { // добавить
    sendRequestupd("pg/inbask.asp?ins=1&id=id"+a1+"&qnt=1", controlid, getRequestspare(1)); 
  }
  else {
    sendRequestupd('pg/baskupd.asp?id=id'+a1+'&qnt='+String(oldqnt+1), controlid, getRequestspare);
  }
  totalsum(Number(oldqnt+1),Number(oldqnt),a1);  
  document.getElementById("sp"+a1).title='В активном заказе: ' + controlid.value + " шт.";
}

function getRequestspare(ins) {
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
    if (httpRequest.responseText == "1") {
      resultId.value = String(Number(resultId.value)+1);
      if (ins==1) document.getElementById("topbasket").innerHTML = String(Number(document.getElementById("topbasket").innerHTML)+1);
    }  
    else {
    }  
  }
}  
}

function getRequestdescr() {
var control = document.getElementById(resultId);
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
    if (httpRequest.responseText == "1") {  // если добавляем
      document.getElementById("topbasket").innerHTML = String(Number(document.getElementById("topbasket").innerHTML)+1);
      control.title = "товар есть в активном заказе";
      control.className = "txtb2_blue"
    }
    else { // удаляем
      document.getElementById("topbasket").innerHTML = String(Number(document.getElementById("topbasket").innerHTML)-1);
      control.title = "товара нет в активном заказе";
      control.className = "txtb2_red"
    }	 
  }  
}	
} 

function getRequestdescr2() {
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
    if (httpRequest.responseText == "1") 
      document.getElementById(resultId).className = "txtb2_green"  // класс поля
    else 
      document.getElementById(resultId).className = "txtb2"; // класс поля
  }
}  
}

// кусок из страницы descr
function showpict(pict) {
  var span = document.getElementById(pict);
  var pictname = pict.substring(0,pict.indexOf("|"));
  var idstr = pict.substring(pict.indexOf("|")+1,pict.length);
  var p = document.getElementById('p'+idstr);
  if (p.src.indexOf('tbpe.gif') != -1) {
    p.src = "/pdownload.asp?id="+idstr+"&pict=s" //"img/spict/" + pictname;
    p.className = "smallpict"
    span.title = "убрать картинку" }
  else {
    p.src = 'pict/tbpe.gif';
    p.className = "tbpe"
    span.title = "показать картинку"
  }
}


function order(par) { 
  location.assign ("index.asp?" + par) 
}

// функции для страницы редактирования карточки товара

function fchange(id) {
  var f = document.getElementById(id.substring(0,4));
  var f_add = document.getElementById(id.substring(0,4)+'_add');
  document.getElementById(id.substring(0,4)+'_'+f_add.value).value = f.value;
  f.value = document.getElementById(id).value;

  if (id.substring(0,1) == "A") {
    f.className = "areaf";  }
  else {
    f.className = "txtc"; }
 // a.innerHTML = id.substring(0,3)+'_'+a_add.value;
  document.getElementById("l_"+id).className = "txt_g";
  document.getElementById("l_"+id.substring(0,4)+'_'+f_add.value).className = "";
  f_add.value = id.substring(5,6);

}


function fvalid(evt,controlid) {
var control = document.getElementById(controlid);
/*var code = (document.all) ? evt.keyCode:evt.charCode;
if (evt.which) code = evt.which;*/
var code = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
var vartype = controlid.substring(0,1);
var txt = document.getElementById(controlid).value;

switch (vartype) {
case "N": 
  if (code >= 48 && code <= 57 || code == 0 || code == 8 || code == 9  || code==44 || code==46) 
   if (code==44 || code==46) 
     if (txt.indexOf(".") > 0 || txt.indexOf(",") > 0) 
       return false
     else  
       return true;
   else    
     return true
  else   
    return false;
  break; 
case "I","F": 
  if (code >= 48 && code <= 57 || code == 0 || code == 8 || code == 9) { return true }
   { return false }
  break; 
case "R": 
  if (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code == 0 || code == 8 || code == 9) { return true }
   { return false }
  break; 
default: 
  return true;
}   
}

function fselect(controlid) {
var control = document.getElementById(controlid);
  control.select()
};

function fval(controlid) {
  var tbl="t1";
  var val=escape(document.getElementById(controlid).value);
//  var val=document.getElementById(controlid).value;
  var wareid=document.getElementById("wareid").value;
  var fld=controlid;
  
  if (document.getElementById(controlid+"_add") != null)  {  // если есть несколько полей с таким именем
    if (document.getElementById(controlid+"_add").value != "1") fld = controlid + "_" + document.getElementById(controlid+"_add").value;
  };
  
 sendRequestupd('pg/tblupd.asp?tbl='+tbl+'&val='+val+'&fld='+fld+'&wareid='+wareid, controlid, getRequestf);
 //alert ('pg/tblupd.asp?tbl='+tbl+'&val='+val+'&fld='+fld+'&wareid='+wareid)
}

function getRequestf() {
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
  //    document.getElementById(resultId).value=httpRequest.responseText
      var vartype = resultId.substring(0,1);

 //     document.getElementById("testprint").innerHTML = httpRequest.responseText;  // класс поля (label)
      switch (vartype) {
      case "S":
        document.getElementById(resultId).className = "txta_g"  // класс поля
        break;
      case "C":
        document.getElementById(resultId).className = "txtc_g";  // класс поля
        break;
      case "H":
        document.getElementById("l_"+resultId).className = "txt_g";  // класс поля (label)
        break;
      case "U":
        document.getElementById("testprint").innerHTML = httpRequest.responseText;  // класс поля (label)
        break;
      case "M": // комбобокс
        var sss = httpRequest.responseText;
      //  alert (sss);
        if (sss != "1") {
          i = 0;
          c = 0;
          ccc = "";
          while (sss.indexOf("&V",c) != -1) {
            var opt=document.createElement("option");
            opt.value=sss.substring(sss.indexOf("&V",c)+2,sss.indexOf("&T",c));
            opt.innerText=sss.substring(sss.indexOf("&T",c)+2,sss.indexOf("&D",c)); // IE
            opt.text = sss.substring(sss.indexOf("&T",c)+2,sss.indexOf("&D",c)); // others
            document.getElementById(resultId).appendChild(opt);
            if (sss.substring(sss.indexOf("&D",c)+2,sss.indexOf("&D",c)+3) == '1') j=i;
            i += 1;
            c = sss.indexOf("&D",c)+3;  
          };
          document.getElementById(resultId).selectedIndex = j;
        } 
        else 
          document.getElementById(resultId).className = "selectg";  

   //     document.getElementById(resultId + '_testprint').innerHTML = ccc;

        break;
      default:  
       // document.getElementById(resultId).className = "selectg";  // класс поля (числа)
      }  
      
  }
} 
}

function cmbfill(controlid,tbl,val,cond,db,fld,ord) {
  sendRequestupd('pg/cmbfill.asp?tbl='+tbl+'&val='+val+'&cond='+cond+'&db='+db+'&fld='+fld+'&ord='+ord, controlid, getRequestf, true);
  return true;
}

function getnum(controlid,fab) {
  sendRequestupd('pg/getnum.asp?fab='+fab,controlid, getnum2, false);
  return true;
}

function getnum2() {
if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
     document.getElementById("Ia28").value = httpRequest.responseText; 
  }
} 
}

function cmbfillall () {
if (document.getElementById('vMa2') != null)
cmbfill('Ma2','t1',document.getElementById('vMa2').value,'a3=0 and a37=1 and a20=0 and a2='+document.getElementById('upgr').value,'1','a4','a56');
if (document.getElementById('vMa15') != null)
cmbfill('Ma15','t26',document.getElementById('vMa15').value,'','1','a2','a2');
if (document.getElementById('vMa38') != null)
cmbfill('Ma38','t63',document.getElementById('vMa38').value,'a14=1','2','a2','a2');
if (document.getElementById('vMa53') != null)
cmbfill('Ma53','t57',document.getElementById('vMa53').value,'','1','a2','a2');
if (document.getElementById('vMa51') != null)
cmbfill('Ma51','t69',document.getElementById('vMa51').value,'','1','a2','a2');
}


