function Enter_Form_CheckEmail()
{
	var email = $('register_full_form').getInputs('text', 'USER_EMAIL')[0];

	if( email.value == '' || !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email.value)) )
	{
		Element.removeClassName( Element.previous(email) , 'registration_and_avtorization_green');
		Element.addClassName( Element.previous(email) , 'registration_and_avtorization_red' );
		
		Element.addClassName( email , 'reg_and_avtor_red_input' );
		return false;
	}
	
	Element.removeClassName( Element.previous(email) , 'registration_and_avtorization_red');
	Element.addClassName( Element.previous(email) , 'registration_and_avtorization_green' );
	
	Element.removeClassName( email , 'reg_and_avtor_red_input');
	return true;
}
function Enter_Form_CheckPassword()
{
	var password = $('register_full_form').getInputs('password', 'USER_PASSWORD')[0];
	
	if( password.value == '' )
	{
		Element.removeClassName( Element.previous(password) , 'registration_and_avtorization_green');
		Element.addClassName( Element.previous(password) , 'registration_and_avtorization_red' );
		
		Element.addClassName( password , 'reg_and_avtor_red_input' );
		return false;
	}
	
	Element.removeClassName( Element.previous(password) , 'registration_and_avtorization_red');
	Element.addClassName( Element.previous(password) , 'registration_and_avtorization_green' );
	
	Element.removeClassName( password , 'reg_and_avtor_red_input');
	return true;
}
function Enter_Form_Submit()
{
	if( !Enter_Form_CheckEmail() || !Enter_Form_CheckPassword() )
	return false;

	$('register_full_form').submit(); 
	return true;
}

//################################################

function Registration_Form_CheckEmail()
{
	var email = $('registration_form').getInputs('text', 'EMAIL')[0];

	if( email.value == '' || !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email.value)) )
	{
		Element.removeClassName( Element.previous(email) , 'registration_and_avtorization_green');
		Element.addClassName( Element.previous(email) , 'registration_and_avtorization_red' );
		
		Element.addClassName( email , 'reg_and_avtor_red_input' );
		return false;
	}
	
	new Ajax.Request(
		'/auth/act/ajax_check_email/',
		{
			method:'get',
			parameters: {email: email.value},
			asynchronous: false,
			onSuccess: function(transport)
			{
				var response = transport.responseText;
				if( response == 1 ) {
					Element.removeClassName( Element.previous(email) , 'registration_and_avtorization_red');
					Element.addClassName( Element.previous(email) , 'registration_and_avtorization_green' );
					
					Element.removeClassName( email , 'reg_and_avtor_red_input');
					return true;
				} else {
					Element.removeClassName( Element.previous(email) , 'registration_and_avtorization_green');
					Element.addClassName( Element.previous(email) , 'registration_and_avtorization_red' );
					
					Element.addClassName( email , 'reg_and_avtor_red_input' );
					return false;
				}
			},
			onFailure: function()
			{
				
			}
		}
	);
	
	return true;
}
function Registration_Form_CheckFIO()
{
	var fio = $('registration_form').getInputs('text', 'FIO')[0];
	
	if( fio.value == '' )
	{
		Element.removeClassName( Element.previous(fio) , 'registration_and_avtorization_green');
		Element.addClassName( Element.previous(fio) , 'registration_and_avtorization_red' );
		
		Element.addClassName( fio , 'reg_and_avtor_red_input' );
		return false;
	}
	
	Element.removeClassName( Element.previous(fio) , 'registration_and_avtorization_red');
	Element.addClassName( Element.previous(fio) , 'registration_and_avtorization_green' );
	
	Element.removeClassName( fio , 'reg_and_avtor_red_input');
	return true;
}
function Registration_Form_CheckPassword()
{
	var password = $('registration_form').getInputs('password', 'PASSWORD')[0];
	var email = $('registration_form').getInputs('text', 'EMAIL')[0];
	
	if( password.value == '' || password.value == email.value )
	{
		Element.removeClassName( Element.previous(password) , 'registration_and_avtorization_green');
		Element.addClassName( Element.previous(password) , 'registration_and_avtorization_red' );
		
		Element.addClassName( password , 'reg_and_avtor_red_input' );
		return false;
	}
	
	Element.removeClassName( Element.previous(password) , 'registration_and_avtorization_red');
	Element.addClassName( Element.previous(password) , 'registration_and_avtorization_green' );
	
	Element.removeClassName( password , 'reg_and_avtor_red_input');
	return true;
}
function Registration_Form_CheckPasswordRepeate()
{
	var password_repeate = $('registration_form').getInputs('password', 'PASSWORD_REPEATE')[0];
	var password = $('registration_form').getInputs('password', 'PASSWORD')[0];
	
	if(  password_repeate.value == '' || password_repeate.value != password.value )
	{
		Element.removeClassName( Element.previous(password_repeate) , 'registration_and_avtorization_green');
		Element.addClassName( Element.previous(password_repeate) , 'registration_and_avtorization_red' );
		
		Element.addClassName( password_repeate , 'reg_and_avtor_red_input' );
		return false;
	}
	
	Element.removeClassName( Element.previous(password_repeate) , 'registration_and_avtorization_red');
	Element.addClassName( Element.previous(password_repeate) , 'registration_and_avtorization_green' );
	
	Element.removeClassName( password_repeate , 'reg_and_avtor_red_input');
	return true;
}
function Registration_Form_CheckCaptcha()
{
	var captcha = $('registration_form').getInputs('text', 'CAPTCHA')[0];
	
	if( captcha.value == '' )
	{
		Element.addClassName( captcha , 'reg_and_avtor_red_input' );
		return false;
	}
	
	Element.removeClassName( captcha , 'reg_and_avtor_red_input');
	return true;
}
function changeCaptcha()
{
     $('registration_captcha').src = '/auth/act/ajax_get_registration_captcha/' + Math.random();
}
function Registration_Form_Submit()
{
	if( !Registration_Form_CheckEmail() || !Registration_Form_CheckFIO() || 
		!Registration_Form_CheckPasswordRepeate() || !Registration_Form_CheckPassword() || 
		!Registration_Form_CheckCaptcha() )
	return false;
	
	$('registration_form').submit(); 
	return true;
}
