var globalLanguageCode;

var globalMessage = new Object();
globalMessage['en'] = new Object();
globalMessage['ja'] = new Object();

globalMessage['en']['enter_nickname'] = 'Please enter your nickname';
globalMessage['ja']['enter_nickname'] = 'ニックネームを記入してください';

globalMessage['en']['enter_email'] = 'Please enter your email';
globalMessage['ja']['enter_email'] = 'メールを記入してください';

globalMessage['en']['enter_password'] = 'Please enter the same password twice';
globalMessage['ja']['enter_password'] = 'パスワードを記入してください';

globalMessage['en']['invalid_email'] = 'Email address is invalid';
globalMessage['ja']['invalid_email'] = 'メールの形式は無効です';

globalMessage['en']['short_password'] = 'Password is too short';
globalMessage['ja']['short_password'] = 'パスワードが短すぎ';

globalMessage['en']['weak_password'] = 'Password is too weak';
globalMessage['ja']['weak_password'] = 'パスワードが弱すぎ';

globalMessage['en']['nickname_exists'] = 'This nickname already exists';
globalMessage['ja']['nickname_exists'] = 'ニックネームは既に存在している';

globalMessage['en']['email_exists'] = 'This email already exists';
globalMessage['ja']['email_exists'] = 'メールは既に存在している';


//Check and submit the "Log in" form
function checkAndSubmitLogInForm(languageCode)	//Probably better to trim() email...
{
	//Set global
	globalLanguageCode = languageCode;
	
	var messageSpan = document.getElementById('login_message');
	
	var email = document.getElementById('login_email');
		
	if(email.value == '')
	{
		email.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['enter_email'];
		return;
	}
	
	var password = document.getElementById('login_password');
	
	if(password.value == '')
	{
		password.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['enter_password'];
		return;
	}
	
	document.getElementById('login_form').submit();
}

//Check and submit the "Sign up" form
function checkAndSubmitSignUpForm(languageCode)	//Probably better to trim() nickname and email...
{
	//Set global
	globalLanguageCode = languageCode;
	
	var messageSpan = document.getElementById('signup_message');
	
	var nickname = document.getElementById('signup_nickname');
		
	if(nickname.value == '')
	{
		nickname.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['enter_nickname'];
		return;
	}
	
	var email = document.getElementById('signup_email');
	
	if(email.value == '')
	{
		email.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['enter_email'];
		return;
	}
	
	if(!isEmail(email.value))
	{
		email.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['invalid_email'];
		return;
	}
	
	var password = document.getElementById('signup_password');
	var passwordConfirmation = document.getElementById('signup_password_confirmation');
	
	if(password.value == '' || passwordConfirmation.value == '')
	{
		password.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['enter_password'];
		return;
	}
	
	if(password.value != passwordConfirmation.value)	//Mismatch
	{
		password.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['enter_password'];
		return;
	}
	
	if(isTooShortPassword(password.value))
	{
		password.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['short_password'];
		return;
	}
	
	if(isWeakPassword(password.value, nickname.value))
	{
		password.focus();
		messageSpan.innerHTML = globalMessage[languageCode]['weak_password'];
		return;
	}
	
	a.jax({job:'nicknameExists', method:'POST', responseType:'text', reaction:nicknameExistsReaction, nickname:nickname.value});
}

function nicknameExistsReaction(responseText)
{
	if(responseText == 'no')	//Nickname does not already exist and so check the email
	{
		a.jax({job:'emailExists', method:'POST', responseType:'text', reaction:emailExistsReaction, email:document.getElementById('signup_email').value});
	}
	
	else
	{
		//Nickname already exists
		document.getElementById('signup_nickname').focus();	
	
		document.getElementById('signup_message').innerHTML = globalMessage[globalLanguageCode]['nickname_exists'];
	}
}

function emailExistsReaction(responseText)
{
	if(responseText == 'no')	//Email does not already exist and so submit the "Sign up" form
	{
		document.getElementById('signup_fasttrack').value = 'yes';	//Already validated with JavaScript
		document.getElementById('signup_form').submit();
		
	}
	
	else
	{
		//Email already exists
		document.getElementById('signup_email').focus();	
	
		document.getElementById('signup_message').innerHTML = globalMessage[globalLanguageCode]['email_exists'];
	}
}
