var
validators = {
 'password' : /^[0-9a-zA-Z\.\-\_]*$/,
 'name'     : /^[a-zA-Z]*$/,
 'login'    : /^[a-zA-Z0-9\_]*$/,
 'full_name': /^[\sa-zA-Zа-яА-Я]*$/,
 'rus_name' : /^[\sа-яА-Я]*$/,
 'address'  : /^[\s0-9a-zA-Zа-яА-Я\.\,\;\:\(\)\-\\\/]*$/,
 'text'     : /^.*$/,
 'email'    : /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/,
 'phone'    : /^[\d\.\s\-]+$/,
 'integer'  : /^[\+\-]?\d*$/,
 'integer2'  : /^[\+]?\d*$/,
 'ref_number' : /^[a-zA-Z0-9]{3}\/[a-zA-Z0-9]{8}$/,
 'date'     : /^[0-9]{2}\-[0-9]{2}\-[0-9]{4}$/,
 'float'    : /^[\+\-]?\d*\.?\d*$/
}
  
function check_reserv_form()
	{
		var error_message = '';
		
		if (document.set_reserv.elements.cust_fam.value == '')
			{error_message += 'Поле "Фамилия" не заполнено!' + '\n';}
		else if(!validators['rus_name'].test(document.set_reserv.elements.cust_fam.value))
		 	{error_message += 'Значение поля "Фамилия" не корректно!' + '\n';}

		if (document.set_reserv.elements.cust_name.value == '')
			{error_message += 'Поле "Имя" не заполнено!' + '\n';}
		else if(!validators['rus_name'].test(document.set_reserv.elements.cust_name.value))
		 	{error_message += 'Значение поля "Имя" не корректно!' + '\n';}
			
		if (document.set_reserv.elements.cust_oldname.value == '')
			{error_message += 'Поле "Отчество" не заполнено!' + '\n';}
		else if(!validators['rus_name'].test(document.set_reserv.elements.cust_oldname.value))
		 	{error_message += 'Значение поля "Отчество" не корректно!' + '\n';}
		
		if (document.set_reserv.elements.how_to_pay[0].checked || document.set_reserv.elements.how_to_pay[2].checked && document.set_reserv.elements.cust_dok_num.value == '')
			{error_message += 'Поле "Серия/номер" не заполнено!' + '\n';}
		if(!validators['address'].test(document.set_reserv.elements.cust_dok_num.value))
		 	{error_message += 'Значение поля "Серия/номер" не корректно!' + '\n';}
			
		if (document.set_reserv.elements.how_to_pay[0].checked || document.set_reserv.elements.how_to_pay[2].checked && document.set_reserv.elements.cust_doc_imitent.value == '')
			{error_message += 'Поле "Выдан" не заполнено!' + '\n';}
		if(!validators['address'].test(document.set_reserv.elements.cust_doc_imitent.value))
		 	{error_message += 'Значение поля "Выдан" не корректно!' + '\n';}
			
		if (document.set_reserv.elements.how_to_pay[0].checked || document.set_reserv.elements.how_to_pay[2].checked && document.set_reserv.elements.cust_addres.value == '')
			{error_message += 'Поле "Прописан" не заполнено!' + '\n';}
		if(!validators['address'].test(document.set_reserv.elements.cust_addres.value))
		 	{error_message += 'Значение поля "Прописан" не корректно!' + '\n';}
			
		if (document.set_reserv.elements.cust_phone.value == '')
		 	{error_message += 'Поле "Телефон" не заполнено!' + '\n';}
		else if(!validators['phone'].test(document.set_reserv.elements.cust_phone.value))
		 	{error_message += 'Значение поля "Телефон" не корректно!' + '\n';}

		if (document.set_reserv.elements.mail.value == '')
		 	{error_message += 'Поле "E-Mail" не заполнено!' + '\n';}
		else if(!validators['email'].test(document.set_reserv.elements.mail.value))
		 	{error_message += 'Значение поля "E-Mail" не корректно!' + '\n';}

if (!document.set_reserv.elements.how_to_pay[0].checked && !document.set_reserv.elements.how_to_pay[1].checked && !document.set_reserv.elements.how_to_pay[2].checked)
			{error_message += 'Способ оплаты не выбран!' + '\n';}
		
		if (document.set_reserv.elements.how_to_pay[0].checked && document.set_reserv.elements.delivery_adress.value == '')
		 	{error_message += 'Выбрана доставка курьером, но не указан "Адрес доставки путевки"!' + '\n';}
		else if(document.set_reserv.elements.how_to_pay[0].checked && !validators['address'].test(document.set_reserv.elements.delivery_adress.value))
		 	{error_message += 'Значение поля "Адрес доставки путевки" не корректно!' + '\n';}
		
		if(!validators['integer2'].test(document.set_reserv.elements.size.value))
		 	{error_message += 'Значение поля "Длительность рейса (дн.)" не корректно!' + '\n';}

		if (document.set_reserv.elements.adults.value == 0)
		 	{error_message += 'Поле "Количество взрослых мест" не может быть "0"!' + '\n';}	
		else if(!validators['integer2'].test(document.set_reserv.elements.adults.value))
		 	{error_message += 'Значение поля "Количество взрослых мест" не корректно!' + '\n';}
		
		if(!validators['integer2'].test(document.set_reserv.elements.childs.value))
		 	{error_message += 'Значение поля "Количество детских мест" не корректно!' + '\n';}
		
		if (!document.set_reserv.elements.contract_stat.checked)
			{error_message += 'Пожалуйста, прочитайте договор!' + '\n';}


		if (error_message != '') {alert(error_message);}
		else{document.set_reserv.submit();}
	}