function FormatHTML(S)
{
  return S
    .replace("&","&amp;")
    .replace("<","&lt;")
    .replace(">","&gt;");
}

function FormatQ(S)
{
  return S
    .replace("'","\\'")
    .replace('"','\\"');
}

function MailMe(Name,Server)
{
  location.href="mailto:"+Name+String.fromCharCode(64)+Server;
}

var Month=new Array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","декабря");

function WriteLastUpdate()
{
  var Last=document.fileModifiedDate;
  if (Last) document.write("Последнее обновление: ",Last.substr(3,2)-0," ",Month[Last.substr(0,2)-1]," ",Last.substr(6,4)," г.<br>");
}

function Trim(S)
{
  for (var n1=0;n1<S.length && S.charCodeAt(n1)==32;n1++);
  for (var n2=S.length;n2>n1 && S.charCodeAt(n2-1)==32;n2--);
  return S.substring(n1,n2);
}

function Focus(Name)
{
  document.all[Name].focus();
}

function Select(Name)
{
  var Object=document.all[Name];
  Object.focus();
  Object.select();
}

function Popup(Left,Top,Name,Ref)
{
/*
  Width=700;
  Height=400;
  Left=(screen.width-Width)/2;
  Top=(screen.height-Height-100)/2;
  Left=Margin;
  Top=Margin;
*/
  Width=screen.width-2*Left;
  Height=screen.height-2*Top-60;
  window.open(Ref,Name,
    "left="+Left+",top="+Top+",width="+Width+",height="+Height+
    ",resizable=yes,scrollbars=yes,menubar=no,toolbar=no,location=no,status=no").focus();
}

function ShowImage(Param)
{
  Popup(150,150,"showimage","showimage.php?ImageName="+Param);
}

function Description(Param)
{
  Popup(100,100,"catalog","/catalog.php?UpdateParent=0&CatalogCode="+Param);
}

// Заказ

function OrderPopup(Ref)
{
  Popup(50,30,"order",Ref);
}

function OrderChange(Param)
{
  OrderPopup("order.php?"+Param);
}

function OrderAdd(Code)
{
/*
  Text="1";
  for (;;)
  {
    Text=prompt("Введите необходимое количество товара:",Text);
    if (Text==null) return;
    if (isFinite(Count=parseInt(Text,10)) && (Count=Math.round(Count))>0) break;
    if (!confirm("Количество введено неверно. Повторить ввод?")) return;
  }
  OrderChange("Add="+ID+"&Count="+Count);
*/
  OrderChange("Add="+Code);
}

function OrderRemove(Code)
{
  if (Code.toUpperCase()=='ALL')
  {
    if (!confirm("Очистить заказ?")) return;
  }
  else
  {
    if (!confirm("Удалить позицию?")) return;
  }
  OrderChange("Remove="+Code);
}

function OrderShow()
{
  OrderPopup("order.php?a=1");
}

// Счет

function BillPopup(Ref)
{
  Popup(30,30,"bill",Ref);
}

function BillShow(ID)
{
  BillPopup("bill.php?ID="+ID.value);
  return false;
}

// Проверка количества (поля ввода)

function CheckCount(Object)
{
  if (isFinite(Count=parseInt(Object.value,10)) && (Count=Math.round(Count))>0)
  {
    Object.value=Count;
    return true;
  }
  alert("Количество введено неверно. Повторите ввод");
  return false;
}

// Проверка телефона и мыла (строк)

function CheckPhone(S)
{
  var Count=0;
  for (var n=0;n<S.length;n++)
    if (S.charCodeAt(n)>47 && S.charCodeAt(n)<58)
      Count++;
  return Count>3;
}

function CheckEMail(S)
{
  if (S.indexOf(".")<0) return false;
  if (S.indexOf("@")<0) return false;
  return true;
}

// Проверка реквизитов заказа (полей ввода)

function CheckProps(NameObject,PhoneObject,EMailObject)
{
  var NameEmpty=(NameObject.value=Trim(NameObject.value))=="";
  var PhoneEmpty=(PhoneObject.value=Trim(PhoneObject.value))=="";
  var EMailEmpty=(EMailObject.value=Trim(EMailObject.value))=="";

  if (NameEmpty)
  {
    alert("Пожалуйста, введите название организации или ФИО");
    return false;
  }
  if (PhoneEmpty && EMailEmpty)
  {
    alert("Пожалуйста, введите мобильный телефон или адрес электронной почты");
    return false;
  }
  if (!PhoneEmpty && !CheckPhone(PhoneObject.value))
  {
    alert("Мобильный телефон введен неверно. Пожалуйста, повторите ввод");
    return false;
  }
  if (!EMailEmpty && !CheckEMail(EMailObject.value))
  {
    alert("Адрес электронной почты введен неверно. Пожалуйста, повторите ввод");
    return false;
  }
  return true;
}

// Подписка

function SubscribeShow()
{
  Popup(70,30,"subscribe","subscribe.php");
}

// Проверка реквизитов подписки (полей ввода)

function CheckSubscribe(EMailObject)
{
  var EMailEmpty=(EMailObject.value=Trim(EMailObject.value))=="";

  if (EMailEmpty)
  {
    alert("Пожалуйста, введите ваш адрес электронной почты");
    return false;
  }
  if (!CheckEMail(EMailObject.value))
  {
    alert("Адрес электронной почты введен неверно. Пожалуйста, повторите ввод");
    return false;
  }
  return true;
}
