function reg_preValidate(form){
	var reg;
	with (form) {
		// Проверка наличия данных
		reg = new RegExp('[a-zа-я0-9\-\_]{4,}', 'i');
		if (!reg.test(login.value)){
			alert('Логин должен состоять из букв, цифр и/или символов "-", "_" и быть не короче 4-х символов.');
			login.value=''; login.focus(); return false;
		}
		reg = new RegExp('[a-zа-я0-9]{6,}', 'i');
		if (!reg.test(pass.value)){
			alert('Пароль может состоять только из букв и цифр и должен быть не короче 6 символов.');
			pass.value=''; pass.focus(); return false;
		}
		if (pass2.value != pass.value){
			alert('Подтверждение пароля не совпадает с оригиналом! Попробуйте ещё раз.'); 
			pass.value=''; pass2.value=''; pass.focus(); return false;
		}
		reg = new RegExp('[a-zа-я\-]{2,}', 'i');
		if (!reg.test(lname.value)){
			alert('Введите ваше имя полностью!'); 
			lname.value=''; lname.focus(); return false;
		}
		if (!reg.test(fname.value)){
			alert('Введите ваше имя полностью!'); 
			fname.value=''; fname.focus(); return false;
		}
		reg = new RegExp('([a-z\-_0-9]\.?)+@[a-z\-_0-9](\.[a-z\-_0-9])+', 'i');
		if (!reg.test(email.value)){
			alert('Укажите корректный адрес email.'); 
			email.value = ''; email.focus(); return false;
		}
		reg = new RegExp('^\\+[0-9]{12}$', 'i');
		if (!reg.test(phone.value)){
			alert('Укажите ваш контактный телефон в международном формате без знаков-разделителей.'); 
			phone.focus(); return false;
		}
	}
	return true;
}
function login_preValidate(form){
	var reg;
	with (form) {
		// Проверка наличия данных
		reg = new RegExp('^[a-zа-я0-9\-\_]+$', 'i');
		if (!reg.test(login.value)){
			login.value=''; login.focus(); return false;
		}
		reg = new RegExp('^[a-zа-я0-9]+$', 'i');
		if (!reg.test(pass.value)){
			pass.value=''; pass.focus(); return false;
		}
	}
	return true;
}

function doLogin(form){
	if (!login_preValidate(form)){
		return false;
	}
	var req = 'login.handler.php';
	var params = 'action=login';
	params += '&login=' + ajax_encode(form.login.value);
	params += '&pass=' + ajax_encode(form.pass.value);
	doLoad(req, params);
}
function doLogout(){
	var req = 'login.handler.php';
	var params = 'action=logout';
	doLoad(req, params);
}
function doRegister(form){
	if (!reg_preValidate(form)){
		return false;
	}
	var req = 'login.handler.php';
	var params = 'action=register';
	params += '&login=' + ajax_encode(form.login.value);
	params += '&pass=' + ajax_encode(form.pass.value);
	params += '&fname=' + ajax_encode(form.fname.value);
	params += '&sname=' + ajax_encode(form.sname.value);
	params += '&lname=' + ajax_encode(form.lname.value);
	params += '&email=' + ajax_encode(form.email.value);
	params += '&country=' + ajax_encode(form.country.value);
	params += '&city=' + ajax_encode(form.city.value);
	params += '&addr=' + ajax_encode(form.addr.value);
	params += '&phone=' + ajax_encode(form.phone.value);
	doLoad(req, params);
}