
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 || Type=='hidden' || Field.disabled) return false;
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;
}

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

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 (!Field.type) continue;
	if (Fields){
		Found=Fields.match(new RegExp('(^|,)'+Field.name+'($|,)'));
		if ((!Skip && !Found) || (Skip && Found)) continue;
		}
	if (EmptyField(Field, NoMsg)) return false;
	}
return true;
}


function RadioGet(name, Default){
//Определить выбранное значение списка radio-переключателей
//Default - если не выбрано ничего: true - считать что выбран первый, object - поле
var rb=F[name], def, fst, opt, i;

for(i=0; i<rb.length; i++){
	opt=rb[i];
	if (!opt.disabled){
		if (opt.checked) return opt.value;
		if (!fst) fst=opt;
		}
	}

if (Default==null) Default=true;
if (Default){
	def=(typeof(Default)=='object' ? Default : fst);
	def.checked=true; return def.value;
	}
else return null;
}


function RadioSet(name, Value){
//Записать значение списку radio-переключателей
var rb=F[name], i;

for(var i=0; i<rb.length; i++){	
	if (rb[i].value==Value){rb[i].checked=true; return;}
	}
}


