function CheckForm( fm ){
  for( i=0; i<fm.elements.length; i++){
    if(fm.elements.item(i).IsEmpty && fm.elements.item(i).IsEmpty == "1"){
      if(fm.elements.item(i).value == ""){
        if( fm.elements.item(i).type == "text" ||
            fm.elements.item(i).type == "password" ||
            fm.elements.item(i).type == "textarea" )
          fm.elements.item(i).focus();
        else{
          var s="";
          s=fm.elements.item(i).type;/*if select-one or select-multi*/
          if(s.search("select")==0)
            fm.elements.item(i).focus();
          }
        if( fm.elements.item(i).msgtxt )
          alert(fm.elements.item(i).msgtxt);
        else
          alert("The field should be specified");
        return false;
        }
      }

    if(fm.elements.item(i).IsDigit && fm.elements.item(i).IsDigit == "1"){
      if(fm.elements.item(i).value!="" && isNaN(parseInt(fm.elements.item(i).value))){
        if( fm.elements.item(i).type == "text" ||
            fm.elements.item(i).type == "textarea" )
          fm.elements.item(i).focus();
        if(fm.elements.item(i).digittxt)
          alert(fm.elements.item(i).digittxt);
        else
          alert("Invalid number!");
        return false;
        }
      }

    if(fm.elements.item(i).IsEmail && fm.elements.item(i).IsEmail == "1"){
      var re = /[\w\.][\w\.]*@\w[-\w]*\.\w[-\w\.]*/g;
      if( fm.elements.item(i).value.search(re) == -1){
        fm.elements.item(i).focus();
        alert("Not a valid email address");
        return false;
        }
      }
    }//for
  return true;
  }

/* added by V.Bulatov 03-Apr-2001 */
function SetOutputDate(name){
  var di = document.all(name+'_D');
  var mi = document.all(name+'_M');
  var yi = document.all(name+'_Y');
  var pi = document.all(name);

  if(!( di || mi || yi || pi ))
    return true;

  var ds = di.selectedIndex;
  var mshift = mi(0).value=='' ? 1 : 0; //for allow first option "Month"
  var dmax = 0;

  switch( mi.value ){
    case '2':
      if(((yi.value & 3) == 0) && (((yi.value % 100)!=0) || ((yi.value % 400)==0)))
        dmax = 29;
      else
        dmax = 28;
      break;
    case '4':
    case '6':
    case '9':
    case '11':
      dmax = 30;
      break;
    default:
      dmax = 31;
    }

  for( i=0; i<31-dmax; i++ )
    di.options.remove(30-i+mshift);
  for( i=di.options.length; i < dmax+mshift; i++ ){
    var oOption = document.createElement("OPTION");
    di.options.add(oOption);
    oOption.value=i;
    oOption.innerText=i;
    if( i==ds )
      oOption.selected=true;
    }

  if( di.value=='' || mi.value=='' || yi.value=='' )
    pi.value = '';
  else
    pi.value = mi.value + '-' + di.value + '-' + yi.value;

  return true;
  }