$(document).ready(function(){
		   

	//global vars
	var form = $("#registerForm");
	var username = $("#username");
	var nameError = $("#nameError").hide();
	var password = $("#password1");
	var passError = $("#passError").hide();
	var password2 = $("#password2");
	var pass2Error = $("#pass2Error").hide();
	var email = $("#email");
	var emailError = $("#emailError").hide();
	
	username.blur(validateUsername);
	password.blur(validatePassword);
	password2.blur(validatePassword2);
	email.blur(validateEmail);
	
	form.submit(function(){
		if(validateUsername() & validatePassword() & validatePassword2() & validateEmail()){
			return true;
		}else{
			return false;
		}
	});
	
	function validateUsername(){
		
		if(username.val().length < 3){
			nameError.text("Please enter a username with more than 3 characters").slideDown("fast");
			return false;
		}else{

			$.ajax({
				type: "POST",
				async: false,
				url: "/scripts/register.php",
				data: "action=check&username=" + username.val(),
				beforeSend: function(){
					nameError.text("Checking for availablitiy").slideDown("fast");
				},
				success: function(msg){
					if(msg == "Name available"){
						nameError.text(msg).removeClass().addClass("success");
					}else{
						nameError.text(msg).removeClass().addClass("error");
					}
				}
			});
			if(nameError.html() == "Name available"){ //if name is available
				return true;
			}
		
		}
		
	}
	
	function validatePassword(){
		//if not valid
		if(password.val().length < 6){
			passError.text("Please enter a password with more than 6 characters in").slideDown("fast");
			return false;
		}else{
			passError.slideUp("fast");
			return true;
		}
	}
	
	function validatePassword2(){
		//if not valid
		if(password.val() != password2.val()){
			pass2Error.text("please enter matching emails").slideDown("fast");
			return false;
		}else{
			pass2Error.slideUp("fast");
			return true;
		}
	}
	
	function validateEmail(){
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		if(!filter.test(email.val())){
			emailError.text("Please enter a valid email").slideDown("fast");
			return false;
		}
		else{
			emailError.slideUp("fast");
			return true;
		}
	}
	
});
