/*
 Функция дли валидации форм ввода. На вход будем передавать массив массивов 
 такого вида: <имя поля>,<тип поля>, <заголовок поля>. Дальше перебираем этот 
 массив и для каждого поля проводим проверку типа. Если не подходит - сообщение
 об ошибке, подходит - идем дальше. 

 Новые типы будем заводить по мере необходимости. Начну со строкового, 
 целочисленного, и мыла.
*/

function form_validate(form_name,inputlist,id_lang) {
	
	var i;
	doc = document.forms[form_name];
	
	for (i=0;i<inputlist.length;i++) {
		field_name = inputlist[i][0];
		field_type = inputlist[i][1];
		field_title = inputlist[i][2];

		value = doc[field_name].value;
		
		if (value=='') {
			switch (id_lang) {
				case 1:
					msg = 'Ошибка: не заполнено обязательное поле "'+field_title+'".'; break;
				case 2:
					msg = 'Error: mandatory field "'+field_title+'" not filled.'; break;
			}
			alert(msg);
			return false;
		}

		switch (field_type) {
			case 'text':
				break;
			case 'int':
				if (! match("[0-9]+",value)) {
					switch (id_lang) {
						case 1:
							msg = 'Ошибка: введите, пожалуйста число в поле "'+field_title+'".'; break;
						case 2:
							msg = 'Error: please enter number in "'+field_title+'" field.'; break;
					}
					alert(msg);
					return false;
				}
				break;
			case 'email':
				if (! match(".+@.+",value)) {
							switch (id_lang) {
								case 1:
									msg = 'Ошибка: введите, пожалуйста E-mail в поле "'+field_title+'".'; break;
								case 2:
									msg = 'Error: please enter E-mail in field "'+field_title+'".'; break;
							}
					alert(msg);
					return false;
				}
				break;
		}
	}
	return true;
}

function match(regexp,string) {
  var re = new RegExp(regexp,"ig");
  return re.test(string);
}

function validate_submit(form_name,inputlist,id_lang) {
	var i;
	form = document.forms[form_name];
	
	for (i=0;i<inputlist.length;i++) {
		field_name = inputlist[i][0];
		field_type = inputlist[i][1];
		field_title = inputlist[i][2];

		value = form[field_name].value;
		
		if (value=='') {
			switch (id_lang) {
				case 1:
					msg = 'Ошибка: не заполнено обязательное поле "'+field_title+'".'; break;
				case 2:
					msg = 'Error: mandatory field "'+field_title+'" not filled.'; break;
			}
			alert(msg);
			return false;
		}

		switch (field_type) {
			case 'text':
				break;
			case 'int':
				if (! match("[0-9]+",value)) {
					switch (id_lang) {
						case 1:
							msg = 'Ошибка: введите, пожалуйста число в поле "'+field_title+'".'; break;
						case 2:
							msg = 'Error: please enter number in "'+field_title+'" field.'; break;
					}
					alert(msg);
					return false;
				}
				break;
			case 'email':
				if (! match(".+@.+",value)) {
							switch (id_lang) {
								case 1:
									msg = 'Ошибка: введите, пожалуйста E-mail в поле "'+field_title+'".'; break;
								case 2:
									msg = 'Error: please enter E-mail in field "'+field_title+'".'; break;
							}
					alert(msg);
					return false;
				}
				break;
		}
	}
	return form.submit();
}
	
	
