

function isEmpty(str) {

   for (var i = 0; i < str.length; i++)
      if (" " != str.charAt(i))
          return false;
      return true;

}

  
  function checkform(f) {
  var errMSG = ""; 

  // цикл ниже перебирает все элементы в объекте f, 
  // переданном в качестве параметра
  // функции, в данном случае - наша форма.            

  for (var i = 0; i<f.elements.length; i++) 

    // если текущий элемент имеет атрибут required
    // т.е. обязательный для заполнения
    if (null!=f.elements[i].getAttribute("required")) {
		//window.alert(f.elements[i].type);
       // проверяем, заполнен ли он в форме
	   
	   if(f.elements[i].type=='checkbox'){
		   if(f.elements[i].checked==false){
		   errMSG += "  " + f.elements[i].alt + "\n";
	   }
	   }
	   
	   if(f.elements[i].alt=='Заголовок новости'){
		   if(f.elements[i].value=='Заголовок новости'){
		   errMSG += "  " + f.elements[i].alt + "\n";
	   }
	   }
	   
       else if (isEmpty(f.elements[i].value)) // пустой
          if(f.elements[i].type=='textarea'){
			    errMSG += "  " + f.elements[i].title + "\n"; 
	 	  }
		  else if((f.elements[i].type=='select')||(f.elements[i].type=='select-one')){
			    errMSG += "  " + f.elements[i].title + "\n"; 
				
	 	  }
		  else {		 
		  		errMSG += "  " + f.elements[i].alt + "\n"; 
		  }                                     
		  
		 if(f.elements[i].name=='email'){
        	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(f.elements[i].value)){
			
			}
			else {
			errMSG += " E-mail не правилен \n";	
			}
		 }
		 
		 
		 if(f.elements[i].name=='spam'){
        	if (/^\d+$/.test(f.elements[i].value)){
			
			}
			else {
			errMSG += " Не дан ответ на вопрос-антиспам \n";	
			}
		 }
		 
		 
		 
		 
		 
		 

		 
		 
		 
		 
		 
		 
		 
		 
		 
		 
		 
		}
		// если сообщение об ошибке не пусто,
        // выводим его, и возвращаем false     
        if ("" != errMSG) {
            alert("Не заполнены обязательные поля: \n" + errMSG);
            return false;
        }
}