function checkform(f) {
  var errMSG = ""; 
  var textMSG = "";
  var predupr = "";
  var preduprmail = "";
  var preduprtel = "";
  var vsego = "";
  var vidov = 0;
  // если проверять все поля формы 
   vsego = f.elements.length;  
  // цикл ниже перебирает все элементы в объекте f, 
  // переданном в качестве параметра
  // функции, в данном случае - наша форма.            
  for (var i = 0; i<vsego; i++) {
      // если текущий элемент имеет атрибут required
    // т.е. обязательный для заполнения
    if (null!=f.elements[i].getAttribute("required")){
    predupr=f.elements[i].name+"_stop"; document.getElementById(predupr).innerHTML='';
       // проверяем, заполнен ли он в форме
        if (isEmpty(f.elements[i].value)){ // пустой
        document.getElementById(predupr).innerHTML='<hr class=stop style=width:100%>';
          if(f.elements[i].name=="tel")textMSG= "ТЕЛЕФОН";
          if(f.elements[i].name=="mailob")textMSG= "E-MAIL";
          if(f.elements[i].name=="name")textMSG= "ЗАГОЛОВОК";
          if(f.elements[i].name=="coment")textMSG= "ТЕКСТ";
          if(f.elements[i].name=="kd")textMSG= "ПРОВЕРКА НА СПАМ";
           errMSG += " - " + textMSG;}}




// проверка заполнения мыла
   if(f.elements[i].name=="mailob"){
   if(!isEmpty(f.elements[i].value)){
   if(!checkmail(f.elements[i].value))
   {
    preduprmail = "некоректно заполнено поле E-MAIL";
    document.getElementById('mailob_stop').innerHTML='<hr class=stop style=width:100%>';
    }}}

// проверка заполнения телефона
    if(f.elements[i].name=="tel") if(!isEmpty(f.elements[i].value))if(istelefon(f.elements[i].value))
    { preduprtel="некоректно заполнен ТЕЛЕФОН"; document.getElementById('tel_stop').innerHTML='<hr class=stop style=width:100%>';}

}// конец цикла
                                                        // формируем сообщение
                                                       // об ошибке, перечисляя 
                                                       // незаполненные поля
        // если сообщение об ошибке не пусто,
        // выводим его, и возвращаем false     
  
      
       if ("" != preduprmail)errMSG += " - " + preduprmail; 
       if ("" != preduprtel)errMSG += " - " + preduprtel; 
        if ("" != errMSG) { 
            alert("Не заполнены обязательные поля:" + errMSG);
            return false;
        }
}


function isEmpty(str) {
   for (var i = 0; i < str.length; i++)
      if (" " != str.charAt(i))
          return false;
      return true;
}


function istelefon(str) {
   var simv;
   var simv=0;
   for (var i = 0; i < str.length; i++)
      if (" " != str.charAt(i))simv++;
      if (simv < 5)  return true;
    return false;
}

 
function checkmail(a) 
 { 
 txt=a; 
 
 if (txt.indexOf(".") == -1) { 
 return false; 
 } 
 
 dog = txt.indexOf("@"); 
 if (dog == -1) { 
 return false; 
 } 
 
 if ((dog < 1) || (dog > txt.length - 5)) { 
 return false; 
 } 
 
 if ((txt.charAt(dog - 1) == '.') || (txt.charAt(dog + 1) == '.')) { 
 return false; 
 } 
 return true;
 } 

///////////
function nomerint(kn)
      {
         var charCode = (kn.which) ? kn.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }
