var isUsernameValid=true;
var userValidationMessage='';
function validate_user_name()
{
	var url = '/user_validate';
	var pars = 'username='+$F('username_form');
	var myAjax = new Ajax.Updater(
		'username_validation_result', 
		url, 
		{
			method: 'post', 
			parameters: pars,
			evalScripts: true
		});
}

function validation_result(element,result,message)
{
	var el=$(element);
	if(el)
	{
		if(result)
		{
			el.innerHTML='&nbsp;&nbsp;<img src="/images/icons/good.png" border="0" align="top" alt="'+message+'" title="'+message+'"> <font class="validation_success"> Valid</font>';
		}
		else
		{
			el.innerHTML='&nbsp;&nbsp;<img src="/images/icons/error.png" border="0" align="top" alt="'+message+'" title="'+message+'"> <font class="validation_error"> Invalid</font>';
		}
	}
}

function validate_password()
{
	
	var	password=$F('password_form');
	if(password.length<5)
	{
		validation_result('password_validation_result',false,'Password is to short');
		return;
	}
	if(password.length>255)
	{
		validation_result('password_validation_result',false,'Password is to long');
		return;
	}
	validation_result('password_validation_result',true,'');
}
function validate_password_again()
{
	var	password=$F('password_form');
	var confirm_password=$F('password_again');
	if(confirm_password!=password)
	{
		validation_result('password_again_validation_result',false,'Password again does not match password');
	}
	else
	{
		validation_result('password_again_validation_result',true,'');
	}
}

function validate_email()
{
	var email=$F('email');
	if(!isEmail(email))
	{
		validation_result('email_validation_result',false,'Not a valid email address');
	}
	else
	{
		validation_result('email_validation_result',true,'');
	}
}

function validate_user(type)
{  
	if ($F('username_form').length==0)
	{ 
		alert("Please enter desired username!"); 
		$('username_form').focus();
		return;
	}
	if(!isUsernameValid)
	{
		alert(userValidationMessage);
		$('username_form').focus();
		return;
	}
	if ($F('password_form').length==0)
	{ 
		alert("Please enter a password."); 
		$('password_form').focus();
		return;
	}
	if ($F('password_form').length>255)
	{
		alert("The password you have entered is too long.");
		$('password_form').focus();
		return;
	}

	if ($F('password_form').length<5)
	{
		alert("The password you have entered is too short.");
		$('password_form').focus();
		return;
	}

	if ($F('password_again').length==0)
	{
		alert("Please enter a "+type+" password again!"); 
		$('password_again').focus();		 
		return;
	}
	
	 if ($F('password_form')!=$F('password_again'))
	 {
	 	alert("The passwords you have entered do not match."); 
		$('password_form').focus();
		return;
	}

   if ($F('email').length==0)
   {
   		alert("Please enter an email address.");
   		$('email').focus();return;
   	}
	
	if (!isEmail($F('email')))
 	{
 		alert("The email you have entered is not valid."); 
 		$('email').focus();
 		return;
	}
	document.user.submit();		
}
