/*********** Validari formulare ***********/

/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!					
/***************************/

/*********** Formular Contact ***********/

$(document).ready(function(){
	//variabile globale
	var formularContact = $("#formularContact");
	var nume = $("#nume");
	var infoNume = $("#infoNume");
	var email = $("#email");
	var infoEmail = $("#infoEmail");
	var mesaj = $("#mesaj");
	var infoMesaj = $("#infoMesaj");
	
	//La blur
	nume.blur(valideazaNume);
	email.blur(valideazaEmail);
	mesaj.blur(valideazaMesaj);
	
	//La apasarea unei taste (keypress)
	nume.keyup(valideazaNume);
	email.keyup(valideazaEmail);
	mesaj.keyup(valideazaMesaj);
	
	//La strimitere (submit)
	formularContact.submit(function(){
		if(valideazaNume() & valideazaEmail() & valideazaMesaj())
			return true
		else
			return false;
	});
	
	//functiile de validare
	function valideazaNume(){
		//daca numele nu este valid (are mai putin de un caracter)
		if(nume.val().length < 1){
			nume.addClass("eroareCamp");
			infoNume.text("Numele trebuie sa contina cel putin 2 caractere!");
			infoNume.addClass("eroareMesaj");
			return false;
		}
		//daca este valid
		else{
			nume.removeClass("eroareCamp");
			nume.addClass("succesCamp");
			infoNume.text("");
			infoNume.removeClass("eroareMesaj");
			return true;
		}
	}
	function valideazaEmail(){
		//se testeaza expresia regulata
		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}$/;
		//daca adresa de email este valida
		if(filter.test(a)){
			email.removeClass("eroareCamp");
			email.addClass("succesCamp");
			infoEmail.text("");
			infoEmail.removeClass("eroareMesaj");
			return true;
		}
		//daca adresa de email nu este valida
		else{
			email.addClass("eroareCamp");
			infoEmail.text("Adresa de email nu este valida!");
			infoEmail.addClass("eroareMesaj");
			return false;
		}
	}
	function valideazaMesaj(){
		//daca mesajul nu este valid
		if(mesaj.val().length < 5){
			mesaj.addClass("eroareCamp");
			infoMesaj.text("Mesajul trebuie sa contina minim 5 caractere!");
			infoMesaj.addClass("eroareMesaj");
			return false;
		}
		//daca este valid
		else{			
			mesaj.removeClass("eroareCamp");
			mesaj.addClass("succesCamp");
			infoMesaj.text("");
			infoMesaj.removeClass("eroareMesaj");
			return true;
		}
	}
});

/*********** Formular Comentarii ***********/

$(document).ready(function(){
	//variabile globale
	var formularComentarii = $("#formularComentarii");
	var author = $("#author");
	var infoAuthor = $("#infoAuthor");
	var email = $("#email");
	var infoEmail = $("#infoEmail");
	var comment = $("#comment");
	var infoComment = $("#infoComment");
	
	//La blur
	author.blur(valideazaAuthor);
	email.blur(valideazaEmail);
	comment.blur(valideazaComment);
	
	//La apasarea unei taste (keypress)
	author.keyup(valideazaAuthor);
	email.keyup(valideazaEmail);
	comment.keyup(valideazaComment);
	
	//La strimitere (submit)
	formularComentarii.submit(function(){
		if(valideazaAuthor() & valideazaEmail() & valideazaComment())
			return true
		else
			return false;
	});
	
	//functiile de validare
	function valideazaAuthor(){
		//daca authorle nu este valid (are mai putin de un caracter)
		if(author.val().length < 1){
			author.addClass("eroareCamp");
			infoAuthor.text("Numele trebuie sa contina cel putin 2 caractere!");
			infoAuthor.addClass("eroareMesaj");
			return false;
		}
		//daca este valid
		else{
			author.removeClass("eroareCamp");
			author.addClass("succesCamp");
			infoAuthor.text("");
			infoAuthor.removeClass("eroareMesaj");
			return true;
		}
	}
	function valideazaEmail(){
		//se testeaza expresia regulata
		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}$/;
		//daca adresa de email este valida
		if(filter.test(a)){
			email.removeClass("eroareCamp");
			email.addClass("succesCamp");
			infoEmail.text("");
			infoEmail.removeClass("eroareMesaj");
			return true;
		}
		//daca adresa de email nu este valida
		else{
			email.addClass("eroareCamp");
			infoEmail.text("Adresa de email nu este valida!");
			infoEmail.addClass("eroareMesaj");
			return false;
		}
	}
	function valideazaComment(){
		//daca commentul nu este valid
		if(comment.val().length < 5){
			comment.addClass("eroareCamp");
			infoComment.text("Comentariul trebuie sa contina minim 5 caractere!");
			infoComment.addClass("eroareMesaj");
			return false;
		}
		//daca este valid
		else{			
			comment.removeClass("eroareCamp");
			comment.addClass("succesCamp");
			infoComment.text("");
			infoComment.removeClass("eroareMesaj");
			return true;
		}
	}
});