// ----------------------------------------------------------------------
// 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 "name": //First/Last name
			if(fieldvalue.length<2) {alert('Please enter your name');return false;}
		break;
		case "contact": //Contact person
			if(fieldvalue.length<2) {alert('Please enter contact person name');return false;}
		break;
		case "subject": //Subject
			if(fieldvalue.length=='') {alert('Please enter subject');return false;}
		break;
		case "comments": //Subject
			if(fieldvalue.length=='') {alert('Please enter comments');return false;}
		break;
		case "address": //Address
			if(fieldvalue.length<2) {alert('Please enter your address');return false;}
		break;
		case "city": //City
			if(fieldvalue.length=='') {alert('Please enter city name');return false;}
		break;
		case "state": //State
			if(fieldvalue.length=='') {alert('Please enter state name');return false;}
		break;
		case "zip": //Zip
			if(fieldvalue.length=='') {alert('Please enter zip code');return false;}
		break;
		case "company": //Company
			if(fieldvalue.length<3) {alert('Please enter company name');return false;}
		break;
		case "phone": //Phone
			if(fieldvalue.length<3) {alert('Please enter your phone');return false;}
		break;
		case "phone1_2": //Phone
			if(fieldvalue.length<3) {alert('Please enter your phone');return false;}
		break;
		case "email": //E-mail
			var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
			if(!email.test(fieldvalue)) {alert('Not a valid e-mail address');return false;}
		break;
	}
	i++;
}

return true; //else return ok
}