/***************************/
//@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 FirstName = $("#FirstName");
		var FirstNameInfo = $("#FirstNameInfo");
	
	var LastName = $("#LastName");
		var LastNameInfo = $("#LastNameInfo");
	
	var Email = $("#Email");
		var EmailInfo = $("#EmailInfo");
	
	var Zipcode = $("#Zipcode");
		var ZipcodeInfo = $("#ZipcodeInfo");
	
	var DOBmonth = $("#DOBmonth");
		var DOBmonthInfo = $("#DOBmonthInfo");
	
	var DOBday = $("#DOBday");
		var DOBdayInfo = $("#DOBdayInfo");
	
	var DOByear = $("#DOByear");
		var DOByearInfo = $("#DOByearInfo");
	
	var Facebook = $("#Facebook");
		var FacebookInfo = $("#FacebookInfo");
	
	//var FileUpload = $("#FileUpload");
		//var FileUploadInfo = $("#FileUploadInfo");
	
	var Comment = $("#Comment");
		var CommentInfo = $("#CommentInfo");		
	
	//var Terms = $("#Terms");
		//var TermsInfo = $("#TermsInfo");

	
	//On blur
		FirstName.blur(validateFirstName);
		LastName.blur(validateLastName);
		Zipcode.blur(validateZipcode);
		Email.blur(validateEmail);
		//FileUpload.blur(validateFileUpload);
		DOBmonth.blur(validateDOBmonth);
		DOBday.blur(validateDOBday);
		DOByear.blur(validateDOByear);
		Facebook.blur(validateFacebook);
		Comment.blur(validateComment);
		//Terms.blur(validateTerms);
	
	//On key press
		FirstName.keyup(validateFirstName);
		LastName.keyup(validateLastName);
		Zipcode.keyup(validateZipcode);
		//FileUpload.keyup(validateFileUpload);
		DOBmonth.keyup(validateDOBmonth);
		DOBday.keyup(validateDOBday);
		DOByear.keyup(validateDOByear);
		Facebook.keyup(validateFacebook);
		Comment.keyup(validateComment);
		//Terms.keyup(validateTerms);
	
	//On Submitting
	form.submit(function(){
		if(validateFirstName() & validateLastName() & validateEmail() & validateZipcode() & validateFacebook() & validateDOBmonth() & validateDOBday() & validateDOByear() & validateComment())
			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("Complete!");
			EmailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			Email.addClass("error");
			EmailInfo.text("Please enter a valid Email!");
			EmailInfo.addClass("error");
			return false;
		}
	}
	function validateFirstName(){
		//if it's NOT valid
		if(FirstName.val().length < 4){
			FirstName.addClass("error");
			FirstNameInfo.text("We want first names with more than 3 letters!");
			FirstNameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			FirstName.removeClass("error");
			FirstNameInfo.text("Complete!");
			FirstNameInfo.removeClass("error");
			return true;
		}
	}
	
// BEGIN validate LastName
function validateLastName()
	{
	//if it's NOT valid
	if(LastName.val().length < 4)
		{
		LastName.addClass("error");
		LastNameInfo.text("We want last names with more than 3 letters!");
		LastNameInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		LastName.removeClass("error");
		LastNameInfo.text("Complete!");
		LastNameInfo.removeClass("error");
		return true;
		}
	}
// END validate LastName

// BEGIN validate Zipcode
function validateZipcode()
	{
	//if it's NOT valid
	if(Zipcode.val().length < 4)
		{
		Zipcode.addClass("error");
		ZipcodeInfo.text("We want Zipcodes with more than 3 characters!");
		ZipcodeInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		Zipcode.removeClass("error");
		ZipcodeInfo.text("Complete!");
		ZipcodeInfo.removeClass("error");
		return true;
		}
	}
// END validate LastName

// BEGIN validate FileUpload
// function validateFileUpload()
// 	{
	//if it's NOT valid
	//if(FileUpload.val().length < 4)
// 	var A1 = document.getElementById("FileUpload").value;
// 	if(A1.length = 0 || A1.length == '')
// 		{
// 		FileUpload.addClass("error");
// 		FileUploadInfo.text("Opps, you forgot to select an image!");
// 		FileUploadInfo.addClass("error");
		//document.write(A1.length);
// 		return false;
// 		}
	//if it's valid
// 	else
// 		{
// 		FileUpload.removeClass("error");
// 		FileUploadInfo.text("Please click browse to upload your image.");
// 		FileUploadInfo.removeClass("error");
		//document.write(A1.length);
// 		return true;
// 		}
// 	}
// END validate FileUpload

// BEGIN validate DOBmonth
function validateDOBmonth()
	{
	//if it's NOT valid
	if(DOBmonth.val().length < 1)
		{
		DOBmonth.addClass("error");
		DOBmonthInfo.text("You forgot to enter the month you were born!");
		DOBmonthInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		DOBmonth.removeClass("error");
		DOBmonthInfo.text("Complete!");
		DOBmonth.removeClass("error");
		return true;
		}
	}
// END validate DOBmonth

// BEGIN validate DOBday
function validateDOBday()
	{
	//if it's NOT valid
	if(DOBday.val().length < 1)
		{
		DOBday.addClass("error");
		DOBdayInfo.text("You forgot to enter the day you were born!");
		DOBdayInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		DOBday.removeClass("error");
		DOBdayInfo.text("Complete!");
		DOBday.removeClass("error");
		return true;
		}
	}
// END validate DOBday

// BEGIN validate DOByear
function validateDOByear()
	{
	//if it's NOT valid
	if(DOByear.val().length < 1)
		{
		DOByear.addClass("error");
		DOByearInfo.text("You forgot to enter the year you were born!");
		DOByearInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		DOByear.removeClass("error");
		DOByearInfo.text("Complete!");
		DOByear.removeClass("error");
		return true;
		}
	}
// END validate DOByear

// BEGIN validate Facebook
function validateFacebook()
	{
	//if it's NOT valid
	if(Facebook.val().length < 20)
		{
		Facebook.addClass("error");
		FacebookInfo.text("You forgot to tell us why your Facebook page!");
		FacebookInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		Facebook.removeClass("error");
		FacebookInfo.text("Complete!");
		FacebookInfo.removeClass("error");
		return true;
		}
	}
// END validate Facebook

// BEGIN validate Comment
function validateComment()
	{
	//if it's NOT valid
	if(Comment.val().length < 10)
		{
		Comment.addClass("error");
		CommentInfo.text("You forgot to tell us why you want to train with Rich!");
		CommentInfo.addClass("error");
		return false;
		}
	//if it's valid
	else
		{
		Comment.removeClass("error");
		CommentInfo.text("Complete!");
		CommentInfo.removeClass("error");
		return true;
		}
	}
// END validate Comment

  // BEGIN validate Terms
//  function validateTerms()
//	  {
	  //if it's NOT valid
	  //if(FileUpload.val().length < 4)
//	  var A2 = document.getElementById("Terms").value;
//	  if(A2.length = 0 || A2.length == '')
//		  {
//		  Terms.addClass("error");
//		  TermsInfo.text("Opps, you forgot to select an image!");
//		  TermsInfo.addClass("error");
		  //document.write(A1.length);
//		  return false;
//		  }
	  //if it's valid
//	  else
//		  {
//		  Terms.removeClass("error");
//		  TermsInfo.text("Please click browse to upload your image.");
//		  TermsInfo.removeClass("error");
		  //document.write(A1.length);
//		  return true;
//		  }
//	  }
  // END validate Terms

});
