/***************************/
//@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!					
/***************************/


/* de aici pentru persoane fizice */
$(document).ready(function()
{
	//global vars
	var form = $("#customForm");
	
	var username = $("#username");
	var usernameInfo = $("#usernameInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	var parola = $("#parola");
	var parolaInfo = $("#parolaInfo");
	var verificareparola = $("#verificareparola");
	var verificareparolaInfo = $("#verificareparolaInfo");
    
	var nume = $("#nume");
	var numeInfo = $("#numeInfo");
	var adresa = $("#adresa");
	var adresaInfo = $("#adresaInfo");
	var judet = $("#judet");
	var judetInfo = $("#judetInfo");
	var cnp = $("#cnp");
	var cnpInfo = $("#cnpInfo");
	
	var localitate = $("#localitate");
	var localitateInfo = $("#localitateInfo");
	var telefon = $("#telefon");
	var telefonInfo = $("#telefonInfo");
	var serieci = $("#serieci");
	var serieciInfo = $("#serieciInfo");
	
	
	
	
	
	//On blur
	username.blur(validateUsername);
	email.blur(validateEmail);
	parola.blur(validateParola);
	verificareparola.blur(validateVerificareparola);
	nume.blur(validateNume);
	
	adresa.blur(validateAdresa);
	judet.blur(validateJudet);
	cnp.blur(validateCnp);
	localitate.blur(validateLocalitate);
	telefon.blur(validateTelefon);
	serieci.blur(validateSerieci);

	
	//On key press
	username.keyup(validateUsername);
	parola.keyup(validateParola);
	verificareparola.keyup(validateVerificareparola);
	
	//On Submitting
	form.submit(function()
	{
		//if(validateUsername() & validateEmail() & validateParola() & validateVerificareparola() & validateNume() & validateAdresa() & validateJudet()  & validateCnp()  & validateLocalitate()  & validateSerieci()  & validateTelefon())
		
		if(validateUsername() & validateEmail() & validateParola() & validateVerificareparola() & validateNume() & validateAdresa() & validateJudet() & validateCnp() & validateLocalitate() & validateTelefon() & validateSerieci())
		
			return true
		else
			return false;
	});
	
	//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-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");
					return true;
				}
			//if it's NOT valid
			else
				{
					email.addClass("error");
					emailInfo.text("Stop cowboy! Type a valid e-mail please :P");
					emailInfo.addClass("error");
					return false;
				}
		}
	function validateUsername()
		{
		//if it's NOT valid
			if(username.val().length < 4)
				{
					username.addClass("error");
					usernameInfo.text("userul trebuie sa contina cel putin 4 caractere");
					usernameInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					username.removeClass("error");
					usernameInfo.text("What's your username?");
					usernameInfo.removeClass("error");
					return true;
				}
		}
	function validateParola()
		{
			var a = $("#parola");
			var b = $("#verificareparola");
	
			//it's NOT valid
			if(parola.val().length <5)
				{
					parola.addClass("error");
					parolaInfo.text("Ey! Remember: At least 5 characters: letters, numbers and '_'");
					parolaInfo.addClass("error");
					return false;
				}
			//it's valid
			else
				{			
					parola.removeClass("error");
					parolaInfo.text("At least 5 characters: letters, numbers and '_'");
					parolaInfo.removeClass("error");
					validateVerificareparola();
					return true;
				}
		}
	function validateVerificareparola()
		{
			var a = $("#parola");
			var b = $("#verificareparola");
			//are NOT valid
			if( parola.val() != verificareparola.val() )
				{
					verificareparola.addClass("error");
					verificareparolaInfo.text("Parolele nu corespund!");
					verificareparolaInfo.addClass("error");
					return false;
				}
			//are valid
			else
				{
					verificareparola.removeClass("error");
					verificareparolaInfo.text("Confirm password");
					verificareparolaInfo.removeClass("error");
					return true;
				}
		}
	
	function validateNume()
		{
			//if it's NOT valid
			if(nume.val().length < 4)
				{
					nume.addClass("error");
					numeInfo.text("numele trebuie sa contina cel putin 4 caractere");
					numeInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					nume.removeClass("error");
					numeInfo.text("What's your nume?");
					numeInfo.removeClass("error");
					return true;
				}
		}
	

	function validateAdresa()
		{
	//if it's NOT valid
			if(adresa.val().length < 10)
				{
					adresa.addClass("error");
					adresaInfo.text("Adresa trebuie sa contina cel putin 10 caractere");
					adresaInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					adresa.removeClass("error");
					adresaInfo.text("What's your adress?");
					adresaInfo.removeClass("error");
					return true;
				}
		}
	
	function validateJudet()
		{
			//if it's NOT valid
			if(judet.val().length < 3)
				{
					judet.addClass("error");
					judetInfo.text("Adresa trebuie sa contina cel putin 3 caractere");
					judetInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					judet.removeClass("error");
					judetInfo.text("What's your judetul?");
					judetInfo.removeClass("error");
					return true;
				}
		}
			
	function validateCnp()
		{
		//if it's NOT valid
			if(cnp.val().length < 13)
				{
					cnp.addClass("error");
					cnpInfo.text("cnp-ul nu este corect");
					cnpInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					cnp.removeClass("error");
					cnpInfo.text("What's your cnp?");
					cnpInfo.removeClass("error");
					return true;
				}
		}
	function validateLocalitate()
		{
		//if it's NOT valid
			if(localitate.val().length < 3)
				{
					localitate.addClass("error");
					localitateInfo.text("Localitatea nu este corecta");
					localitateInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					localitate.removeClass("error");
					localitateInfo.text("What's your localitate?");
					localitateInfo.removeClass("error");
					return true;
				}
		}
		
	function validateTelefon()
		{
		//if it's NOT valid
			if(telefon.val().length < 3)
				{
					telefon.addClass("error");
					telefonInfo.text("Numarul de telefon nu este corect");
					telefonInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					telefon.removeClass("error");
					telefonInfo.text("What's your localitate?");
					telefonInfo.removeClass("error");
					return true;
				}
		}
	function validateSerieci()
		{
		//if it's NOT valid
			if(serieci.val().length < 8)
				{
					serieci.addClass("error");
					serieciInfo.text("Seria si numarul nu sunt corecte");
					serieciInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					serieci.removeClass("error");
					serieciInfo.text("What's your seria?");
					serieciInfo.removeClass("error");
					return true;
				}
		}
});

/* aici termin cu persoane fizice */


/*  de aici incep persoanele juridice */
$(document).ready(function()
{
	//global vars
	var form = $("#customFormjuridic");
	
	var usernamejuridic = $("#usernamejuridic");
	var usernamejuridicInfo = $("#usernamejuridicInfo");
	var emailjuridic = $("#emailjuridic");
	var emailjuridicInfo = $("#emailjuridicInfo");
	var parolajuridic = $("#parolajuridic");
	var parolajuridicInfo = $("#parolajuridicInfo");
	var verificareparolajuridic = $("#verificareparolajuridic");
	var verificareparolajuridicInfo = $("#verificareparolajuridicInfo");
    
    
	var denumirejuridic = $("#denumirejuridic");
	var denumirejuridicInfo = $("#denumirejuridicInfo");
	var adresajuridic = $("#adresajuridic");
	var adresajuridicInfo = $("#adresaInfojuridic");
	var judetjuridic = $("#judetjuridic");
	var judetjuridicInfo = $("#judetjuridicInfo");
	
	var persoanacontact = $("#persoanacontact");
	var persoanacontactInfo = $("#persoanacontactInfo");
	var nrregcomert = $("#nrregcomert");
	var nrregcomertInfo = $("#nrregcomertInfo");
	var nrcontbancarjuridic = $("#nrcontbancarjuridic");
	var nrcontbancarjuridicInfo = $("#nrcontbancarjuridicInfo");
	var localitatejuridic = $("#localitatejuridic");
	var localitatejuridicInfo = $("#localitatejuridicInfo");
	var telefonjuridic = $("#telefonjuridic");
	var telefonjuridicInfo = $("#telefonjuridicInfo");
	var codfiscal = $("#codfiscal");
	var codfiscalInfo = $("#codfiscalInfo");
	
	
	//On blur
	usernamejuridic.blur(validateUsernamejuridic);
	emailjuridic.blur(validateEmailjuridic);
	parolajuridic.blur(validateParolajuridic);
	verificareparolajuridic.blur(validateVerificareparolajuridic);
	
	denumirejuridic.blur(validateDenumirejuridic);
	adresajuridic.blur(validateAdresajuridic);
	judetjuridic.blur(validateJudetjuridic);
	
	persoanacontact.blur(validatePersoanacontact);
	nrregcomert.blur(validateNrregcomert);
	nrcontbancarjuridic.blur(validateNrcontbancarjuridic);
	localitatejuridic.blur(validateLocalitatejuridic);
	telefonjuridic.blur(validateTelefonjuridic);
	codfiscal.blur(validateCodfiscal);

	
	//On key press
	usernamejuridic.keyup(validateUsernamejuridic);
	parolajuridic.keyup(validateParolajuridic);
	verificareparolajuridic.keyup(validateVerificareparolajuridic);
	
	//On Submitting
	form.submit(function()
	{
		
		//if(validateUsernamejuridic() & validateEmailjuridic() & validateParolajuridic() & validateVerificareparolajuridic() & validateDenumirejuridic() & validateAdresajuridic() & validateJudetjuridic() & validatePersoanacontact() & validateNrregcomert() & validateNrcontbancar() & validateLocalitatejuridic() & validateTelefonjuridic())
		if(validateUsernamejuridic() & validateEmailjuridic() & validateParolajuridic() & validateVerificareparolajuridic() & validateDenumirejuridic() & validateAdresajuridic() & validateJudetjuridic() & validatePersoanacontact() & validateNrregcomert() & validateNrcontbancarjuridic() & validateLocalitatejuridic() & validateTelefonjuridic() & validateCodfiscal())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEmailjuridic()
		{
			//testing regular expression
			var a = $("#emailjuridic").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))
				{
					emailjuridic.removeClass("error");
					emailjuridicInfo.text("Valid E-mail please, you will need it to log in!");
					emailjuridicInfo.removeClass("error");
					return true;
				}
			//if it's NOT valid
			else
				{
					emailjuridic.addClass("error");
					emailjuridicInfo.text("Stop cowboy! Type a valid e-mail please :P");
					emailjuridicInfo.addClass("error");
					return false;
				}
		}
	function validateUsernamejuridic()
		{
		//if it's NOT valid
			if(usernamejuridic.val().length < 4)
				{
					usernamejuridic.addClass("error");
					usernamejuridicInfo.text("userul trebuie sa contina cel putin 4 caractere");
					usernamejuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					usernamejuridic.removeClass("error");
					usernamejuridicInfo.text("What's your username?");
					usernamejuridicInfo.removeClass("error");
					return true;
				}
		}
	function validateParolajuridic()
		{
			var a = $("#parolajuridic");
			var b = $("#verificareparolajuridic");
	
			//it's NOT valid
			if(parolajuridic.val().length <5)
				{
					parolajuridic.addClass("error");
					parolajuridicInfo.text("Ey! Remember: At least 5 characters: letters, numbers and '_'");
					parolajuridicInfo.addClass("error");
					return false;
				}
			//it's valid
			else
				{			
					parolajuridic.removeClass("error");
					parolajuridicInfo.text("At least 5 characters: letters, numbers and '_'");
					parolajuridicInfo.removeClass("error");
					validateVerificareparolajuridic();
					return true;
				}
		}
	function validateVerificareparolajuridic()
		{
			var a = $("#parolajuridic");
			var b = $("#verificareparolajuridic");
			//are NOT valid
			if( parolajuridic.val() != verificareparolajuridic.val() )
				{
					verificareparolajuridic.addClass("error");
					verificareparolajuridicInfo.text("Parolele nu corespund!");
					verificareparolajuridicInfo.addClass("error");
					return false;
				}
			//are valid
			else
				{
					verificareparolajuridic.removeClass("error");
					verificareparolajuridicInfo.text("Confirm password");
					verificareparolajuridicInfo.removeClass("error");
					return true;
				}
		}
	
	function validateDenumirejuridic()
		{
			//if it's NOT valid
			if(denumirejuridic.val().length < 4)
				{
					denumirejuridic.addClass("error");
					denumirejuridicInfo.text("Introduceti numele firmei");
					denumirejuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					denumirejuridic.removeClass("error");
					denumirejuridicInfo.text("Numele firmei");
					denumirejuridicInfo.removeClass("error");
					return true;
				}
		}
	

	function validateAdresajuridic()
		{
	//if it's NOT valid
			if(adresajuridic.val().length < 10)
				{
					adresajuridic.addClass("error");
					adresajuridicInfo.text("Adresa trebuie sa contina cel putin 10 caractere");
					adresajuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					adresajuridic.removeClass("error");
					adresajuridicInfo.text("What's your adress?");
					adresajuridicInfo.removeClass("error");
					return true;
				}
		}
	
	function validateJudetjuridic()
		{
			//if it's NOT valid
			if(judetjuridic.val().length < 3)
				{
					judetjuridic.addClass("error");
					judetjuridicInfo.text("Judetul nu este corect");
					judetjuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					judetjuridic.removeClass("error");
					judetjuridicInfo.text("What's your judetul?");
					judetjuridicInfo.removeClass("error");
					return true;
				}
		}
	
	function validatePersoanacontact()
		{
		//if it's NOT valid
			if(persoanacontact.val().length < 5)
				{
					persoanacontact.addClass("error");
					persoanacontactInfo.text("Introduceti o persoana de contact");
					persoanacontactInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					persoanacontact.removeClass("error");
					persoanacontactInfo.text("Persoana contact ");
					persoanacontactInfo.removeClass("error");
					return true;
				}
		}
	
	function validateNrregcomert()
		{
		//if it's NOT valid
			if(nrregcomert.val().length < 10)
				{
					nrregcomert.addClass("error");
					nrregcomertInfo.text("Introduceti nr reg comert");
					nrregcomertInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					nrregcomert.removeClass("error");
					nrregcomertInfo.text("Nr reg commert");
					nrregcomertInfo.removeClass("error");
					return true;
				}
		}

	function validateNrcontbancarjuridic()
		{
		//if it's NOT valid
			if(nrcontbancarjuridic.val().length < 24)
				{
					nrcontbancarjuridic.addClass("error");
					nrcontbancarjuridicInfo.text("Introduceti nr cont bancar");
					nrcontbancarjuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					nrcontbancarjuridic.removeClass("error");
					nrcontbancarjuridicInfo.text("Cont bancar");
					nrcontbancarjuridicInfo.removeClass("error");
					return true;
				}
		}
			
	function validateLocalitatejuridic()
		{
		//if it's NOT valid
			if(localitatejuridic.val().length < 3)
				{
					localitatejuridic.addClass("error");
					localitatejuridicInfo.text("Localitatea nu este corecta");
					localitatejuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					localitatejuridic.removeClass("error");
					localitatejuridicInfo.text("What's your localitate?");
					localitatejuridicInfo.removeClass("error");
					return true;
				}
		}
		
	function validateTelefonjuridic()
		{
		//if it's NOT valid
			if(telefonjuridic.val().length < 10)
				{
					telefonjuridic.addClass("error");
					telefonjuridicInfo.text("Numarul de telefon nu este corect");
					telefonjuridicInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					telefonjuridic.removeClass("error");
					telefonjuridicInfo.text("What's your telefon?");
					telefonjuridicInfo.removeClass("error");
					return true;
				}
		}
	function validateCodfiscal()
		{
		//if it's NOT valid
			if(codfiscal.val().length < 8)
				{
					codfiscal.addClass("error");
					codfiscalInfo.text("Cod fiscal corect");
					codfiscalInfo.addClass("error");
					return false;
				}
			//if it's valid
			else
				{
					codfiscal.removeClass("error");
					codfiscalInfo.text("Cod fiscal corect");
					codfiscalInfo.removeClass("error");
					return true;
				}
		}
	
});
/*  aici termin cu persoanele juridice  */
