// Функции для тестрования на заполнение форм при их отправке на сервер
function TestForm(form, mode) {
	var arr_checkbox = new Array();
	var elems = form.elements;
	for(var i = 0; i < elems.length; i++) {
		var elem = elems[i];
		if(mode != null && elem.obligat == null) continue;
		var type = elem.type.toLowerCase();
		// для текстовых полей, полей "пароль" и "файл"
		if(type.indexOf("text") != -1 || type.indexOf("passw") != -1 || type.indexOf("file") != -1) {
			var str = elem.value;
			str = str.split(" ");
			str = str.join("");
			str = str.split("\n");
			str = str.join("");
			str = str.split("\r");
			str = str.join("");
			if(str.length == 0) {
				alert("Необходимо заполнить обязательное поле формы!");
				elem.focus();
				return false;
			}
			if(type.indexOf("file") != -1) {
				var str = elem.value;
				if(str.indexOf(":") == -1 || str.indexOf("\\") == -1) {
					alert("Не верно указан путь к файлу!");
					elem.focus();
					return false;
				}
			}
		}
		// для списков
		if(type.indexOf("select") != -1) {
			var next = false;
			for(var j = 0; j < elem.options.length; j++) {
				if(elem.options[j].selected) {
					next = true;
					break;
				}
			}
			if(!next) {
				alert("Необходимо выбрать значение из списка обязательного поля формы!");
				elem.focus();
				return false;
			}
		}
		// для переключателей
		if(type.indexOf("check") != -1 || type.indexOf("radio") != -1) {
			var next = true;
			for(var j = 0; j < arr_checkbox.length; j++) {
				if(arr_checkbox[j] == elem.name) {
					next = false;
					break;
				}
			}
			if(!next) continue;
			var next = false;
			var coll = document.getElementsByName(elem.name);
			for(var j = 0; j < coll.length; j++) {
				if(coll[j].checked) {
					next = true;
					break;
				}
			}
			if(!next) {
				if(type.indexOf("check") != -1) {
					alert("Необходимо выбрать одно или несколько значений обязательного поля формы!");
				}
				if(type.indexOf("radio") != -1) {
					alert("Необходимо выбрать значение обязательного поля формы!");
				}
				elem.focus();
				return false;
			}
			arr_checkbox[arr_checkbox.length] = elem.name;
		}
	}
	return true;
}