
function checkEmail(field,name) {
	var emailStr=field.value;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:'\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alertMessage+="Поле '"+name+"': Неверно введенный Email\n";
		validationOk=false;
		return;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alertMessage+="Поле '"+name+"': Неверное имя пользователя.\n";
			validationOk=false;
			return;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
		alertMessage+="Поле '"+name+"': Имя домена содержит неверные символы.\n";
		validationOk=false;
		return;
		}
	}
	if (user.match(userPat)==null) {
		alertMessage+="Поле '"+name+"': Неверное имя пользователя .\n";
		validationOk=false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alertMessage+="Поле '"+name+"': Неверный IP адрес!\n";
				validationOk=false;
				return;
			}
		}
		return;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alertMessage+="Поле '"+name+"': Неверный домен.\n";
			validationOk=false;
			return;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alertMessage+="Поле '"+name+"': Адрес должен завершаться на известный домен или двубуквенный код страны.\n";
		validationOk=false;
		return;
	}
	if (len<2) {
		alertMessage+="Поле '"+name+"': Имя хоста не определено!\n";
		validationOk=false;
		return;
	}
}


function CheckCount(MaxLen,fname)
{
	if (document.getElementById(fname).value.length >= MaxLen)
	{
		alert("Объем текста не должен превышать "+MaxLen+" символов");
		document.all[fname].value = document.all[fname].value.substring(0, MaxLen-2);
	}
}


function checkRequired(name, fieldCtl)
{	
	var fieldValue=fieldCtl.value;
	if (fieldValue.length<1) 
	{
		alertMessage+="Поле '"+name+"' должно быть заполнено !\n";
		validationOk=false;
		fieldCtl.focus();
		return;
	}	
}

function checkExpression(name,fieldCtl,regexp,val_desc) 
{	
	var fieldValue=fieldCtl.value;		
	if (!regexp.test(fieldValue)) 
	{		
		alertMessage+="Поле '"+name+"' должно содержать только " + val_desc + " !\n";
		validationOk=false;
		fieldCtl.focus();
		return;
	}
}
function handleLoginForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["login_form"];
	
	checkRequired('E-mail Address',frmRegister.elements["login"]);
	//checkEmail(frmRegister.elements["login"],'E-mail Address');
	checkRequired('Пароль',frmRegister.elements["password"]);
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	frmRegister.enter.value = "минутку...";
	frmRegister.enter.disabled="disabled";
	frmRegister.submit();
}
//check newsletter sing up form on the home page
function handleNewsLSUForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["nl_form_main"];
	
	checkRequired('E-mail Address',frmRegister.elements["nl_address"]);
	checkEmail(frmRegister.elements["nl_address"],'E-mail Address');
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	frmRegister.Submit.value = "минутку...";
	frmRegister.Submit.disabled="disabled";
	frmRegister.submit();
}
//check edit password form
function handleEditPassForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["edit_pass"];
	
	checkRequired('Cтарый пароль',frmRegister.elements["old_pass"]);
	checkRequired('Новый пароль',frmRegister.elements["new_pass"]);
	checkRequired('Повторите новый пароль',frmRegister.elements["new_pass_2"]);
	
	checkExpression('Новый пароль',frmRegister.elements["new_pass"],/\S{4,8}/,"от 4 до 8 символов");
	checkExpression('Повторите новый пароль',frmRegister.elements["new_pass_2"],/\S{4,8}/,"от 4 до 8 символов");
	
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	if (frmRegister.elements["new_pass"].value != frmRegister.elements["new_pass_2"].value){
		alert('Вы неправильно ввели новый пароль второй раз');
		return false;	
	}
	frmRegister.btn_submit.value = "минутку...";
	frmRegister.btn_submit.disabled="disabled";
	frmRegister.submit();
}
function handleAgentForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["new_agent"];
	
	checkRequired('Имя',frmRegister.elements["fname"]);
	checkRequired('Фамилия',frmRegister.elements["lname"]);
	checkRequired('E-mail',frmRegister.elements["email"]);
	checkEmail(frmRegister.elements["email"],'E-mail');
	//checkRequired('Адрес',frmRegister.elements["address"]);
	//checkRequired('Ваш город',frmRegister.elements["city_manual"]);
	//checkRequired('Штат',frmRegister.elements["state_name"]);
	//checkRequired('Zip code',frmRegister.elements["zipcode"]);
	//checkRequired('Телефон',frmRegister.elements["phone"]);
	//checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	frmRegister.reg.value = "м и н у т к у ...";
	frmRegister.reg.disabled="disabled";
	frmRegister.submit();
}

function checkpasss(field1, field2){
	pass1=field1.value;
	pass2=field2.value;
	if (pass1 != pass2){
		//alert("Введённые пароли не совпадают");
		alertMessage+="Введённые пароли не совпадают\n";
		validationOk=false;
		return;
	}
}

function handleRegForm(srcid)
{
	if (srcid != 2) {
		srcid =1;
	}
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["new_user"];

if 	(srcid == 1){
	checkRequired('E-mail',frmRegister.elements["email"]);	
	checkEmail(frmRegister.elements["email"],'E-mail');	
	checkRequired('Пароль',frmRegister.elements["password"]);
  	checkRequired('Повторите пароль',frmRegister.elements["passwordr"]);
  	if (frmRegister.elements["password"].value != "" || frmRegister.elements["passwordr"].value != ""){
  		validationOk = checkpasss(frmRegister.elements["password"], frmRegister.elements["passwordr"]);
		//alert ('false validationOk');
	}
}
	checkRequired('Имя',frmRegister.elements["fname"]);
	checkRequired('Фамилия',frmRegister.elements["lname"]);
	checkRequired('Адрес',frmRegister.elements["address"]);
	checkRequired('Ваш город',frmRegister.elements["city_manual"]);
	checkRequired('Штат',frmRegister.elements["state_name"]);
	checkRequired('Zip code',frmRegister.elements["zipcode"]);
	checkRequired('Телефон',frmRegister.elements["phone"]);
	checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");


	
	if (validationOk == false) 
	{ 
		alert(alertMessage);
		return false;
	} 
	else if (validationOk == true){ 
	frmRegister.reg.value = "м и н у т к у ...";
	frmRegister.reg.disabled="disabled";
	frmRegister.submit();
	}
}
function handleNewRealtyForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["new_realty"];

  if (frmRegister.elements["sret"].value == 6){
	checkRequired('Имя / Название комплекса',frmRegister.elements["r_name"]);
	checkRequired('Город',frmRegister.elements["city"]);
	checkRequired('Штат',frmRegister.elements["state_name"]);	
	checkRequired('Цена',frmRegister.elements["r_price"]);
	
  if (frmRegister.elements["zipcode"].value != ""){
	checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");
  }
  }
  
  if (frmRegister.elements["sret"].value == 7){
	checkRequired('Имя / Название комплекса',frmRegister.elements["r_name"]);
	checkRequired('Адрес',frmRegister.elements["address"]);
	checkRequired('Город',frmRegister.elements["city"]);
	checkRequired('Штат',frmRegister.elements["state_name"]);	
	checkRequired('Zip code',frmRegister.elements["zipcode"]);
	checkRequired('Год постройки',frmRegister.elements["r_age"]);
	checkRequired('Цена',frmRegister.elements["r_price"]);
	checkRequired('Жилая площадь',frmRegister.elements["square_feets"]);
	
	if (frmRegister.elements["zipcode"].value != ""){
	checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");
  }
  }    

  if (frmRegister.elements["sret"].value != 6 && frmRegister.elements["sret"].value != 7){    	
	checkRequired('Имя / Название комплекса',frmRegister.elements["r_name"]);
	checkRequired('Адрес',frmRegister.elements["address"]);
	checkRequired('Город',frmRegister.elements["city"]);
	checkRequired('Штат',frmRegister.elements["state_name"]);	
	checkRequired('Zip code',frmRegister.elements["zipcode"]);
	checkRequired('Год постройки',frmRegister.elements["r_age"]);
	checkRequired('Цена',frmRegister.elements["r_price"]);
	checkRequired('Количество спален',frmRegister.elements["bedrooms"]);
	checkRequired('Количество ванных',frmRegister.elements["bathrooms"]);
	checkRequired('Жилая площадь',frmRegister.elements["square_feets"]);
	checkRequired('Стиль дома',frmRegister.elements["style_id"]);
	checkRequired('Паркинг/Гараж',frmRegister.elements["parking"]);
	if (frmRegister.elements["zipcode"].value != ""){
	checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");
  }
  }
  
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	frmRegister.reg.value = "минутку...";
	frmRegister.reg.disabled="disabled";
	frmRegister.submit();
}
function handleAdvSearchForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["new_realty"];
	
	if (frmRegister.elements["zipcode"].value != frmRegister.elements["zipcode"].defaultValue)
		checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");
	//if (frmRegister.elements["r_age"].value != frmRegister.elements["r_age"].defaultValue)
		//checkExpression('Год постройки',frmRegister.elements["r_age"],/\d{4}/,"четыре цифры");
	if (frmRegister.elements["square_feets"].value != frmRegister.elements["square_feets"].defaultValue)
		checkExpression('Жилая площадь',frmRegister.elements["square_feets"],/\d{2,20}/,"от 2 до 20 цифр");
		
	
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}

	frmRegister.reg.value = "минутку...";
	frmRegister.reg.disabled="disabled";	
	frmRegister.submit();
}
function handleSearchForm()
{
	alertMessage='';
	validationOk=true;
	var frmRegister = document.forms["search_realty"];
	
	/*if (frmRegister.elements["pricefrom"].value != frmRegister.elements["pricefrom"].defaultValue)
		checkExpression('Минимальная цена',frmRegister.elements["pricefrom"],/\d{1,11}/,"до 11 цифр");
	*/
	/*if (frmRegister.elements["priceto"].value != frmRegister.elements["priceto"].defaultValue)
		checkExpression('Максимальная цена',frmRegister.elements["priceto"],/\d{1,11}/,"до 11 цифр");
	*/
	if ((frmRegister.elements["zipcode"].value != frmRegister.elements["zipcode"].defaultValue) && (frmRegister.elements["zipcode"].value != ''))
		checkExpression('Zip code',frmRegister.elements["zipcode"],/\d{5}/,"пять цифр");
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	/*if (frmRegister.elements["pricefrom"].value == frmRegister.elements["pricefrom"].defaultValue)
		frmRegister.elements["pricefrom"].value = '';
	if (frmRegister.elements["priceto"].value == frmRegister.elements["priceto"].defaultValue)
		frmRegister.elements["priceto"].value = '';
	*/
	if (frmRegister.elements["city"].value == frmRegister.elements["city"].defaultValue)
		frmRegister.elements["city"].value = '';
	if (frmRegister.elements["zipcode"].value == frmRegister.elements["zipcode"].defaultValue)
		frmRegister.elements["zipcode"].value = '';
	//frmRegister.go.value = "минутку...";
	//frmRegister.go.disabled="disabled";	
	
	//set cookies
	/*var Exp="Friday,25-Feb-2000 12:00:00 GMT";
	SetCookie("zipcode", frmRegister.elements["zipcode"].value, Exp);
	*/
	
	frmRegister.submit();
}
function handleRegistrationForm()
{
	alertMessage='';
	validationOk=true;
	
	var frmRegister = document.forms["frmRegister"];
	
	
	if (frmRegister.elements["formMode"].value == "doRegister")
	{
		checkRequired('Ваш Ник',frmRegister.elements["Login"]);		
		checkRequired('Пароль',frmRegister.elements["Password"]);
		
		checkRequired('Ключевое слово',frmRegister.elements["SecretAnswer"]);
	}
		
	checkRequired('Имя',frmRegister.elements["Name"]);
	checkRequired('Фамилия',frmRegister.elements["Surname"]);
	
	checkRequired('Страна проживания',frmRegister.elements["Country"]);
	checkRequired('Город',frmRegister.elements["City"]);
	checkRequired('E-mail',frmRegister.elements["Email"]);
	checkEmail(frmRegister.elements["Email"],'E-mail');

	checkRequired('Рост',frmRegister.elements["Height"]);
	checkExpression('Рост',frmRegister.elements["Height"],/\d{3}/,"три цифры");
	checkRequired('Вес',frmRegister.elements["Weight"]);
	checkExpression('Вес',frmRegister.elements["Weight"],/\d{2,3}/,"две или три цифры");
	checkRequired('Цвет глаз',frmRegister.elements["EyeColor"]);
	checkRequired('Цвет волос',frmRegister.elements["HairColor"]);
	checkRequired('Объем груди',frmRegister.elements["VBossom"]);
	checkExpression('Объем груди',frmRegister.elements["VBossom"],/\d{2,3}/,"две или три цифры");
	checkRequired('Объем талии',frmRegister.elements["VWaist"]);
	checkExpression('Объем талии',frmRegister.elements["VWaist"],/\d{2,3}/,"две или три цифры");
	checkRequired('Объем бедер',frmRegister.elements["VHips"]);
	checkExpression('Объем бедер',frmRegister.elements["VHips"],/\d{2,3}/,"две или три цифры");
	checkRequired('Образование',frmRegister.elements["Education"]);


	checkRequired('Ваши увлечения',frmRegister.elements["YourPassion"]);	
	checkRequired('Кем вы видите себя через 10 лет?',frmRegister.elements["YouInTenYears"]);
	checkRequired('Ваш идеал женщины?',frmRegister.elements["YourWoman"]);
	checkRequired('Ваш идеал мужчины?',frmRegister.elements["YourMan"]);
	checkRequired('Какие качества вы уважаете в людях?',frmRegister.elements["YourLikeStrains"]);
	checkRequired('Как вы проводите своё свободное время?',frmRegister.elements["YourLeasure"]);
	checkRequired('Ваша любимая книга?',frmRegister.elements["YourBestBook"]);
	checkRequired('Ваш любимый писатель?',frmRegister.elements["YourBestWriter"]);
	checkRequired('Ваш любимый кинофильм?',frmRegister.elements["YourBestMovie"]);
	checkRequired('Ваши музыкальные пристрастия?',frmRegister.elements["YourBestMusic"]);
	checkRequired('Когда вы в первый раз влюбились?',frmRegister.elements["FirstTimeYouLove"]);
	checkRequired('Самое запоминающееся событие в вашей жизни?',frmRegister.elements["YourMainEpisode"]);
	checkRequired('Любимое место отдыха?',frmRegister.elements["YourBestRestPlace"]);
	checkRequired('В какой стране мира вы хотели бы проживать? И почему?',frmRegister.elements["YourBestCountry"]);
	checkRequired('Владеете ли вы иностранным языком? Каким?',frmRegister.elements["YourForeignLanguages"]);
	checkRequired('В чём по-вашему заключается секрет гармоничных взаимоотношений с противоположным полом?',frmRegister.elements["YourSexHarmony"]);
	checkRequired('Какие черты характера вам в себе не нравятся?',frmRegister.elements["YourWorstStrains"]);
	checkRequired('От каких вредных привычек вы бы хотели избавиться?',frmRegister.elements["YourBadHabits"]);
	checkRequired('Какие качества вы бы хотели развить в себе?',frmRegister.elements["YourImprovementStrains"]);
	checkRequired('Можно ли вас вогнать в краску и что для этого нужно сделать?',frmRegister.elements["YourRedReasons"]);
	
	if (frmRegister.elements["formMode"].value == "doRegister")
	{
		var foundImage = false;
		for (var ic=1; ic <= 10; ic++)
		{
			if (frmRegister.elements["Image_" + ic].value != "")
				foundImage = true;
		}
		if (!foundImage)	
		{
			validationOk = false;
			alertMessage += "Необходимо предоставить как минимум одну фотографию!";
		}
	}
	
	if (!validationOk) 
	{
		alert(alertMessage);
		return false;
	}
	
	frmRegister.submit();
}
function numeralsOnly(evt) {
    evt = (evt) ? evt : event;
    str = document.new_realty.square_feets.value;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !=44 && charCode !=46 && charCode !=32) {
        alert("В это поле можно вводить только цифры, запятую, точку и пробел.");
        return false;
    }
    return true;
}
//Установка и чтение куки из javascript
/*function GetValue(Offset){
var End=document.cookie.indexOf (";", Offset);
if (End==-1)
End=document.cookie.length;
return unescape(document.cookie.substring(Offset, End));
}

function GetCookie(Name){
var Len=Name.length;
var i=0;
while (i<document.cookie.length){
var j=i+Len+1;
if (document.cookie.substring(i,j)==(Name+"="))
return GetValue(j);
i=document.cookie.indexOf(" ", 1)+1;
if (i==0)
break;
}
return null;
}

function SetCookie(Name, Value, Expire){
var Exp="Friday,25-Feb-2000 12:00:00 GMT";
document.cookie=Name+"="+escape(Value)+";expires="+Expire;
}*/