$(function() {
	if ($('#registrationForm').length != 0) {
		initRegistrationForm();
	}
	
	$("a.fbox_single").fancybox();
	$("a.fbox_group").fancybox();
});

function initRegistrationForm() {
	//	Vars
	var form = $('#registrationForm');
	var name = $('.username');
	var nameInfo = $('.usernameInfo');
	var email = $('.email');
	var emailInfo = $('.emailInfo');
	var pass1 = $('.password');
	var pass1Info = $('.passwordInfo');
	var pass2 = $('.cpassword');
	var pass2Info = $('.cpasswordInfo');
	
	//	On blur
	name.blur(validateName);
	email.blur(validateEmail);
	pass1.blur(validatePass1);
	pass2.blur(validatePass2);
	//	On key press
	name.keyup(validateName);
	pass1.keyup(validatePass1);
	pass2.keyup(validatePass2);
	//	On submitting
	form.submit(function(){
		if ( validateName() & validateEmail() & validatePass1() & validatePass2() ) return true;
		else return false;
	});
}

//	Validation functions	
function validateName(){
	//	vars
	var name = $('.username');
	var nameInfo = $('.usernameInfo');
	//	if it's NOT valid
	if ( name.val().length < 3 ){
		name.addClass("error");
		nameInfo.text(name.attr('alt'));
		return false;
	}
	//	if it's valid
	else {
		name.removeClass("error");
		nameInfo.text('');
		return true;
	}
}

function validateEmail(){
	//	vars
	var email = $('.email');
	var emailInfo = $('.emailInfo');
	//	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-zA-Z0-9]+.[a-z]{2,4}$/;
	//	if it's valid email
	if ( filter.test(a) ){
		email.removeClass("error");
		emailInfo.text('');
		return true;
	}
	//	if it's NOT valid
	else {
		email.addClass("error");
		emailInfo.text(email.attr('alt'));
		return false;
	}
}

function validatePass1(){
	//	vars
	var pass1 = $('.password');
	var pass1Info = $('.passwordInfo');
	
	var a = pass1;
	var b = $('.cpassword');

	//	it's NOT valid
	if ( pass1.val().length < 6 ){
		pass1.addClass("error");
		pass1Info.text(pass1.attr('alt'));
		return false;
	}
	//	it's valid
	else {			
		pass1.removeClass("error");
		pass1Info.text('');
		validatePass2();
		return true;
	}
}

function validatePass2(){
	//	vars
	var pass1 = $('.password');
	var pass1Info = $('.passwordInfo');
	var pass2 = $('.cpassword');
	var pass2Info = $('.cpasswordInfo');
	
	var a = pass1;
	var b = pass2;
	//	are NOT valid
	if ( pass1.val() != pass2.val() ){
		pass2.addClass("error");
		pass2Info.text(pass2.attr('alt'));
		return false;
	}
	//	are valid
	else {
		pass2.removeClass("error");
		pass2Info.text('');
		return true;
	}
}
