function validateEmail(email){
	if(String(email).match(/^"?[\w\.-]*"?@([\w\.-]+\.\w{2,4}|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])$/) == null) {
		return false;
	}
	return true;
}
function validatePostCode(pcode) {
	if(String(pcode).match(/^\d{5}$/) == null) {
		return false;
	}
	return true;
}
function validatePhone(phone) {
	if(String(phone).match(/^\+?[\d -]+$/) == null) {
		return false;
	}
	return true;
}
function validateInt(int) {
	if(String(int).match(/^[+-]?\d+$/) == null) {
		return false;
	}
	return true;
}
function validateNonEmpty(str) {
	if(String(str).match(/^\s*$/) == null) {
		return true;
	}
	return false;
}
function validateLogin(login) {
	if(String(login).match(/^\w{2,}$/) == null) {
		return false;
	}
	return true;
}
function validateURL(url) {
	if(String(url).match(/^(https?:\/\/|www\.)[\w\.-]+\.\w{2,4}(\/.*)?$/) == null) {
		return false;
	}
	return true;
}
function validatePass(e1,e2,optional) {
	if(e1.value == '' && e2.value == '') {
		if(optional) {
			return true;
		} else {
			alert("Пароль не может быть пустым");
			return false;
		}
	}
	if(e1.value != e2.value) {
		alert("Пароли не совпадают");
		return false;
	}
	return true;
}
function login_check() {
	var w = 250;
	var h = 150;
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=no,toolbar=no,' +
	'location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no';
	win = window.open('/rus/checklogin/?login='+document.myform.elements['f[login]'].value, 'checklogin', winprops);
	if (parseInt(navigator.appVersion) >= 4) { 
		win.window.focus(); 
	}
}
function validateField(field,name,optional,validator) {
	if(!validateNonEmpty(field.value)) {
		if(optional) {
			return true;
		} else {
			alert("Поле \""+name+"\" не может быть пустым");
			return false;
		}
	}
	if(validator && !eval('validate'+validator+'(field.value)')) {
		alert("Поле \""+name+"\" заполнено не верно");
		return false;
	}
	return true;
}
function validateUserForm() {
	var e = document.forms.myform.elements;
	var newuser = e['f[login]'].type!='hidden';
	if(
				 validateField(e['f[login]'],"Логин",false)
			&& validateField(e['f[firstname]'],"Имя",false)
			&& validateField(e['f[lastname]'],"Фамилия",false)
			&& validateField(e['f[email]'],"E-mail",false,'Email')
			&& validateField(e['f[site]'],"Сайт",true,'URL')
			&& validateField(e['f[postindex]'],"Почтовый индекс",true,'PostCode')
			&& validatePass(e['f[passwd]'],e['f[passwdcheck]'],!newuser)
		) {
		return true;
	}
	return false;
}
function validateFAQForm() {
	var e = document.forms.faq.elements;
	if(
			validateField(e['f[email]'],"",false,'Email')
		&&validateField(e['f[question]'],"",false)
		) {
		return true;
	} 
	return false;
}
function validateTPForm() {
 	var e = document.forms.tp.elements;
	if(
			validateField(e['f[firmname]'],"",false)
		&&validateField(e['f[firmphone]'],"",false,'Phone')
		&&validateField(e['f[area]'],"",false,'Int')
		&&validateField(e['f[position]'],"",true)
		) {
		return true;
	} 
	return false;
}

function validateRequestForm() {
	var e = document.forms.reqform.elements;
	if(
		validateField(e['f[contactface]'],"Контактное лицо",false)
		&& validateField(e['f[phone]'],"Телефон",false,'Phone')
		&& validateField(e['f[email]'],"E-mail",false,'Email')
		&& validateField(e['f[body]'],"Комментарий",false)
		) {
		return true;
	}
	return false;
}