/**********************************************************/
/*          	   	Our Signup Status   	 			  */
/**********************************************************/
function newStatusMsg(message, type) {
	types = new Array('cperror','cpsuccess','cpcaution');
	uniqueID = 'statusmsg'+Math.round(new Date().getTime()/1000.0);
	code = '<div id="#{uniqueID}"><div class=\'statusCloser\' onclick="fadeStatusMsg(\'#{uniqueID}\');"></div>#{message}</div>'.interpolate({ 'types': types[type], 'uniqueID': uniqueID, 'message': message });
	$('masterStatus').insert({ before: code });
	fadeStatusMsg.delay(5,uniqueID); //5 second fade delay
}
function fadeStatusMsg(uniqueID) {
	Effect.Fade(uniqueID,{duration:0.3});
}


/**********************************************************/
/*          	   Setup Our Form Variables     		  */
/**********************************************************/
var valEmail = null;
var valPassword = null;
var valUsername = null;
var valBday = null;
var valGender = null;


/**********************************************************/
/*          	  	 Username HTML Config      		     */
/**********************************************************/
function showUsernameUnavail()
{
valUsername = true;
	if(!$('username_unavail').visible()) {
		Effect.Appear('username_unavail',{duration:0.3});
	}
	removeUsernameClass();
}
function hideUsernameUnavail(){
valUsername = false;
	if($('username_unavail').visible()) {
		$('username_unavail').hide();
	}
}
function showUsernameAN(){
valUsername = true;
	if(!$('username_an').visible()) {
		Effect.Appear('username_an',{duration:0.3});
		removeUsernameClass();
	}
}
function hideUsernameAN(){
valUsername = false;
	if($('username_an').visible()) {
		$('username_an').hide();
	}
}
function showUsernameSmall(){
valUsername = true;
	if($('username_enter').visible()) {
		$('username_enter').hide();
	}
	if(!$('username_small').visible()) {
		Effect.Appear('username_small',{duration:0.3});
	}
}
function hideUsernameSmall(){
valUsername = false;
	if($('username_small').visible()) {
		$('username_small').hide();
	}
}
function removeUsernameClass(){
valUsername = true;
	if($('registerUsername').hasClassName('valid')) {
		$('registerUsername').removeClassName('valid');
	}
}
function showUsernameEnter(){
valUsername = true;
	
	if(!$('username_enter').visible()) {
		Effect.Appear('username_enter',{duration:0.3});
		removeUsernameClass();
	}
}
function hideUsernameEnter(){
valUsername = false;
	if($('username_enter').visible()) {
		$('username_enter').hide();
	}
}


/**********************************************************/
/*          	  	Email HTML Config      			     */
/**********************************************************/
function removeEmailClass(){
valEmail = true;
	if($('registerEmail').hasClassName('valid')) {
		$('registerEmail').removeClassName('valid');
	}
}
function showInvalidEmail(){
valEmail = true;
	if($('email_enter').visible()) {
		$('email_enter').hide();
	}
	if(!$('email_invalid').visible()) {
		Effect.Appear('email_invalid',{duration:0.3});
	}
}
function hideInvalidEmail(){
valEmail = false;
	if($('email_invalid').visible()) {
		$('email_invalid').hide();
	}
}
function showEmailEnter(){
valEmail = true;
	if($('email_invalid').visible()) {
		$('email_invalid').hide();
	}
	if(!$('email_enter').visible()) {
		Effect.Appear('email_enter',{duration:0.3});
	}
	removeEmailClass();
}
function hideEmailEnter(){
valEmail = false;
	if($('email_enter').visible()) {
		$('email_enter').hide();
	}
}



/**********************************************************/
/*          	  	Password HTML Config      		     */
/**********************************************************/
function showPasswordAmount(){
valPassword = true;
	if(!$('password_amount').visible()) {
		$('password_enter').hide();
		$('password_amount').show();
	}
	
}
function showPasswordvalidation(){
valPassword = true;
	if(!$('password_vali').visible()) {
		$('password_amount').hide();
		$('password_vali').show();
	}
	
}


function hidePasswordAmount(){
valPassword = false;
	if($('password_amount').visible()) {
		$('password_amount').hide();
	}
}
function hidePasswordvalidation(){
valPassword = false;
	if($('password_vali').visible()) {
		$('password_vali').hide();
	}
}



function showPasswordEnter(){
valPassword = true;
	if(!$('password_enter').visible()) {
		Effect.Appear('password_enter',{duration:0.3});
	}
	removePasswordClass();
}
function removePasswordClass(){
valPassword = true;
	if ($('registerPassword').hasClassName('valid')){
		$('registerPassword').removeClassName('valid');
	}
	hidePasswordAmount();
}	
function goodPassword(){
valPassword = false;

	if($('password_enter').visible()) {
		$('password_enter').hide();
	}
	if($('password_amount').visible()) {
		$('password_amount').hide();
	}
}


/**********************************************************/
/*          	  	Auto Check Email      			     */
/**********************************************************/
function autoCheckEmail() {
	if($('registerEmail').value !==''){;
		if($('registerEmail').value.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/)) {
			$('registerEmail').addClassName('valid');
			hideInvalidEmail();
			hideEmailEnter();
		}
		else {
			showInvalidEmail();
			removeEmailClass();
		}
	}
	else {
		removeEmailClass();
		hideInvalidEmail();
	}
}


/**********************************************************/
/*          	  	Auto Check Password      		     */
/**********************************************************/
function autoCheckPassword() 
{
	if($('registerPassword').value =='')
	{
		
		Effect.Appear('password_enter',{duration:0.3});
	}
	
	if($('registerPassword').value !=='')
	{
		var re = /^\w*(?=\w*\d)(?=\w*[a-z])\w*$/;
		var p=$('registerPassword').value;
		
		if($('registerPassword').value.length<6)
		{
			showPasswordAmount();
			return false;
		}
		
		if (!re.test(p)) {
			
			showPasswordvalidation();
		}
		else {
			hidePasswordAmount();
			hidePasswordvalidation();
		$('registerPassword').className='field1';
		
	}
		
	} 
	
}


/**********************************************************/
/*        	Username Availability Initial Check          */
/**********************************************************/
var usernameTaken = false;

function checkUsernameAvailability(value)
{
	
	
	$('Inlog').hide();
	if(value == '')
	{
		showUsernameUnavail();
		hideUsernameAN();
		removeUsernameClass();
	} 
	else if(!$('registerUsername').value.match(/^[._0-9A-Za-z-]+$/)) {
		showUsernameAN();
	}
	else
	{
		hideUsernameUnavail();
		hideUsernameAN();
		$('registerUsername').className='field1';
			
		
	}
	
}

/**********************************************************/
/*      	 	 	Evaluate Signup 1.1       		     */
/**********************************************************/
function evaluateRegistrationForm()
{
		
	var re = /^\w*(?=\w*\d)(?=\w*[a-z])\w*$/;
		var p=$('registerPassword').value;
	
	$('Inlog').hide();
	if($('registerUsername').value =='' && $('registerPassword').value ==''  )
	{
		Effect.Appear('username_unavail',{duration:0.3});
		Effect.Appear('password_enter',{duration:0.3});
		return false;
		
	} 
	
else if($('registerUsername').value ==''){
		Effect.Appear('username_unavail',{duration:0.3});
				return false;

	} 
	
	//Re-Check password
else if($('registerPassword').value ==''){
		Effect.Appear('password_enter',{duration:0.3});
				return false;
	}
	
	
		else if($('registerPassword').value.length<6)
		{
			showPasswordAmount();
			return false;
		}
		
		else if (!re.test(p)) {
			showPasswordvalidation();
			return false;
		}
	
	


//Re-Check Username
	
	
	//Complete Validation for signup 1.1
	else {
		$('quickSignup_1').hide(); 
		
	
Formname=document.Log;

Formname.action="index.php";
Formname.submit();
}
	
}

/**********************************************************/
/*      	 	 	Evaluate Signup 1.2       		     */
/**********************************************************/
function evaluateRegistrationForm2() {
	submitSignup();
}

/**********************************************************/
/*          		  Invalid Login         			  */
/**********************************************************/

function inlog()
{
	
	Effect.Appear('Inlog',{duration:0.3});

}
/**********************************************************/
/*          		  Submit Signup Form     			  */
/**********************************************************/
function submitSignup() {
	data = $('quickSignup').serialize(true);
	new Ajax.Request('/ajax/quickSignup.php', {
		asynchronous:true,
		evalScripts:true,
		parameters: data,
		method: 'post',
		onSuccess: function(transport) {
			new Ajax.Updater('welcomeSignup', '/modules/sys/signupComplete.php',{asynchronous:true, evalScripts:true});
		},
		onFailure: function(transport) {
			newStatusMsg(transport.responseText,0);
		}
	});
}

//Check if captcha is empty
//if($('registerCaptcha').value == "") {
//	errorBool = true;
//	error += "Please enter the text shown in the image.\n";
//}

/**********************************************************/
/*       Send Request to check Username and Password      */
/**********************************************************/
function getUsername(username) {
	new Ajax.Request('/ajax/checkusername/', {
		parameters: {'username': username},
		method: 'get',
		onSuccess: function(transport) {
			if(transport.responseText == 'TRUE') {
				usernameValid(true);
				usernameTaken = false;
			} else {
				usernameValid(false);
				usernameTaken = true;
			}
		}
	});
}
