﻿var httpreq;
var action;
var oldName = "";
var idName = 0;
var xmlNames;
var xmlShops;
var xmlList;
var ptrNames;
var ptrList;
var ptrShops;
var moveStep = 10;
var moveList = 10;
var moveShop = 10;
var regions = new Array();
var firms = new Array();

function loadData(url, async){
  window.status = 'Загрузка';
  if (window.XMLHttpRequest) {
    httpreq = new XMLHttpRequest();
    httpreq.onreadystatechange = processRequest;
    httpreq.open("GET", url, async);
    httpreq.send(null);
    window.setTimeout("httpreq.abort();", 5000);
  } else if (window.ActiveXObject) {
    httpreq = new ActiveXObject("Microsoft.XMLHTTP");
    if (httpreq) {
      httpreq.onreadystatechange = processRequest;
      httpreq.open("GET", url, async);
      httpreq.send();
      window.setTimeout("httpreq.abort();", 5000);
    }
  }
  window.status = '';
}

function processRequest() {
  window.status = reqStatus();

  if (httpreq.readyState==4) {
    if (httpreq.status==200) {



    }
  }
}

function reqStatus() {
  switch (httpreq.readyState) {
    case 0:
      return "не инициализирован"; break;
    case 1: 
      return "Загрузка..."; break;
    case 2: 
      return "Загружено"; break;
     case 3: 
      return "Обработка..."; break;
     case 4: 
      return "Готово"; break;
     default:
      return "Неизвестное состояние";  
  }  
}

function getRegions() {
  loadData(encodeURI("shop.asp?shop=0"), false);
  xmlShops = httpreq.responseXML.getElementsByTagName("shops")[0];
  for (j=0;j<xmlShops.childNodes.length;j++) {
    el = xmlShops.childNodes[j];
    if (el.nodeName=="shop") {
      firms[el.attributes.getNamedItem("idfirm").value] = el.attributes.getNamedItem("firmname").value;
    }
  }
  for (i in firms) {
      op = document.createElement("OPTION");
      comboFirmList.options.add(op);
      op.value = i;
      op.text = firms[i];
  }

  loadData("regions.asp", false);
  xml = httpreq.responseXML.getElementsByTagName("regions")[0];
  for (j=0;j<xml.childNodes.length;j++) {
    el = xml.childNodes[j];
    if (el.nodeName=="region") {
      op = document.createElement("OPTION");
      comboRegion.options.add(op);
      op.value = el.attributes.getNamedItem("id").value;
      op.text = el.attributes.getNamedItem("name").value;

      op = document.createElement("OPTION");
      comboRegionList.options.add(op);
      op.value = el.attributes.getNamedItem("id").value;
      op.text = el.attributes.getNamedItem("name").value;

      regions[el.attributes.getNamedItem("id").value] = el.attributes.getNamedItem("name").value;
    }
  }
}

function findNames() {
  ename = document.getElementById("editName");
  if (ename.value.length<3) {
    window.alert("Введите название товара (не менее 3 букв)!");
    return;
  }

  loadData(encodeURI("find.asp?name="+ename.value), false);
  xmlNames = httpreq.responseXML.getElementsByTagName("names")[0];
  tblList.style.display = "none";
  idName = 0;
  idShop = 0;
  moveNames(0);
}

function clickMN(idclass) {
  loadData(encodeURI("find.asp?class="+idclass), false);
  xmlNames = httpreq.responseXML.getElementsByTagName("names")[0];
  tblList.style.display = "none";
  idName = 0;
  idShop = 0;
  moveNames(0);
}

function clickGroup(grp) {
  loadData(encodeURI("find.asp?group="+grp), false);
  xmlNames = httpreq.responseXML.getElementsByTagName("names")[0];
  tblList.style.display = "none";
  idName = 0;
  idShop = 0;
  moveNames(0);
}

function moveNames(pos) {
  s = "";
  ptrNames = pos;
  jlast = 0;
  sid = 0;
  for (j=pos;(j<xmlNames.childNodes.length) && (j<pos+moveStep);j++) {
    el = xmlNames.childNodes[j];
    jlast = j;
    if (el.nodeName=="name") {
      s+='<li><a id="name'+el.attributes.getNamedItem("id").value+'" class="name" href="javascript:clickName('+el.attributes.getNamedItem("id").value+');">'+el.attributes.getNamedItem("name").value+"</a><br/>";
      sid = el.attributes.getNamedItem("id").value;
    }
  }
  if (s) {
    if ((ptrNames>0) || (ptrNames+moveStep<xmlNames.childNodes.length))
      tblNavi.style.display = "block";
    else
      tblNavi.style.display = "none";
    if (ptrNames>0) {
      naviLeft.href = 'javascript:moveNames('+(pos-moveStep)+');'; naviLeft.innerHTML = "&lt;&lt;&lt;"; }
    else {
      naviLeft.innerHTML = '&nbsp;'; naviLeft.href = "#"; }
    spanNameCount.innerHTML = 'Товары ' + (ptrNames+1) + "-" + (jlast+1) + " из " + xmlNames.childNodes.length;
    if (ptrNames+moveStep<xmlNames.childNodes.length) {
      naviRight.href = 'javascript:moveNames('+(pos+moveStep)+');'; naviRight.innerHTML = "&gt;&gt;&gt;"; }
    else {
      naviRight.innerHTML = '&nbsp;'; naviRight.href= "#"; }
  }
  else {
    s="<br>Не найдено ни одного товара с таким названием<br><br>";
    tblNavi.style.display = "none";
    naviLeft.innerHTML = ''; naviLeft.href= "#";
    spanNameCount.innerHTML = 'Результаты поиска';
    naviRight.innerHTML = ''; naviRight.href= "#"; 
  }
  spanNames.innerHTML = s;
  spanNavi.style.display = "block";
  
  if (xmlNames.childNodes.length==1) {
    clickName(sid);
    spanNavi.style.display = "none";
  }
}

function clickShop(id) {
  showShopInfo(id);
}

function clickName(id) {
  tblList.style.display = "block";
  tblShops.style.display = "none";
  if (idName!=id) {
    if (document.getElementById("name"+idName))
      document.getElementById("name"+idName).className = "name";
    document.getElementById("name"+id).className = "namesel";
    idName = id;
    showNameInfo(true);
    
    loadData(encodeURI("list.asp?name="+idName), false);
    xmlList = httpreq.responseXML.getElementsByTagName("list")[0];

    showList(0);
  }
  else
    showNameInfo(false);
}

function clickForm(n) {
  sfi = document.getElementById("spanFormInfo");
  if (!sfi)
    clickName(idName);
  sfi = document.getElementById("spanFormInfo");
  hspan = document.getElementById('spanForm'+n);
  if (hspan) {
    sfi.innerHTML = hspan.innerHTML;
    sfi.style.display = "block";
  } 
  else 
    sfi.style.display = "none";
}

function updateRegion() {
  if (idName>0)
    updateShops(idName);
}

function showNameInfo(full) {
  spanInfoBorder.style.display = "block";

  url = "props.asp?name="+idName;
  loadData(encodeURI(url), false);

  el = httpreq.responseXML.getElementsByTagName("nameprop")[0];
  s = "<b>"+el.attributes.getNamedItem("name").value+"</b><br/>";
  if (el.attributes.getNamedItem("cnamein").value) 
    s += '<span class="list" title="Международное название">МН</span>: <a class="name" href="javascript:clickMN('+el.attributes.getNamedItem("idclass").value+');">'+el.attributes.getNamedItem("cnamein").value+'</a><br/>';
  if (el.attributes.getNamedItem("cgroup").value) 
    s += 'Группа: <a class="name" href="javascript:clickGroup('+el.attributes.getNamedItem("idclass").value+');">'+el.attributes.getNamedItem("cgroup").value+"</a><br/>";
  if (el.attributes.getNamedItem("cindesc").value) 
    s += "Действие: "+el.attributes.getNamedItem("cindesc").value+"<br/>";
  if (el.attributes.getNamedItem("typekeep").value)
    s += "Хранение: "+el.attributes.getNamedItem("typekeep").value+"<br/>";
  s+= '<div id="spanFormInfo" class="list" style="width: 100%; border-top: 1px solid silver; display: none"></div>';
  spanInfoBorder.style.display = "block";
  spanInfo.innerHTML = s;
  spanInfoHead.innerHTML = "Информация о товаре";


  if (!full) return;

  comboRegion.value="0";
  comboProducer.options.length = 1;
  comboForm.options.length = 1;
  comboFirm.options.length = 1;

  xml = httpreq.responseXML.getElementsByTagName("forms")[0];
  for (j=0;j<xml.childNodes.length;j++) {
    el = xml.childNodes[j];
    if (el.nodeName=="form") {
      s1 = el.attributes.getNamedItem("form1").value;
      s2 = el.attributes.getNamedItem("form2").value;
      if (s1)
        if (s2)
          s = s1 +" ("+s2+")";
        else
          s = s1;
      else
        if (s2)
          s = "("+s2+")";
        else
          s = "";
      if (s) {
        op = document.createElement("OPTION");
        comboForm.options.add(op);
        op.value = s1 + "(" + s2 + ")";
        op.text = s;
      }
    }
  }

  xml = httpreq.responseXML.getElementsByTagName("producers")[0];
  for (j=0;j<xml.childNodes.length;j++) {
    el = xml.childNodes[j];
    if (el.nodeName=="producer") {
      op = document.createElement("OPTION");
      comboProducer.options.add(op);
      op.value = el.attributes.getNamedItem("id").value;
      op.text = el.attributes.getNamedItem("name").value;
    }
  }

  xml = httpreq.responseXML.getElementsByTagName("firms")[0];
  for (j=0;j<xml.childNodes.length;j++) {
    el = xml.childNodes[j];
    if (el.nodeName=="firm") {
      op = document.createElement("OPTION");
      comboFirm.options.add(op);
      op.value = el.attributes.getNamedItem("id").value;
      op.text = el.attributes.getNamedItem("name").value;
    }
  }
}


function showShopInfo(idShop) {
  for (i=0; i<xmlShops.childNodes.length;i++) {
    el = xmlShops.childNodes[i];
    if (el.attributes.getNamedItem("id").value==idShop)
      break;
  }

  s = "<b>Аптека "+el.attributes.getNamedItem("name").value+"</b><br/>";

  if (el.attributes.getNamedItem("address").value>"") {
    s+=el.attributes.getNamedItem("address").value;
    s1=el.attributes.getNamedItem("addresscomment").value;
    if (el.attributes.getNamedItem("waycomment").value>"") 
      if (s1>"") s1+=el.attributes.getNamedItem("waycomment").value;
    else
      s1=el.attributes.getNamedItem("waycomment").value;
    if (s1>"")
      s+=" ("+s1+")";
    s+="<br/>";
  }
  
  if (el.attributes.getNamedItem("phones").value>"")
    s+="тел.: "+el.attributes.getNamedItem("phones").value+"<br/>";
  if (el.attributes.getNamedItem("fax").value>"")
    s+="факс: "+el.attributes.getNamedItem("fax").value+"<br/>";

  if (el.attributes.getNamedItem("periodwork").value>"") {
    s+="часы работы: "+el.attributes.getNamedItem("periodwork").value;
    if ((el.attributes.getNamedItem("periodworksat").value==el.attributes.getNamedItem("periodworksun").value)&&
        (el.attributes.getNamedItem("periodworksat").value>"")) {
      s+=", сб.вс. "+el.attributes.getNamedItem("periodworksat").value;
    }
    else {
      if (el.attributes.getNamedItem("periodworksat").value>"") 
        s+=", сб. "+el.attributes.getNamedItem("periodworksat").value;
      if (el.attributes.getNamedItem("periodworksun").value>"") 
        s+=", вс. "+el.attributes.getNamedItem("periodworksun").value;
    }
    if (el.attributes.getNamedItem("periodworkcurrcomment").value>"") 
      s+=", "+el.attributes.getNamedItem("periodworkcurrcomment").value;
    s+="<br/>";
  }
  if (el.attributes.getNamedItem("duty").value=="1")
    s+="дежурная аптека<br/>";
  if (el.attributes.getNamedItem("lgota").value=="1")
    s+="льготная аптека<br/>";
  if (el.attributes.getNamedItem("produce").value=="1")
    s+="экстемпоральная аптека<br/>";
  if (el.attributes.getNamedItem("ster").value=="1")
    s+="стерильная/глазная аптека<br/>";
  if (el.attributes.getNamedItem("gomeo").value=="1")
    s+="гомеопатическая аптека<br/>";

  spanInfoBorder.style.display = "block";
  spanInfo.innerHTML = s;
  spanInfoHead.innerHTML = "Информация об аптеке";
}

function showList(pos) {
  if (!idName) {
    tblList.style.display = "none";
    return;
  }

  for (j = tblList.rows.length-1; j>2; j--)
    tblList.deleteRow(j);

  lastShop = 0; 
  n = 0;
  for (i = 0;i<xmlList.childNodes.length;i++) {
    el = xmlList.childNodes[i];
    if (el.nodeName=="item") {
      if ((comboFirm.value!="0") && (el.attributes.getNamedItem("idfirm").value != comboFirm.value))
        continue;
      if ((comboRegion.value!="0") && (el.attributes.getNamedItem("idregion").value != comboRegion.value))
        continue;
      if ((comboProducer.value!="0") && (el.attributes.getNamedItem("idproducer").value != comboProducer.value))
        continue;
      ff = el.attributes.getNamedItem("form1").value + "("+el.attributes.getNamedItem("form2").value+")"
      if ((comboForm.value!="0") && (ff != comboForm.value))
        continue;

      if (el.attributes.getNamedItem("idshop").value != lastShop) {
        lastShop = el.attributes.getNamedItem("idshop").value;
        n++;
        if (n>pos) break;
      }
    }
  }

  lastProducer = 0;
  lastShop = 0; 
  jj =0;
  scnt = 0;
  var shopcell, regioncell, producercell;
  for (j = i;j<xmlList.childNodes.length;j++) {
    el = xmlList.childNodes[j];
    if (el.nodeName=="item") {
      if ((comboFirm.value!="0") && (el.attributes.getNamedItem("idfirm").value != comboFirm.value))
        continue;
      if ((comboRegion.value!="0") && (el.attributes.getNamedItem("idregion").value != comboRegion.value))
        continue;
      if ((comboProducer.value!="0") && (el.attributes.getNamedItem("idproducer").value != comboProducer.value))
        continue;
      ff = el.attributes.getNamedItem("form1").value + "("+el.attributes.getNamedItem("form2").value+")"
      if ((comboForm.value!="0") && (ff != comboForm.value))
        continue;

      jj++;
      if (jj==1) {
        rowHead.style.display = "";
        rowFilter.style.display = "";
      }

      if (el.attributes.getNamedItem("idshop").value != lastShop) {
        scnt++;
        if (scnt>moveList)
          break;
      }

      row = tblList.insertRow(-1);
      if ((scnt & 1) == 1)
        row.className = 'odd';
      else
        row.className = 'even';

      if (el.attributes.getNamedItem("idshop").value != lastShop) {
        cell = row.insertCell(-1);
        cell.className = "list";
        cell.innerHTML = '<a class="name" href="javascript:clickShop('+el.attributes.getNamedItem("idshop").value+');">'+el.attributes.getNamedItem("shopname").value+'</a>';
        shopcell = cell;
      } else
        shopcell.rowSpan+=1;

      if (el.attributes.getNamedItem("idshop").value != lastShop) {
        cell = row.insertCell(-1);
        cell.className = "list";
        cell.innerHTML = el.attributes.getNamedItem("regionname").value;
        regioncell = cell;
      } else
        regioncell.rowSpan += 1;

      if ((el.attributes.getNamedItem("idshop").value != lastShop) || (el.attributes.getNamedItem("idproducer").value != lastProducer)) {
        cell = row.insertCell(-1);
        cell.className = "list";
        cell.innerHTML = el.attributes.getNamedItem("producer").value;
        producercell = cell;
      } else
        producercell.rowSpan += 1;

      hs = '';
      if (el.attributes.getNamedItem("ATX").value>"") hs += 'Код ATX: '+el.attributes.getNamedItem("ATX").value+'<br/>';
      if (el.attributes.getNamedItem("regnumber").value>"") {
        hs += 'Регистрация: <nobr class="list">'+el.attributes.getNamedItem("regnumber").value+'</nobr>';
        if (el.attributes.getNamedItem("regfrom").value>"") hs += ' с '+el.attributes.getNamedItem("regfrom").value;
        if (el.attributes.getNamedItem("regto").value>"") hs += ' до '+el.attributes.getNamedItem("regto").value;
        hs += '<br/>';
      }
      if (hs) hs = '<span id="spanForm'+j+'" style="display: none;">'+hs+'</span>';
      cell = row.insertCell(-1);
      cell.className = "list";
      cell.innerHTML = '<a class="name" href="javascript: clickForm('+j+');">'+el.attributes.getNamedItem("form").value+'</a>' + hs;

      cell = row.insertCell(-1);
      cell.className = "list";
      if (el.attributes.getNamedItem("price").value>0)
        cell.innerHTML = el.attributes.getNamedItem("price").value;
      else
        cell.innerHTML = "&nbsp;";

      cell = row.insertCell(-1);
      cell.className = "list";
      if (el.attributes.getNamedItem("selltype").value>"")
        cell.innerHTML = el.attributes.getNamedItem("selltype").value;
      else
        cell.innerHTML = "&nbsp;";

      lastShop = el.attributes.getNamedItem("idshop").value;
      lastProducer = el.attributes.getNamedItem("idproducer").value;
    }
  }
  ptrList = pos;
  if ((ptrList>0) || (j<xmlList.childNodes.length-1)) {
    row = tblList.insertRow(-1);
    cell = row.insertCell(-1);
    cell.className = "list";
    cell.colSpan = 6; 
    s = '<table width="100%" border="0" style="margin: 0; background-color: #40C040;";><tr><td width="50%" align="center" style="border-right: 1px solid white;">';
    if (ptrList>0)
      s+= '<a href="javascript:showList('+(ptrList-moveList)+');" class="navi">&lt;&lt;&lt;</a>';
    else
      s+= '&nbsp;';
    s+= '</td><td align="center" width="50%">';
    if (j<xmlList.childNodes.length-1)
      s+= '<a href="javascript:showList('+(ptrList+moveList)+');" class="navi">&gt;&gt;&gt;</a>';
    else
      s+= '&nbsp;';
    s+= '</td></tr></table>';
    cell.innerHTML = s;
  }
  if (!jj) {
    row = tblList.insertRow(-1);
    cell = row.insertCell(-1);
    cell.colSpan = 6;
    cell.classname = "list";
    cell.innerHTML = "<br>Товар отсутствует в аптеках города.<br><br>";
//    rowHead.style.display = "none";
//    rowFilter.style.display = "none";
  }

  tblList.style.display = "block";
  tblShops.style.display = "none";
}

function showHelp() {
  spanInfoBorder.style.display = "block";
  spanInfoHead.innerHTML = "Справка";
  spanInfo.innerHTML = 'Для поиска медицинского товара наберите в поле «Название товара» любую часть названия этого товара и Нажмите кнопку '+
'«Найти». Если товары найдены, то их список появится в окне слева. Если список большой, Вы можете листать его '+
'вперёд и назад кнопками внизу списка. При выборе товара в списке Вы увидите таблицу с информацией о наличии товара '+
'в аптеках. Вы можете воспользоваться выпадающими списками в заголовке таблицы, чтобы ограничить список.<br>При нажатии на кнопку «Аптеки» '+
'Вы можете просмотреть список аптек города.';
}

function showShops(pos) {
  for (j = tblShops.rows.length-1; j>2; j--)
    tblShops.deleteRow(j);

  n=0;
  for (i=0;i<xmlShops.childNodes.length;i++) {
    el = xmlShops.childNodes[i];
    if (el.nodeName=="shop") {
      if ((comboFirmList.value!="0") && (el.attributes.getNamedItem("idfirm").value != comboFirmList.value))
        continue;
      if ((comboRegionList.value!="0") && (el.attributes.getNamedItem("region").value != comboRegionList.value))
        continue;
      if ((comboType.value=="1") && (el.attributes.getNamedItem("duty").value != "1"))
        continue;
      if ((comboType.value=="2") && (el.attributes.getNamedItem("lgota").value != "1"))
        continue;
      if ((comboType.value=="3") && (el.attributes.getNamedItem("produce").value != "1"))
        continue;
      if ((comboType.value=="4") && (el.attributes.getNamedItem("ster").value != "1"))
        continue;
      if ((comboType.value=="5") && (el.attributes.getNamedItem("gomeo").value != "1"))
        continue;
      if ((comboType.value=="6") && (el.attributes.getNamedItem("periodworksat").value == "Выходной"))
        continue;
      if ((comboType.value=="7") && (el.attributes.getNamedItem("periodworksun").value == "Выходной"))
        continue;

      n++;
      if (n>pos)
        break;
    }
  }

  n = 0;
  for (j=i;j<xmlShops.childNodes.length;j++) {
    el = xmlShops.childNodes[j];
    if (el.nodeName=="shop") {
      if ((comboFirmList.value!="0") && (el.attributes.getNamedItem("idfirm").value != comboFirmList.value))
        continue;
      if ((comboRegionList.value!="0") && (el.attributes.getNamedItem("region").value != comboRegionList.value))
        continue;
      if ((comboType.value=="1") && (el.attributes.getNamedItem("duty").value != "1"))
        continue;
      if ((comboType.value=="2") && (el.attributes.getNamedItem("lgota").value != "1"))
        continue;
      if ((comboType.value=="3") && (el.attributes.getNamedItem("produce").value != "1"))
        continue;
      if ((comboType.value=="4") && (el.attributes.getNamedItem("ster").value != "1"))
        continue;
      if ((comboType.value=="5") && (el.attributes.getNamedItem("gomeo").value != "1"))
        continue;
      if ((comboType.value=="6") && (el.attributes.getNamedItem("periodworksat").value == "Выходной"))
        continue;
      if ((comboType.value=="7") && (el.attributes.getNamedItem("periodworksun").value == "Выходной"))
        continue;

      n++;
      if (n>moveShop) break;

      row = tblShops.insertRow(-1);
      if ((n & 1) == 1)
        row.className='odd';
      else
        row.className='even';

      cell = row.insertCell(-1);
      cell.className = "list";
      cell.innerHTML = '<a class="name" href="javascript:clickShop('+el.attributes.getNamedItem("id").value+');">'+el.attributes.getNamedItem("name").value+'</a>';

      cell = row.insertCell(-1);
      cell.className = "list";
      cell.innerHTML = regions[el.attributes.getNamedItem("region").value];

      cell = row.insertCell(-1);
      cell.className = "list";
      s = el.attributes.getNamedItem("address").value;
      s1=el.attributes.getNamedItem("addresscomment").value;
      if (el.attributes.getNamedItem("waycomment").value>"") 
        if (s1>"") s1+=el.attributes.getNamedItem("waycomment").value;
      else
        s1=el.attributes.getNamedItem("waycomment").value;
      if (s1>"")
        s+="<br/>"+s1;
      cell.innerHTML = s;

      cell = row.insertCell(-1);
      cell.className = "list";
      s = "";
      if (el.attributes.getNamedItem("phones").value>"")
        s+="тел.: "+el.attributes.getNamedItem("phones").value+"<br/>";
      if (el.attributes.getNamedItem("fax").value>"")
        s+="факс: "+el.attributes.getNamedItem("fax").value+"<br/>";
      cell.innerHTML = s;

      cell = row.insertCell(-1);
      cell.className = "list";
      s = "";
      if (el.attributes.getNamedItem("periodwork").value>"") {
        s+= el.attributes.getNamedItem("periodwork").value;
        if ((el.attributes.getNamedItem("periodworksat").value==el.attributes.getNamedItem("periodworksun").value)&&
            (el.attributes.getNamedItem("periodworksat").value>"")) {
          s+=", сб.вс. "+el.attributes.getNamedItem("periodworksat").value;
        } else {
          if (el.attributes.getNamedItem("periodworksat").value>"") 
            s+=", сб. "+el.attributes.getNamedItem("periodworksat").value;
          if (el.attributes.getNamedItem("periodworksun").value>"") 
            s+=", вс. "+el.attributes.getNamedItem("periodworksun").value;
        }
        if (el.attributes.getNamedItem("periodworkcurrcomment").value>"") 
          s+=", "+el.attributes.getNamedItem("periodworkcurrcomment").value;
        s+="<br/>";
      }
      cell.innerHTML = s;
    }
  }
  ptrShops = pos;
  if ((ptrShops>0) || (n>moveShop)) {
    row = tblShops.insertRow(-1);
    cell = row.insertCell(-1);
    cell.className = "list";
    cell.colSpan = 5; 
    s = '<table width="100%" border="0" style="margin: 0; background-color: #40C040;";><tr><td width="50%" align="center" style="border-right: 1px solid white;">';
    if (ptrShops>0)
      s+= '<a href="javascript:showShops('+(ptrShops-moveShop)+');" class="navi">&lt;&lt;&lt;</a>';
    else
      s+= '&nbsp;';
    s+= '</td><td align="center" width="50%">';
    if (n==moveShop+1)
      s+= '<a href="javascript:showShops('+(ptrShops+moveShop)+');" class="navi">&gt;&gt;&gt;</a>';
    else
      s+= '&nbsp;';
    s+= '</td></tr></table>';
    cell.innerHTML = s;
  }

  if (tblShops.rows.length==3) {
    row = tblShops.insertRow(-1);
    cell = row.insertCell(-1);
    cell.colSpan = 5;
    cell.classname = "list";
    cell.innerHTML = "<br>Аптеки с заданными свойствами не найдены.<br><br>";
  }

  tblList.style.display = "none";
  tblShops.style.display = "block";
}