// проверка валидности e-mail
function valid_email(eml)
{
	if(!eml.match(/^[\w\-\.]+\@[\w][\w\-\.]+\.[a-z]{2,4}$/i))
	{	return false;	}
	else
	{	return true;	}
}

// принадлежность адреса плохому серванту
// проводить после valid_email()
function bad_email_server(eml)
{
	var arr = new Array;
	var i=0;
	arr[i++] = 'freemail.ru';
	arr[i++] = 'km.ru';
	arr[i++] = 'supermail.ru';
	arr[i++] = 'e-mail.ru';
	arr[i++] = 'goldmail.ru';
	arr[i++] = 'front.ru';
	arr[i++] = 'pochtamt.ru';
	arr[i++] = 'hotbox.ru';
	arr[i++] = 'land.ru';
	arr[i++] = 'pochta.ru';
	arr[i++] = 'rbcmail.ru';
	arr[i++] = 'mailgate.ru';
	arr[i++] = 'ipex.ru';
	arr[i++] = 'msx.ru';
	arr[i++] = 'crazymail.net';

	for(var j=0; j<i; j++)
	{	
		var regexp = eval("/@" + arr[j] + "/i");
		if ( eml.match(regexp) )
		{	return true;	}
	}
	return false;
}

// проверка правильности заполнения формы
function Form_Validator(theForm)
{
	if (theForm.first_name.value == "")
			{alert("Вы забыли вписать Ваше имя");
			theForm.first_name.focus();
					return (false);}
	if (theForm.first_name.value.length < 2)
			{alert("Впишите Ваше полное имя");
			theForm.first_name.focus();
					return (false);}
	if (theForm.second_name.value == "")
			{alert("Вы забыли вписать Вашу фамилию");
			theForm.second_name.focus();
					return (false);}
	if (theForm.country.value == "")
			{alert("Вы забыли указать страну");
			theForm.country.focus();
					return (false);}
	if (theForm.address_street.value == "")
			{alert("Вы забыли указать почтовый адрес");
			theForm.address_street.focus();
					return (false);}


	if (theForm.address_city.value == "")
			{alert("Вы забыли указать название населенного пункта");
			theForm.address_city.focus();
					return (false);}
	if (theForm.address_zip.value == "")
			{alert("Вы забыли указать почтовый индекс");
			theForm.address_zip.focus();
					return (false);}

	// проверка e-mail
	if ( !valid_email(theForm.email.value) )
	{
		alert("Вы забыли ввести или ввели неверный e-mail!");
		theForm.email.focus();
		return (false);
	}

	// проверка принадлежности e-mail нехорошим мыльным серверам
	if ( bad_email_server(theForm.email.value) )
	{
		alert("К сожалению, у вас не поддерживаемый нами почтовый сервер. Вам небходимо указать другой адрес электронной почты.");
		theForm.email.focus();
		return (false);
	}

	// указан ли номер телефона или мобильного
	if (theForm.phone.value == "" && theForm.pager.value == "")
	{
		alert("Вы забыли указать номер телефона (или мобильного)");
		theForm.phone.focus();
		return (false);
	}

	if (theForm.imin_age.value == "")
			{alert("Вы забыли указать минимальный возраст мужчины");
			theForm.imin_age.focus();
					return (false);}
	if (theForm.imax_age.value == "")
			{alert("Вы забыли указать максимальный возраст мужчины");
			theForm.imax_age.focus();
					return (false);}
	if (theForm.imin_age.value > theForm.imax_age.value)
			{alert("Минимальный возраст мужчины должен быть меньше максимального");
			theForm.imin_age.focus();
					return (false);}

	//если указано что нет детей,
	if ((theForm.child1.value == 'no') && (
			(theForm.Age1Children.value != '') ||
			(theForm.Age2Children.value != '') ||
			(theForm.Age3Children.value != '') ||
			(document.getElementById(101).value != 'None') ||
			(document.getElementById(102).value != '') ||
			(document.getElementById(103).value != '')
			))
			{ alert('Проверьте правильность указания информации о детях!');
			  theForm.child1.focus();
			  return(false);        }

	//если указано что один ребенок
	if ((theForm.child1.value == '1') && (
			(document.getElementById(101).value == 'None') ||
			(document.getElementById(102).value != '') ||
			(document.getElementById(103).value != '')   ))
			{ alert('Проверьте правильность указания информации о детях!');
			  theForm.child1.focus();
			  return(false);        }

	//если указано что 2 ребенка
	if ((theForm.child1.value == '2') && (
			(document.getElementById(101).value == 'None') ||
			(document.getElementById(102).value == '') ||
			(document.getElementById(103).value != '')   ))
			{ alert('Проверьте правильность указания информации о детях!');
			  theForm.child1.focus();
			  return(false);        }
                        
	//если указано что 3 ребенка
	if (((theForm.child1.value == '3') || (theForm.child1.value == '3 and more')) && (
			(document.getElementById(101).value == 'None') ||
			(document.getElementById(102).value == '') ||
			(document.getElementById(103).value == '')   ))
			{ alert('Проверьте правильность указания информации о детях!');
			  theForm.child1.focus();
			  return(false);        }

	//все ли возрасты указаны
	if (document.getElementById(101).value != 'None') {
		if (theForm.Age1Children.value == '') {
			alert('Проверьте правильность указания информации о детях!'); //"укажите возраст первого ребенка"
			theForm.Age1Children.focus();
			return(false);
		}
	} 
	if (document.getElementById(102).value != '')
	{
		if (theForm.Age2Children.value == '')
		{
			alert('Проверьте правильность указания информации о детях!'); //"укажите возраст второго ребенка"
			theForm.Age2Children.focus();
			return(false);
		}
	}
	if (document.getElementById(103).value != '')
	{
		if (theForm.Age3Children.value == '')
		{
			alert('Проверьте правильность указания информации о детях!'); //"укажите возраст третьего ребенка"
			theForm.Age3Children.focus();
			return(false);
		}
	}

	//должно быть указано телосложение
	if (!theForm.body2.checked && 
		!theForm.body3.checked &&
		!theForm.body4.checked &&
		!theForm.body5.checked )
	{ 
		alert("Укажите желаемое телосложение мужчины");
		theForm.body2.focus();
		return false;
	}


	//должна быть указана раса
	if (!theForm.race2.checked && 
		!theForm.race3.checked &&
		!theForm.race4.checked &&
		!theForm.race5.checked )
	{ 
		alert("Укажите желаемую расу мужчины");
		theForm.race2.focus();
		return false;
	}

	//должно быть указано телосложение
	if (!theForm.body2.checked && 
		!theForm.body3.checked &&
		!theForm.body4.checked &&
		!theForm.body5.checked )
	{ 
		alert("Укажите желаемое телосложение мужчины");
		theForm.body2.focus();
		return false;
	}

	//должна быть указана страна мужчины
	if (!theForm.from2.checked && 
		!theForm.from3.checked &&
		!theForm.from4.checked &&
		!theForm.from5.checked &&
		!theForm.from6.checked )
	{ 
		theForm.from2.focus();
		alert("Укажите желаемую страну мужчины");
		return false;
	}

	//должна быть указана цель знакомства
	if (!theForm.manfor1.checked && 
		!theForm.manfor2.checked &&
		!theForm.manfor3.checked &&
		!theForm.manfor4.checked )
	{ 
		theForm.manfor1.focus();
		alert("Укажите цель знакомства");
		return false;
	}

}
