// ----------------------------------------------------------------------
// Javascript form validation routines.
// Author: Art <artyomke@yandex.ru>
//
// Как работает:
// 1. Инклудим этот файл
// <SCRIPT TYPE="text/javascript" src=check_form.js></SCRIPT>
// 2. Добавляем действие на кнопку
// onClick="JavaScript: return check_form('form_name',Array('fieldname1','fieldname2',...));"
// где: form_name - имя проверяемой формы, fieldname1,2.. - поля формы, требующие обязательной проверки.
// 3. Добавляем универсальные правила в этот файл. Для выбора правила обработки поля используется название этого поля.
// Таким образом, поле 'name' будет обработано с помощью case 'name' %) /см.код/
// 4. В случае прохода всех правил возвращается true и продолжается постинг формы, иначе возникаел соответствующий алерт.
// ----------------------------------------------------------------------
function check_form(formname, fieldslist) {

//fields walk
i = 0;
while(fieldslist[i]) {
	fieldvalue = eval('document.'+formname+'.'+fieldslist[i]+'.value');
	switch (fieldslist[i]) {
		case "user_login":
			if(fieldvalue.length<2) {alert('Логин должен иметь длину более 1 символа');return false;}
		break;
		case "user_name":
			if(fieldvalue.length<2) {alert('Пожалуйста, укажите своё полное имя');return false;}
		break;
		case "from":
			if(fieldvalue.length<3) {alert('Пожалуйста, укажите своё имя или ник');return false;}
		break;
		case "code":
			if(fieldvalue=='') {alert('Пожалуйста, введите код, указанный на картинке');return false;}
		break;
		case "user_email":
			var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
			if(!email.test(fieldvalue)) {alert('Некорректный e-mail');return false;}
		break;
		case "user_password":
		var fieldvalue_repeat = document.getElementById('user_password_repeat').value;
			if(fieldvalue!=fieldvalue_repeat||fieldvalue.length<6) {alert('Пожалуйста, проверьте правильность ввода пароля и его повтора. Пароль должен иметь длину не менее 6 символов.');return false;}
		break;
		case "user_password_profile":
		if(!fieldvalue) break;
		var user_password_current = document.getElementById('user_password_current').value;
		var fieldvalue_repeat = document.getElementById('user_password_repeat').value;
		if(fieldvalue!=fieldvalue_repeat||fieldvalue.length<6) {alert('Пожалуйста, проверьте правильность ввода нового пароля и его повтора. Пароль должен иметь длину не менее 6 символов.');return false;}
		if(!user_password_current) {
			alert('Пожалуйста, укажите текущий пароль.');
			return false;
		}
		break;
		case "phone":
			if(fieldvalue.length<6) {alert('Укажите правильный номер телефона');return false;}
		break;
		case "who":
			if(fieldvalue.length<2) {alert('Имя не может быть таким коротким');return false;}
		break;
		case "textp":
			if(fieldvalue.length<2) {alert('Напишите что-нибудь');return false;}
		break;
	}
	i++;
}

return true; //else return ok
}
