
var _BadField;

function Empty(s){return (s.search(/[^\s]/)==-1);}

function BadField(Field, Msg, NoFocus){
//Выдать сообщение про неправильное значение в поле
var OldColor;

if (Msg==null) Msg='Please fill in the field before submitting the form';
OldColor=Field.style.backgroundColor;
Field.style.backgroundColor='#FFE0E0';
if (!NoFocus) Field.focus(); 
alert(Msg); _BadField=Field; 
setTimeout("_BadField.style.backgroundColor='"+OldColor+"';", 250);
return false;
}

function EmptyField(Field, NoMsg, Msg){
//Проверяет что пользователь ввел данные в поле
//Если нет то выдается сообщение
var Type=Field.type, Result=false, ind;

if (Type=='text' || Type=='textarea' || Type=='password')
	Result=Empty(Field.value);
else if (Type.substring(0, 6)=='select') Result=(Field.selectedIndex<=0);
if (NoMsg==null) NoMsg=false;
if (Result && !NoMsg) BadField(Field, Msg); return Result;
}

var Form_DataSent=false;

function CheckInputData(form, Fields, NoMsg){
//Проверить что во все поля формы введены данные
//Fields - список обязательных либо (начинается с "-") пропускаемых полей
var Form, Field, Skip, Found;

if (Form_DataSent) return false; Form=(form ? form : F);
if (Fields && Fields.charAt(0)=='-'){Skip=true; Fields=Fields.substr(1);}

for(var No=0; No<Form.length; No++){
	Field=Form[No];
	if (Fields){
		Found=Fields.match(new RegExp('(^|,)'+Field.name+'($|,)'));
		if ((!Skip && !Found) || (Skip && Found)) continue;
		}
	if (EmptyField(Field, NoMsg)) return false;
	}
Form_DataSent=true; return true;
}

function GetSelText(Sel){
//Получить выбранный элемент списка
var S=F[Sel]; return S[S.selectedIndex].text;
}