// Функции для тестрования на заполнение форм при их отправке на сервер
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 == true && elem.id.indexOf('text') == -1)
		{
			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;
}


//Форма обратной связи

function TestFormRef(form, mode) {
	for(var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].name.indexOf("phone") != -1 && form.elements[i].value != "") {
			if(!(/^(\+?)(\d+)$/i.test(form.elements[i].value))) {
				alert("Вы некорректно ввели телефон!");
				form.elements[i].focus();
				return false;
			}

		}
		if(form.elements[i].name.indexOf("email") != -1) {
			if(!(/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i.test(form.elements[i].value))) {
				alert("Вы некорректно ввели e-mail!");
				form.elements[i].focus();
				return false;
			}

		}
		if(form.elements[i].name.indexOf("name") != -1 && form.elements[i].value == "") {
				alert("Вы не ввели наименование контактного лица!");
				form.elements[i].focus();
				return false;

		}
		if(form.elements[i].name.indexOf("message") != -1 && form.elements[i].value == "") {
				alert("Вы не ввели сообщение!");
				form.elements[i].focus();
				return false;

		}
		if(form.elements[i].name.indexOf("captcha_response") != -1 && form.elements[i].value == "") {
				alert("Вы не ввели код подтверждения!");
				form.elements[i].focus();
				return false;

		}
		
	}
	return true;
}

function CheckRadio(id_radio, id_text) {
	var button = document.getElementById(id_radio);
	var field = document.getElementById(id_text);
	if(!button.checked) button.checked = true;
}

function CheckTextField(id_radio, id_text, mode) {
	var button = document.getElementById(id_radio);
	var field = document.getElementById(id_text);
	var str= field.value;
	str=str.replace(/\s{0,}/, "");
	if(str == "" && !mode) button.checked = false;
	if(str == "" && mode) field.focus();
}