
function processReq(str) {
  $('ShopBoxRes').innerHTML = str;
  EnableAll();
}

function pm(obj) {
  while (obj.tagName != 'TD')
    obj = obj.parentNode;
  obj.className = 'vis';
  return false;
}

function tn(event) {
  if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=13 && event.keyCode!=8 && event.keyCode!=37 && event.keyCode!=39 && event.keyCode!=46 && event.keyCode!=36 && event.keyCode!=35)
    event.returnValue=false;
}

function DisableAll() {
  if (document.ShopForm) {
    var inputs = document.ShopForm.getElementsByTagName('INPUT');
    for(i=0; i < inputs.length; i++)
      inputs[i].disabled = true;
  }

  if (document.BoxForm) {
    inputs = document.BoxForm.getElementsByTagName('INPUT');
    for(i=0; i < inputs.length; i++)
      inputs[i].disabled = true;
  }
}

function EnableAll() {
  if (document.ShopForm) {
    var inputs = document.ShopForm.getElementsByTagName('INPUT');
    for(i=0; i < inputs.length; i++)
      inputs[i].disabled = false;
  }

  if (document.BoxForm) {
    inputs = document.BoxForm.getElementsByTagName('INPUT');
    for(i=0; i < inputs.length; i++)
      inputs[i].disabled = false;
  }
}

function ShowRecalc() {
  document.BoxForm.GOGO.style.display='none';
  document.BoxForm.RECALC.style.display='';

  $('Br1').style.textDecoration = 'line-through';
  $('Br2').style.textDecoration = 'line-through';
  $('Br3').style.textDecoration = 'line-through';
}

function tnbox(event) {
  if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=13 && event.keyCode!=8 && event.keyCode!=37 && event.keyCode!=39 && event.keyCode!=46 && event.keyCode!=36 && event.keyCode!=35)
    event.returnValue=false;
  else if (event.keyCode!=39 && event.keyCode!=46 && event.keyCode!=36 && event.keyCode!=35)
    ShowRecalc();
}

var prevnode = null;
function fo(obj, req) {
  if (document.createElement && (!obj.parentNode.childNodes[1] || obj.parentNode.childNodes[1].type != 'submit')) {
    if (prevnode && prevnode.childNodes[3] && prevnode.childNodes[3].type == 'submit')
      prevnode.removeChild(prevnode.childNodes[3]);
    if (prevnode && prevnode.childNodes[2] && prevnode.childNodes[2].type == 'submit')
      prevnode.removeChild(prevnode.childNodes[2]);
    if (prevnode && prevnode.childNodes[1] && prevnode.childNodes[1].type == 'submit')
      prevnode.removeChild(prevnode.childNodes[1]);

    var butt = document.createElement('INPUT');
    butt.type = 'submit';
    butt.className = 'S';
    butt.value = (req < 0) ? 'Сохранить' : 'Добавить';
	  obj.parentNode.appendChild(butt);

    if (req > 0) {
      var butt2 = document.createElement('INPUT');
      butt2.type = 'submit';
      butt2.className = 'S';
      butt2.value = req+' шт.';
      butt2.onclick = function () {
        this.parentNode.childNodes[0].value = this.value.replace(' шт.', '');
      };
  	  obj.parentNode.appendChild(butt2);
    }

    prevnode = obj.parentNode
  }

  if (obj.value == '0') obj.value = '';
}


function prfo(obj) {
  if (document.createElement && (!obj.parentNode.childNodes[1] || obj.parentNode.childNodes[1].type != 'submit')) {
    if (prevnode && prevnode.childNodes[3] && prevnode.childNodes[3].type == 'submit')
      prevnode.removeChild(prevnode.childNodes[3]);
    if (prevnode && prevnode.childNodes[2] && prevnode.childNodes[2].type == 'submit')
      prevnode.removeChild(prevnode.childNodes[2]);
    if (prevnode && prevnode.childNodes[1] && prevnode.childNodes[1].type == 'submit')
      prevnode.removeChild(prevnode.childNodes[1]);

    var butt = document.createElement('INPUT');
    butt.type = 'submit';
    butt.value = 'Запросить';
    butt.onclick = function () {
      OpenRFQWindow();
    };
	  obj.parentNode.appendChild(butt);

    prevnode = obj.parentNode
  }

  if (obj.value == '0') obj.value = '';
}


function ch(obj, maxval, minval, pack) {
  var x = parseInt(obj.value);
  var foc = false;

  if (obj.value == '' || x <= 0 || x == NaN) {
     obj.value = '0';

  } else if (minval>0 && x < minval) {
    alert('Минимальное количество заказа для этого компонента составляет '+minval+' шт.');
    obj.value = minval;
    foc = true;

  } else if (maxval>0 && x > maxval) {
    alert('На складе в наличии есть только '+maxval+' шт. Пожалуйста, обратитесь к нашим менеджерам, возможно они смогут помочь.');
    obj.value = maxval;
    foc = true;

  } else if (x%pack != 0 && pack != 0) {
    alert('Можно приобрести только упаковкой в '+pack+' шт. Пожалуйста, укажите количество, кратное этой цифре.');
    obj.value = Math.ceil(x/pack)*pack;
    foc = true;
  }

  if (foc) {
    if (obj.parentNode && obj.parentNode.childNodes[3] && prevnode.childNodes[3].type == 'submit')
      obj.parentNode.removeChild(obj.parentNode.childNodes[3]);
    if (obj.parentNode && obj.parentNode.childNodes[2] && prevnode.childNodes[2].type == 'submit')
      obj.parentNode.removeChild(obj.parentNode.childNodes[2]);
    if (obj.parentNode && obj.parentNode.childNodes[1] && prevnode.childNodes[1].type == 'submit')
      obj.parentNode.removeChild(obj.parentNode.childNodes[1]);
    obj.focus();
  }
}

function fSubmit() {
  var inputs = document.ShopForm.getElementsByTagName('INPUT');
  var url = 'part='+document.ShopForm.part.value.URI();
  var sendit = false;

  for(i=0; i < inputs.length; i++) {
    if (inputs[i].type == 'text' && parseInt(inputs[i].value)>0 && inputs[i].name.indexOf('askprice')==-1) {
      url = url+'&'+inputs[i].name.URI()+'='+inputs[i].value.URI();
      inputs[i].value = '0';
      sendit = true;
    }
  }

  if (sendit) {
    DisableAll();
    loadDoc('addbox.php', null, url);
    window.scrollTo(0, 0);

    if (document.BoxForm) {
      if (document.BoxForm.GOGO) document.BoxForm.GOGO.disabled = true;
      if (document.BoxForm.RECALC) document.BoxForm.RECALC.disabled = true;
    }
  }
  return false;
}


function boxSubmit() {
  DisableAll();
  document.BoxForm.RECALC.value = 'Подождите...';

  var inputs = document.BoxForm.getElementsByTagName('INPUT');
  var url = '';

  for(i=0; i < inputs.length; i++)
    if (inputs[i].type == 'text')
      url = url+'&'+inputs[i].name.URI()+'='+inputs[i].value.URI();

  loadDoc('changebox.php', null, url);
  return false;
}


function del(num, part) {
  DisableAll();
  if (!document.BoxForm.elements['save['+num+']']) return false;
  document.BoxForm.elements['save['+num+']'].value = '0';
  return boxSubmit();
}


function PrintPage(url) {
  var popupWin = window.open(url, 'popwin', 'scrollbars=yes,status=yes,menubar=yes,resizable=yes,width=700,height=500,top='+(screen.height/2-260)+',left='+(screen.width/2-350));
  if (popupWin)
    popupWin.focus();
  else
    location.href=url;
  return false;
}

function shH(obj, num) {
  var p = getGlobalPos(obj);

  if (!$('HelpBox')) {
    var newdiv = document.createElement('div');
    newdiv.id = 'HelpBox';
    setPos(newdiv, 0,0);
    newdiv.style.display = 'none';
    document.body.appendChild(newdiv);
  }

  setPos($('HelpBox'), p.x+15, p.y+15);
  if (num == 1) $('HelpBox').innerHTML = 'С розничных складов доставка от 2-х недель. Возможно заказать от 1 шт. В их числе: <div><b>DigiKey, Farnell, Mouser, Avnet.</b></div> На оптовых и мелкооптовых складах обычно можно приобрести только заводскую упаковку. Сроки доставки больше, но цены в 3, а иногда и в 10 раз дешевле.';
  else $('HelpBox').innerHTML = 'Если в поисковой строке указать количество через знак &laquo;=&raquo;, например <b>MAX232=1000</b>, то поисковая система предложит подходящие по наличию и цене предложения.';
  Show('HelpBox');
}

function Multimode(num) {
  if (num == 1) {
    Hide('S_SINGL');
    Show('S_MULTI');
    setCookie ('multimode', 1, '/shop/');
    if (document.SForm.part.value.indexOf('Например') == -1) {
      document.SFormMult.part.value = document.SForm.part.value.split(',').join("\n").trim();
      document.SFormMult.part.style.color='#333333';
    }
  } else {
    Hide('S_MULTI');
    Show('S_SINGL');
    setCookie ('multimode', 0, '/shop/');
    if (document.SFormMult.part.value.indexOf('Например') == -1) {
      document.SForm.part.value = document.SFormMult.part.value.split("\n").join(',').trim();
      document.SForm.part.style.color='#333333';
    }
  }
  return false;
}

function TestReqForm(obj) {
  if (!testS(obj.elements['send[name]'], 'Пожалуйста, укажите Ваше имя.')) return false;
  if (!testS(obj.elements['send[email]'], 'Пожалуйста, укажите Ваш e-mail, по которому мы сможем ответить.')) return false;
  if (!is_email(obj.elements['send[email]'].value)) { alert('E-mail адрес указан не верно. Исправьте ошибку.'); obj.elements['send[email]'].focus(); return false; }
  if (!testS(obj.elements['send[components]'], 'Пожалуйста, укажите список и количество компонентов.')) return false;
  if (!testS(obj.elements['code'], 'В поле "Код для проверки" надо ввести цифры, которые Вы видите на картинке справа.')) return false;
  return true;
}


function NewBill() {
  if (confirm("Создать новую корзину?\n"+'К текущей корзине вы сможете перейти в любой момент по ссылке "Сохраненные корзины" слева.')) {
    DisableAll();
    loadDoc('changebox.php', null, 'NEW=1');
  }
  return false;
}


function SaveBill(name) {
  var name = prompt('Введите название, с которым корзина будет сохранена', name);
  if (name == null) return false;
  if (name.length <= 3) {
    alert('Введите название корзины, с которым она будет сохранена в базе');
    return false;
  }

  DisableAll();
  loadDoc('changebox.php', null, 'SAVE=1&name='+name.URI());
  return false;
}


function ClearBox() {
  if (confirm("Вы уверены, очистить корзину заказа?")) {
    DisableAll();
    loadDoc('changebox.php', null, 'CLEAR=1');
  }
  return false;
}

function PrintBox(num) {
  var popupWin = window.open('/shop/print.php?num='+num, 'popwin', 'scrollbars=yes,status=yes,menubar=yes,resizable=yes,width=800,height=500,top='+(screen.height/2-260)+',left='+(screen.width/2-400));
  popupWin.focus();
  return false;
}

function ManagerReq(mfr) {
  mfr.COMMENT.value = mfr.COMMENT.value.trim();
  if (mfr.COMMENT.value.length <= 3) {
    alert('Пожалуйста, заполните текст запроса!');
    return false;
  }

  loadDoc('changebox.php', null, 'COMMENT='+mfr.COMMENT.value.URI());
  $('CommentTD').innerHTML = '<small><b style="color:#009900;">Сообщение отправлено менеджеру магазина.<br>Постараемся помочь.</b></small>';
  return false;
}


function OpenRFQWindow() {
  if (!document.ShopForm) return false;

  var inputs = document.ShopForm.getElementsByTagName('INPUT');
  var okshow = false;

  for(i=0; i < inputs.length; i++) {
    if (inputs[i].name.indexOf('askprice') == -1 || parseInt(inputs[i].value) <= 0) continue;
    okshow = true;
    break;
  }

  if (!okshow) { alert('Пожалуйста, укажите нужное вам количество компонентов.'); return false; }
  if ($('sWin').innerHTML == '') loadJS('sendrfq.php?getform=1');

  addEvent($('sWin'), 'click', WinClickEv);
  addEvent(window, 'scroll', WinFixYPos);
  DisableAll();
  Show('sWin');
  WinFixYPos();
  return false;
}

function CloseRFQWindow() {
  removeEvent($('sWin'), 'click', WinClickEv);
  removeEvent(window, 'scroll', WinFixYPos);
  EnableAll();
  Hide('sWin');

  $('PRSFRM').disabled = false;
  _('RFQPRICE', 'SEND').disabled = false;
  Hide('PR_F2');
  Show('PR_F1');
  return false;
}

function SubmitRFQWindow() {
  if (_('RFQPRICE', 'ask[name]').value.length < 3) { alert('Пожалуйста, заполните ваше имя.'); _('RFQPRICE', 'ask[name]').focus(); return false; }
  if (_('RFQPRICE', 'ask[email]').value.length < 3) { alert('Пожалуйста, укажите корректный e-mail.'); _('RFQPRICE', 'ask[email]').focus(); return false; }

  var url = 'part='+_('ShopForm','part').value.URI()+'&ask%5Bname%5D='+_('RFQPRICE', 'ask[name]').value.URI()+'&ask%5Bemail%5D='+_('RFQPRICE', 'ask[email]').value.URI()+'&ask%5Bphone%5D='+_('RFQPRICE', 'ask[phone]').value.URI();
  var sendit = false;

  var inputs = document.ShopForm.getElementsByTagName('INPUT');
  for(i=0; i < inputs.length; i++) {
    if (inputs[i].type == 'text' && inputs[i].name.indexOf('askprice') != -1 && parseInt(inputs[i].value)>0) {
      url = url+'&'+inputs[i].name.URI()+'='+inputs[i].value.URI();

      if (inputs[i].parentNode.childNodes.length>1) {
        if (inputs[i].parentNode.childNodes[3] && inputs[i].parentNode.childNodes[3].type == 'submit')
          inputs[i].parentNode.removeChild(inputs[i].parentNode.childNodes[3]);
        if (inputs[i].parentNode.childNodes[1] && inputs[i].parentNode.childNodes[1].type == 'submit')
          inputs[i].parentNode.removeChild(inputs[i].parentNode.childNodes[1]);
      }

      inputs[i].parentNode.parentNode.className = 'inbox';
      inputs[i].value = '0';
      if (inputs[i].parentNode.innerHTML.indexOf('<br>') == -1)
        inputs[i].parentNode.innerHTML = inputs[i].parentNode.innerHTML+'<br>Отправлен запрос';
      sendit = true;
    }
  }

  if (sendit)
    loadDoc('sendrfq.php', processJSReq, url);

  return false;
}

function WinFixYPos() {
  if ($('sWin').style.display != 'none') {
    var y = (window.scrollY) ? window.scrollY : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
    $('sWin').style.top = y+'px';
  }
}

function WinClickEv(e) {
  var e = e || window.event;
  var t = e.target || e.srcElement;
  if (t.id == 'sWin') CloseRFQWindow();
}

function okRFQWindow() {
  errRFQWindow('Ваш запрос успешно отправлен.<br>В ближайшее время мы ответим вам по контактному e-mail.', true);
}

function errRFQWindow(str, color) {
  $('PRSFRM').disabled = true;
  _('RFQPRICE', 'SEND').disabled = true;
  Hide('PR_F1');
  Show('PR_F2');
  $('PR_F2').style.color = (color == undefined) ? '#СС0000' : '#009900';
  $('PR_F2').innerHTML = str;
  setTimeout('CloseRFQWindow()', 3000);
}

function expandBox() {
  _('BoxForm').style.display = '';
  _('BoxForm').previousSibling.style.display = 'none';
  return false;
}

function expandLines() {
  DisableAll();
  loadDoc('changebox.php', null, 'expand=1');
  return false;
}


var online_rec_found = 0;

function WLoad(uri) {
  var u = 'part='+_('ShopForm','part').value.URI()+'&abs='+_('ShopForm','abs').value+'&vip='+_('ShopForm','vip').value+'&stock='+_('ShopForm','stock').value+'&nocache='+_('ShopForm','nocache').value;
  loadJS('online.php', 'specstock=1&'+u);
  setTimeout("loadJS('online.php', '"+u+"');", 100);
  Show('STATBAR');
}

function WHide() {
  Hide('STATBAR');
}

var vipadded = 0;
function WAddRow(info, data, vip) {
  var r = $('MAINDATA').insertRow((vip==1) ? ((!$('ALTEXREC')) ? vipadded : vipadded+1) : -1);
  var td1 = r.insertCell(0);
  var td2 = r.insertCell(1);

  td1.className = 'cc1';
  td2.className = 'cc2';
  td1.innerHTML = info+'<br>';
  td2.innerHTML = data+'<div class=bbbline><input type="submit" value="Добавить в корзину" class=S></div>';
  online_rec_found++;
  vipadded++;
}

function WAddRow2(str) {
  if (!$('MOREBLOCK1')) return false;
  $('MOREBLOCK1').innerHTML += '<table class=res>'+str+'</table>';
  Show('MOREB1');
  online_rec_found++;
}

function WAddRow3(str) {
  if (!$('MOREBLOCK2')) return false;
  $('MOREBLOCK2').innerHTML += '<table class=res>'+str+'</table>';
  Show('MOREB2');
  online_rec_found++;
}

function WNotFound() {
  if (online_rec_found<=0 && $('NOTFOUND')) Show('NOTFOUND');
}

function WUpdStat(num) {
  if (!$('FULLSTAT')) return false;
  $('FULLSTAT').innerHTML = parseInt($('FULLSTAT').innerHTML)+num;
}


