/***************************/
//@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!					
/***************************/

$(document).ready(function(){
	//global vars
	var form = $("#customForm");
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	var pass1 = $("#pass1");
	var pass1Info = $("#pass1Info");
	var pass2 = $("#pass2");
	var pass2Info = $("#pass2Info");
	var message = $("#message");
	
	var apellido = $("#apellido");
	var apellidoInfo = $("#apellidoInfo");
	var telefono = $("#telefono");
	var telefonoInfo = $("#telefonoInfo");
	
	var telefono1 = $("#telefono1");
	var telefono2 = $("#telefono2");
	
	var desde3 = $("#desde3");
	var mesnac = $("#mesnac");

	
	//var select1 = $("#select1");
//	var select1Info = $("#select1Info");
	
//	var select2 = $("#select2");
//	var select2Info = $("#select2Info");
//	
//	var select3 = $("#select3");
//	var select3Info = $("#select3Info");
//	
	//On blur
	name.blur(validateName);
	email.blur(validateEmail);
	pass1.blur(validatePass1);
	pass2.blur(validatePass2);
		
	apellido.blur(validateApe);
	telefono.blur(validateTel);
	
	//select1.blur(validateSel1);
//	select2.blur(validateSel2);
//	select3.blur(validateSel3);
	//On key press
	apellido.keyup(validateApe);
	telefono.keyup(validateTel);
		
	name.keyup(validateName);
	pass1.keyup(validatePass1);
	pass2.keyup(validatePass2);
	message.keyup(validateMessage);
	
	telefono1.keyup(validateTEL01);
	telefono2.keyup(validateTEL02);
	desde3.keyup(validateDESDE03);
	mesnac.keyup(validateMES);
	
	//select1.keyup(validateSel1);
	//select2.keyup(validateSel2);
//	select3.keyup(validateSel3);
	//On Submitting
	form.submit(function(){
		if(validateName() & validateEmail() & validatePass1() & validatePass2() & validateMessage() & validateApe()& validateTel() & /*validateSel1() & validateSel2() & validateSel3() &*/ validateTEL01() & validateTEL02() & validateDESDE03() & validateMES())
			return true
		else
			return false;
	});
	
	//validation functions
	
		function validateApe(){
		//if it's NOT valid
		if(apellido.val().length < 1){
			apellido.addClass("error");
			apellidoInfo.text("este campo es obligatorio!");
			apellidoInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			apellido.removeClass("error");
			apellidoInfo.text(" ok");
			apellidoInfo.removeClass("error");
			return true;
		}
	}
	
	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.val().length!=""){
			email.removeClass("error");
			emailInfo.text(" Ok");
			emailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text("Escriba un e-mail valida");
			emailInfo.addClass("error");
			return false;
		}
	}
	
	function validateTel(){
		//testing regular expression
		var a = $("#telefono").val();
		var filter = /^([0-9])*$/;
		//if it's valid email
		if(filter.test(a) && telefono.val().length > 6){
			telefono.removeClass("error");
			telefonoInfo.text(" Ok");
			telefonoInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			telefono.addClass("error");
			telefonoInfo.text("Mayor a 6 caracteres, solo numeros");
			telefono.addClass("error");
			return false;
		}
	}
	
		function validateTEL01(){
			//it's NOT valid
		if(telefono1.val().length < 1){
			telefono1.addClass("error");
			return false;
		}
		//it's valid
		else{			
			telefono1.removeClass("error");
			return true;
		}
	}
	
		function validateTEL02(){
			//it's NOT valid
		if(telefono2.val().length < 1){
			telefono2.addClass("error");
			return false;
		}
		//it's valid
		else{			
			telefono2.removeClass("error");
			return true;
		}
	}
	
		
		function validateDESDE03(){
			//it's NOT valid
		if(desde3.val().length < 4){
			desde3.addClass("error");
			return false;
		}
		//it's valid
		else{			
			desde3.removeClass("error");
			return true;
		}
	}
	
	function validateMES(){
			//it's NOT valid
		if(mesnac.val().value < 0){
			mesnac.addClass("error");
			return false;
		}
		//it's valid
		else{			
			mesnac.removeClass("error");
			return true;
		}
	}
	
	//function validateSel1(){
//		//testing regular expression
//		var a = $("#select1").val();
//		var filter = /^([0-9])*$/;
//		//if it's valid email
//		if(select1.val().value < 0){
//			select1.removeClass("error");
//			select1Info.text(" Ok");
//			select1Info.removeClass("error");
//			return true;
//		}
//		//if it's NOT valid
//		else{
//			select1.addClass("error");
//			select1Info.text("Selecione Pais");
//			select1.addClass("error");
//			return false;
//		}
//	}
	
	//	function validateSel2(){
//		//testing regular expression
//		var a = $("#select2").val();
//		var filter = /^([0-9])*$/;
//		//if it's valid email
//		if(select2.val().value<=0){
//			select2.removeClass("error");
//			select2Info.text(" Ok");
//			select2Info.removeClass("error");
//			return true;
//		}
//		//if it's NOT valid
//		else{
//			select2.addClass("error");
//			select2Info.text("Selecione Ciudad/ Provincia");
//			select2.addClass("error");
//			return false;
//		}
//	}
//	
//		function validateSel3(){
//		//testing regular expression
//		var a = $("#select3").val();
//		var filter = /^([0-9])*$/;
//		//if it's valid email
//		if(select3.val().value<=0){
//			select3.removeClass("error");
//			select3Info.text(" Ok");
//			select3Info.removeClass("error");
//			return true;
//		}
//		//if it's NOT valid
//		else{
//			select3.addClass("error");
//			select3Info.text("Selecione Distrito");
//			select3.addClass("error");
//			return false;
//		}
//	}
	
	function validateName(){
		//if it's NOT valid
		if(name.val().length < 1){
			name.addClass("error");
			nameInfo.text("este campo es obligatorio!");
			nameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			name.removeClass("error");
			nameInfo.text(" ok");
			nameInfo.removeClass("error");
			return true;
		}
	}
	function validatePass1(){
		var a = $("#password1");
		var b = $("#password2");

		//it's NOT valid
		if(pass1.val().length <5){
			pass1.addClass("error");
			pass1Info.text("Ingrese password, mayor a 5 caracteres");
			pass1Info.addClass("error");
			return false;
		}
		//it's valid
		else{			
			pass1.removeClass("error");
			pass1Info.text(" Ok");
			pass1Info.removeClass("error");
			validatePass2();
			return true;
		}
	}
	function validatePass2(){
		var a = $("#password1");
		var b = $("#password2");
		//are NOT valid
		if( pass1.val() != pass2.val() ){
			pass2.addClass("error");
			pass2Info.text("contraseņas no coinciden!");
			pass2Info.addClass("error");
			return false;
		}
		//are valid
		else{
			pass2.removeClass("error");
			pass2Info.text(" Ok");
			pass2Info.removeClass("error");
			return true;
		}
	}
	function validateMessage(){
		//it's NOT valid
		if(message.val().length < 10){
			message.addClass("error");
			return false;
		}
		//it's valid
		else{			
			message.removeClass("error");
			return true;
		}
	}
});