function replaceText(s,dest,sourse)
{ var iFrom=0; var iLen; var sTo; var i;
  while (true)
  {
    i = s.indexOf(dest,iFrom);
    if (i>=0)
    { 
      iFrom = parseInt(i)+sourse.length; iLen = dest.length;
    } 
    else { break; } 
    s=s.substring(0,i)+sourse+s.substring(parseInt(i)+iLen,s.length);
  }
  return s;
}

function sqlEncodeText(s)
{ var iFrom=0; var iLen; var sTo; var i;
  while (true)
  {
    i = s.indexOf("'",iFrom);
    if (i>=0)
    { 
      iFrom = parseInt(i)+2; iLen = 1; sTo = "''";
    } 
    else
    {
      i = s.indexOf("\r\n",iFrom);
      if (i>=0)
      { 
        iFrom = parseInt(i)+4; iLen = 2; sTo = "<BR>";
      } 
      else { break; } 
    }
    s=s.substring(0,i)+sTo+s.substring(parseInt(i)+iLen,s.length);
  }
  return s;
}

function sqlEncodeEdit(s)
{ var iFrom=0; var iLen; var sTo; var i;
  while (true)
  {
    i = s.indexOf("'",iFrom);
    if (i>=0)
    { iFrom = parseInt(i)+2; iLen = 1; sTo = "''";
    } else
    {
      i = s.indexOf('"',iFrom);
    if (i>=0)
    { iFrom = parseInt(i)+1; iLen = 1; sTo = "”";
    } else { break; } }
    s=s.substring(0,i)+sTo+s.substring(parseInt(i)+iLen,s.length);
  }
  return s;
}

function sqlEncodeEditText(s)
{ var iFrom=0; var iLen; var sTo; var i;
  while (true)
  {
    i = s.indexOf("'",iFrom);
    if (i>=0)
    { iFrom = parseInt(i)+2; iLen = 1; sTo = "''";
    } else
    {
      i = s.indexOf('"',iFrom);
    if (i>=0)
    { iFrom = parseInt(i)+1; iLen = 1; sTo = "”";
    } else
    {
      i = s.indexOf("\r\n",iFrom);
    if (i>=0)
    { iFrom = parseInt(i)+4; iLen = 2; sTo = "<BR>";
    } else { break; } } }
    s=s.substring(0,i)+sTo+s.substring(parseInt(i)+iLen,s.length);
  }
  return s;
}

function GetSQLDate(s)
{
  i1=s.indexOf('/'); i2=s.lastIndexOf('/'); if (i1==-1 || i2==-1) return '';
  sd=parseInt(s.substring(0,i1),10); sm=parseInt(s.substring(i1+1,i2),10);
  sy=parseInt(s.substring(i2+1,s.length),10); if (sy<1000) { if (sy>50) sy=1900+sy; else sy=2000+sy; }
  if (isNaN(sd)||isNaN(sm)||isNaN(sy)) return '';
  if (sd<=0 || sd>31 || sm<=0 || sm>12) return '';
  ss = ''+sy+(sm<10?'0':'')+sm+(sd<10?'0':'')+sd;
  if (GetSQLDate.arguments.length>1) ss+=" "+GetSQLDate.arguments[1];
  return ss;
}

function SQLDate(y,m,t)
{
  if (y<1000) y=y+1900;
  d = new Date(y,m-1,t);
  if (d=='NaN') return "";
  y = d.getYear(); 
  if (y<1000) y=y+1900;
  m = d.getMonth()+1; if (m<10) m='0'+m;
  t = d.getDate(); if (t<10) t='0'+t;
  return y.toString()+m.toString()+t.toString()
}

function chkFlt(v,t,title,mnd)
{
  var NullVar="NULL";
  if (chkFlt.arguments.length>4) NullVar=chkFlt.arguments[4];

  if(v.value!="")
  {
    if(isNaN(parseFloat(v.value))) {alert("Поле '"+title+"' необходимо заполнить вещественным числом");v.focus();return false;}else t.value=parseFloat(v.value);
  }
  else
  {
    if (mnd==1){alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;}
    else t.value=NullVar;
  }
  return true;
}

function chkInt(v,t,title,mnd)
{ 
  var NullVar="NULL";
  if (chkInt.arguments.length>4) NullVar=chkInt.arguments[4];

  if(v.value!="")
  {
    if(isNaN(parseInt(v.value))){alert("Поле '"+title+"' необходимо заполнить целым числом");v.focus();return false;}else t.value=parseInt(v.value);
  }
  else
  {
    if (mnd==1){alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;}
    else t.value=NullVar;
  }
  return true;
}

function chkEdit(v,t,title,mnd)
{
  var NullVar="NULL";
  if (chkEdit.arguments.length>4) NullVar=chkEdit.arguments[4];

  if (v.value=="")
  {
    if (mnd==1){alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;}
    else t.value=NullVar;
  }
  else
  {
    t.value=v.value;
  }
  return true;
}

function chkDate(v,t,title,mnd)
{
  var NullVar="NULL";
  if (chkDate.arguments.length>4) NullVar=chkDate.arguments[4];

  SDate="";
  if (v.value=="")
  {
    if (mnd==1){alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;}
    else t.value=NullVar;
  }
  else
  {
    SDate=GetSQLDate(v.value);
    if(SDate==""){alert("Поле '"+title+"' необходимо заполнить корректной информацией");v.focus();return false;}
    else t.value=SDate;     
  }
  return true;
}

function chkCombo(v,t,title,mnd)
{
  var NullVar="NULL";
  if (chkCombo.arguments.length>4) NullVar=chkCombo.arguments[4];

  if (v.selectedIndex!=-1)
  {
     t.value=v.options[v.selectedIndex].value;
  }
  else
  {
    if (mnd==1){alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;}
    else t.value=NullVar;
  }
  return true;
}

function CreateWnd(Name,w,h)
{
   var Wnd;
   param="toolbar=no,directories=no,menubar=no,resizable=yes,scrollbars=yes,status=no,width="+w+",height="+h;
   Wnd=open("",Name,param);
   Wnd.focus();
}