function checkform(form){
	var name;
	var warning='';
	
	for(num=0;num<document.forms.length;num++){
		if(document.forms[num].name==form){
			for(i=0;i<document.forms[num].elements.length;i++){
				name=document.forms[num].elements[i].name;
				// _nonempty_
				if(name.match('_nonempty_') && document.forms[num].elements[i].value==''){
					warning='Поле должно быть заполнено';
				}
				// _datetime_
				if(name.match('_datetime_')){
					if(!document.forms[num].elements[i].value.match(/^\d\d\.\d\d\.\d\d\d\d \d\d:\d\d$/) && document.forms[num].elements[i].value!='')
						warning='Неверный формат даты и времени (ДД.ММ.ГГГГ ЧЧ:ММ)';
				}
				// _date_
				if(name.match('_date_')){
					if(!document.forms[num].elements[i].value.match(/^\d\d\.\d\d\.\d\d\d\d$/) && document.forms[num].elements[i].value!='')
						warning='Неверный формат даты и времени (ДД.ММ.ГГГГ)';
				}
				// _number_
				if(name.match('_number_')){
					if(!document.forms[num].elements[i].value.match(/^\d+$/) && document.forms[num].elements[i].value!='')
						warning='Допускается только положительное целое число';
				}
				// _email_
				if(name.match('_email_')){
					if(!document.forms[num].elements[i].value.match(/^[\w-\.]+@[\w-\.]+\.\w+$/) && document.forms[num].elements[i].value!='')
						warning='Неправильный формат e-mail';
				}
				// _radio_
				if(name.match('_radio_')){
					empty=true;
					for(j=0;j<document.forms[num].elements.length;j++){
						if(document.forms[num].elements[j].name==name && document.forms[num].elements[j].checked){
							empty=false;
						}
					}
					if(empty){
						warning='Необходимо выбрать вариант';
					}
				}
				// alarm!
				if(warning!=""){
					alert(warning);
					document.forms[num].elements[i].focus();
					return false;
				}
			}
			for(i=0;i<document.forms[num].elements.length;i++){
				name=document.forms[num].elements[i].name;
				// Не забывать помещать в следующую строку новые префиксы!!!
				reg_exp=/(_nonempty_|_datetime_|_date_|_number_|_radio_|_email_)+/;
				name=name.replace(reg_exp,"");
				document.forms[num].elements[i].name=name;
			}
			return true;
		}
	}
}