$(document).ready(function(){
	//global vars
	var form = $("#reg");
	var fname = $("#fname");
	var fnameInfo = $("#fnameInfo");
	var lname = $("#lname");
	var lnameInfo = $("#lnameInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	var pass1 = $("#pass1");
	var pass1Info = $("#pass1Info");
	var pass2 = $("#pass2");
	var pass2Info = $("#pass2Info");
	var byear = $("#byear");
	var byearInfo = $("#byearInfo");
	var noerror=0;
	var firstpass=0;
	
	//On blur
	fname.blur(validatefName);
	lname.blur(validatelName);
	email.blur(validateEmail);
	pass1.blur(validatePass1);
	pass2.blur(validatePass2);
	byear.blur(validateByear);
	
	form.submit(function() {
  		var res = checkall();
		if(res==0)
			return false;
		else
			return true;
  	});

	//On Submitting
	/*form.submit(function(){
		//if( validatefName() & validatelName() & validateEmail() & validatePass1() & validateByear() ){
		
	});*/
	function checkall(){
		validatefName();
		validatelName();
		validateEmail();
		validatePass1();
		validatePass2();
		validateByear();
		
		if(noerror==1){
			return 1;
		}else{
			return 0;
		}
	}
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter = /^[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 it's valid email
		if(filter.test(a)){
			email.removeClass("error");
			emailInfo.text("Valid E-mail please, you will need it to log in!");
			emailInfo.removeClass("error");
			$.post('/assets/scripts/uniquemail.php',"e="+a,function (data){
				if(data=='1'){
					noerror=1;
				}else {
					noerror=0;
					email.addClass("error");
					emailInfo.text("Email Id already exist in our DataBase");
					emailInfo.addClass("error");
				}
			});
		}
		//if it's NOT valid
		else{
			noerror=0;
			email.addClass("error");
			emailInfo.text("Type a valid e-mail please");
			emailInfo.addClass("error");
		}
	}
	
	function validatefName(){
		//if it's NOT valid
		if(fname.val().length < 4){
			noerror=0;
			fname.addClass("error");
			fnameInfo.text("We want names with more than 3 letters!");
			fnameInfo.addClass("error");
		}
		//if it's valid
		else{
			noerror=1;
			fname.removeClass("error");
			fnameInfo.text("What's your First name?");
			fnameInfo.removeClass("error");
		}

	}
	function validatelName(){
		//if it's NOT valid
		if(lname.val().length < 4){
			noerror=0;
			lname.addClass("error");
			lnameInfo.text("We want names with more than 3 letters!");
			lnameInfo.addClass("error");
		}
		//if it's valid
		else{
			noerror=1;
			lname.removeClass("error");
			lnameInfo.text("What's your Last name?");
			lnameInfo.removeClass("error");
		}
	}
	function validatePass1(){
		//it's NOT valid
		if(pass1.val().length <5){
			noerror=0;
			pass1.addClass("error");
			pass1Info.text("Remember: At least 5 char: letters, numbers and '_'");
			pass1Info.addClass("error");
		}
		//it's valid
		else{
			if(firstpass!=0)
				validatePass2();
			noerror=1;
			pass1.removeClass("error");
			pass1Info.text("At least 5 char: letters, numbers and '_'");
			pass1Info.removeClass("error");
		}
		firstpass++;
	}
	function validatePass2(){
		//are NOT valid
		if( pass1.val() != pass2.val() ){
			noerror=0;
			pass2.addClass("error");
			pass2Info.text("Passwords doesn't match!");
			pass2Info.addClass("error");
		}
		//are valid
		else{
			noerror=1;
			pass2.removeClass("error");
			pass2Info.text("Confirm password");
			pass2Info.removeClass("error");
		}
	}
	function validateByear(){
		var z = parseFloat(byear.val());
		if(z > 1900 && z < 2010 ){
			noerror=1;
			byear.removeClass("error");
			byearInfo.text("Your Birth year");
			byearInfo.removeClass("error");
		}
		else {
			noerror=0;
			byear.addClass("error");
			byearInfo.text("Invalid year");
			byearInfo.addClass("error");
		}
	}
	
});