$(document).ready(function(){
	//global vars
	var form = $(".form");
	var name = $("#tunnus");
	var nameInfo = $("#tunnusVirhe");
	var date = $("syntymapaiva");
	var dateInfo = $("syntymapaivaVirhe");
	var email = $("#sahkoposti");
	var emailInfo = $("#sahkopostiVirhe");
	var pass1 = $("#salasana");
	var pass1Info = $("#salasanaVirhe");
	var pass2 = $("#salasana2");
	var pass2Info = $("#salasana2Virhe");
	var message = $("#message");

	//On blur
	name.blur(validateName);
	email.blur(validateEmail);
	pass1.blur(validatePass1);
	pass2.blur(validatePass2);

	//On key press
	//name.keyup(validateName);
	//email.keyup(validateEmail);
	//pass1.keyup(validatePass1);
	//pass2.keyup(validatePass2);
	//message.keyup(validateMessage);

	//On Submitting
	form.submit(function(){
		if(validateName() & validateEmail() & validatePass1() & validatePass2() & validateMessage())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEmail(){
		var a = $("#sahkoposti").val();
		var filter = /^[a-zA-Z0-9]+[\w.-]+[\w-]+@[a-zA-Z0-9]+[\w.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		if(filter.test(a)){
			email.removeClass("error");
			emailInfo.text("");
			return true;
		}
		else{
			email.addClass("error");
			emailInfo.text("Virheellinen sähköpostiosoite.");
			return false;
		}
	}
	function validateName(){
		var a = $("#tunnus").val();
		var filter = /^[a-zA-Z0-9]{4,12}$/;
		if (!filter.test(a)){
			name.addClass("error");
			nameInfo.text("Virheellinen nimimerkki.");
			return false;
		}
		else{
			name.removeClass("error");
			nameInfo.text("");
			return true;
		}
	}
	function validatePass1(){
		var a = $("#password1");
		var b = $("#password2");
		if(pass1.val().length < 6){
			pass1.addClass("error");
			pass1Info.text("Virheellinen salasana.");
			return false;
		}
		else{			
			pass1.removeClass("error");
			pass1Info.text("");
			validatePass2();
			return true;
		}
	}
	function validatePass2(){
		var a = $("#password1");
		var b = $("#password2");
		if( pass1.val() != pass2.val() ){
			pass2.addClass("error");
			pass2Info.text("Salasanat eivät täsmää.");
			return false;
		}
		else{
			pass2.removeClass("error");
			pass2Info.text("");
			return true;
		}
	}
	function validateMessage(){
		if(message.val().length < 10){
			message.addClass("error");
			return false;
		}
		else{			
			message.removeClass("error");
			return true;
		}
	}
});
