/***************************/

//@Author: Michael Foster			

/***************************/

/* Edited by Mit (mit@w3systems.net) 19/10/2010



- Remove keyup detection as not necessary.  

- Changed '&' to '&&' in onsubmit if statement (syntax was wrong) 

- Added var for mobile number, and onblur call to function

- Changed if statement in validateContactNumber to validate number of 11 characters (ignoring spaces)

- Added validateMobileNumber function... duplicated actions of validateContactNumber, but will also return true if zero length



*/



$(document).ready(function(){

	

	//global vars

	var form = $("#contact-form-side");

	var title = $("#title");

	var titleInfo = $("#titleInfo");

	var first = $("#name");

	var firstInfo = $("#firstInfo");

	var surname = $("#surname");

	var surnameInfo = $("#surnameInfo");

	var contactno = $("#contact-number");

	var contactnoInfo = $("#contact-numberInfo");

	var mobileno = $("#mobile-number");

	var mobilenoInfo = $("#mobile-numberInfo");
	
	var email = $("#email");

	var emailInfo = $("#emailInfo");

	var errorMsg = '';

	var sideBarForm = $("#from_side_form").val();
	//On blur

	if (sideBarForm == '1') {
			var numcreditors = $("#number_creditors");
			var debtlevel = $("#debt_level");
			//
			numcreditors.blur(validateNumCreditors);
			debtlevel.blur(validateDebtLevel);
	}

	title.blur(validateTitle);

	first.blur(validateFirst);

	surname.blur(validateSurname);

	contactno.blur(validateContactNumber);

	mobileno.blur(validateMobileNumber);

	email.blur(validateEmail);

	//On Submit

	$("#contact-form-side").submit(function(){

		errorMsg = '';

		//
		
		if (sideBarForm == '1') {
			if (validateNumCreditors() == false) { errorMsg = errorMsg + 'Number of creditors\n'; }
			if (validateDebtLevel() == false) { errorMsg = errorMsg + 'Level of Debt\n'; }
		}		

		if (validateTitle() == false) { errorMsg = errorMsg + 'Title\n'; }

		if (validateFirst() == false) { errorMsg = errorMsg + 'First name\n'; }

		if (validateSurname() == false) { errorMsg = errorMsg + 'Surname\n'; }

		if (validateEmail() == false) { errorMsg = errorMsg + 'Email\n'; }

		if (validateContactNumber() == false) { errorMsg = errorMsg + 'Main contact number\n'; }

		if (validateMobileNumber() == false) { errorMsg = errorMsg + 'Mobile Number\n'; }

		//

		if (errorMsg == '') { return true; }

		else {

			// comment out the next line if you do not want to give the user an error alert.

			alert('Please enter the following fields:\n' + errorMsg);

			return false;

		}

	});



	//	

	function validateTitle(){

		//if it's NOT valid

		if(title.val().length < 1){

			title.addClass("error");

			return false;

		}

		//if it's valid

		else{

			title.removeClass("error");

			return true;

		}

	}



	function validateFirst(){

		//if it's NOT valid

		if(first.val().length < 3){

			first.addClass("error");

			return false;

		}

		//if it's valid

		else{

			first.removeClass("error");

			return true;

		}

	}



	function validateSurname(){

		//if it's NOT valid

		if(surname.val().length < 3){

			surname.addClass("error");

			return false;

		}

		//if it's valid

		else{

			surname.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.removeClass("error");

			return true;

		}

		//if it's NOT valid

		else{

			email.addClass("error");

			return false;

		}

	}



	function validateContactNumber(){

		//if it's NOT valid

		if(contactno.val().replace(/\s+/g, '').length != 11) {

			contactno.addClass("error");

			return false;

		}

		//if it's valid

		else{

			contactno.removeClass("error");

			return true;

		}

	}



	function validateMobileNumber(){

		//if it's NOT valid

		if((mobileno.val() == '') || (mobileno.val() == null)) {

			mobileno.removeClass("error");

			return true;

		}

		else if(mobileno.val().replace(/\s+/g, '').length != 11) {

			mobileno.addClass("error");

			return false;

		}

		//if it's valid

		else{

			mobileno.removeClass("error");

			return true;

		}

	}



	function validateNumCreditors(){

			if(numcreditors.val().length < 1){
				numcreditors.addClass("error");
				return false;
			}
			//if it's valid
			else{
				numcreditors.removeClass("error");
				return true;
			}

	}
	
	function validateDebtLevel(){
			//testing regular expression
			if(debtlevel.val().length < 1){
				debtlevel.addClass("error");
				return false;
			}
			//if it's valid
			else{
				debtlevel.removeClass("error");
				return true;
			}
		}





});
