﻿
$j().ready(function(){

	try {	
	$j('#signup').validate({
		rules: {
			email: {
				required: true,
				email: true
				
			},
			nickname: {
				required: true,
				minlength: 4,
				alphaspace: true,
				remote: '/ajax?action=username_okay'
			},
			pass1: {
				required: true,
				minlength: 5
			},
			pass2: {
				required: true,
				minlength: 5,
				equalTo: "#pass1"
			},
			birthday: {
				required: true,
				dateISO: true	
			}
		},
		messages: {
			email:"Please enter a valid email address",
			nickname: {
				required: "Must be unique.  Only letters, numbers and spaces.",
				minlength: "Must be at least 4 characters",
				remote: "Sorry, the nickname you have chosen is already being used."
			},
			pass1: {
				required: "Please provide a password",
				minlength: "Your password must be at least 5 characters long"
			},
			pass2: {
				required: "Please provide a password",
				minlength: "Your password must be at least 5 characters long",
				equalTo: "Please enter the same password as above"
			}

			
		}
		
		
	});
	} catch(err) {}
	
});

function checkUsername()
{
	// assumes you are in the signup form
	var nick = $('nickname');
	var email = $('email');
	var pass1 = $('pass1');
	var pass2 = $('pass2');	
	var user_msg = $('user_msg');
	var email_msg = $('email_msg');
	var pass_msg = $('pass_msg');
	
	var userResponse = function(t) {
		var response =  eval('('+t.responseText+')');

	    var signup_button = $('signup_button');


	   	if( response.user ) {
	    	
	    	if( response.user_error ) {
	    		new Element.ClassNames(user_msg).set('error-msg');
	    		user_msg.innerHTML = response.user_error;
	    	} else {
	    		new Element.ClassNames(user_msg).set('okay-msg');
	    		user_msg.innerHTML = 'Username is okay';
 				
	    	}	   		
	   	} else {
			
			new Element.ClassNames(user_msg).set('blank-msg');
			user_msg.innerHTML = '';  		
	   	}

	   	if( response.email) {
	    	
	    	if( response.email_error ) {
	    		new Element.ClassNames(email_msg).set('error-msg');
	    		email_msg.innerHTML = response.email_error;
	    	} else {
	    		new Element.ClassNames(email_msg).set('okay-msg');
	    		email_msg.innerHTML = 'Email address is okay';
 		
	    	}	   		
	   	} else {
			new Element.ClassNames(email_msg).set('blank-msg');
			email_msg.innerHTML = '';  		
	   	}
	    
	    return;
	
	};
	
	var errFunc = function(t) {
	    return;
	};

	if(pass1.value && pass2.value) {
		if(pass1.value != pass2.value) {
    		new Element.ClassNames(pass_msg).set('error-msg');
    		pass_msg.innerHTML = 'Your passwords do not match.';
		} else {
    		new Element.ClassNames(pass_msg).set('okay-msg');
    		pass_msg.innerHTML = 'Passwords are okay';			
		}
	} else {
		new Element.ClassNames(pass_msg).set('blank-msg');
		pass_msg.innerHTML = '';			
	
	}

	if(nick.value || email.value)
	{
		new Ajax.Request('/ajax/', {
			parameters:'action=signup_okay&username=' + nick.value.escapeHTML() + '&email=' + email.value.escapeHTML(), 
			onSuccess:userResponse,
			onFailure:errFunc
		});
	} 
}

