//FOR CONTACT FORM ON MAIN SITE
$(document).ready(function(){
	//global vars
	var form = $("#contactForm");
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	var telephone = $("#telephone");
	var company = $("#company");
	var companyInfo = $("#companyInfo");
	var telephoneInfo = $("#telephoneInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	var subject = $("#subject");
	var subjectInfo = $("#subjectInfo");
	var message = $("#message");
	var messageInfo = $("#messageInfo");
	
	//On blur
	name.blur(validateName);
	company.blur(validateCompany);
	telephone.blur(validateTelephone);
	email.blur(validateEmail);
	subject.blur(validateSubject);
	message.blur(validateMessage);

	//On key press
	name.keyup(validateName);
	company.keyup(validateCompany);
	telephone.keyup(validateTelephone);
	email.keyup(validateEmail);	
	subject.keyup(validateSubject);
	message.keyup(validateMessage);

	//On Submitting
	form.submit(function(){
		if(validateName() & validateCompany() & validateTelephone() & validateEmail() & validateSubject() & validateMessage())
			return true
		else
			return false;
	});
	//validation functions
	function validateName(){
		//testing regular expression
		var a = $("#name").val();
		var filter = /^[a-zA-Z]+[a-zA-Z _.-]{3,50}$/;
		//if it's valid email
		if(filter.test(a)){
		
			name.removeClass("error");
			nameInfo.text(" ");
			nameInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			name.addClass("error");
			nameInfo.text("Incorrect Name! Please enter alphabetical characters only!");
			nameInfo.addClass("error");
			nameInfo.removeClass("ok");
			return false;
		}
	}	
	
	function validateCompany(){
		//if it's NOT valid
		//testing regular expression
		var a = $("#company").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z _.,-0-9()]{3,70}$/;
		//if it's valid email
		if(filter.test(a)){
			company.removeClass("error");
			companyInfo.text(" ");
			companyInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			company.addClass("error");
			companyInfo.text("Incorrect Company name! Please enter more than 3 characters!");
			companyInfo.addClass("error");
			companyInfo.removeClass("ok");
			return false;
		}
	}
		
	function validateTelephone(){
		//testing regular expression
		var a = $("#telephone").val();
		var filter = /^[0-9()+-]{7,20}$/;
		//if it's valid email
		if(filter.test(a)){
			telephone.removeClass("error");
			telephoneInfo.text(" ");
			telephoneInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			telephone.addClass("error");
			telephoneInfo.text("Incorrect phone number! Please enter a valid telephone number!");
			telephoneInfo.addClass("error");
			telephoneInfo.removeClass("ok");
			return false;
		}
	}

	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(" ");
			emailInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text("Invalid or incorrect email address!");
			emailInfo.addClass("error");
			emailInfo.removeClass("ok");
			return false;
		}
	}
	
	function validateSubject(){
		//if it's NOT valid
		//testing regular expression
		var a = $("#subject").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z _.,-0-9]{3,70}$/;
		//if it's valid email
		if(filter.test(a)){
			subject.removeClass("error");
			subjectInfo.text(" ");
			subjectInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			subject.addClass("error");
			subjectInfo.text("Incorrect subject! Please enter more than 3 characters!");
			subjectInfo.addClass("error");
			subjectInfo.removeClass("ok");
			return false;
		}
	}

	function validateMessage(){
		//it's NOT valid
		if(message.val().length < 10){
			messageInfo.removeClass("ok");
			message.addClass("error");
			messageInfo.text("Incorrect message! Please enter more than 10 characters!");
			messageInfo.addClass("error");
			
			return false;
		}
		//it's valid
		else{			
			message.removeClass("error");
			messageInfo.text("");
			messageInfo.addClass("ok");
			return true;
		}
	}
});

//FOR CARRIERES FORM ON MAIN SITE
$(document).ready(function(){
	//global vars
	var form = $("#careersForm");
	var vacancy = $("#vacancy");
	var vacancyInfo = $("#vacancyInfo");
	var sender = $("#sender");
	var senderInfo = $("#senderInfo");
	var senderEmail = $("#senderEmail");
	var senderEmailInfo = $("#senderEmailInfo");
	var senderDesc = $("#senderDesc");
	var senderDescInfo = $("#senderDescInfo");
	
	var attachment = $("#attachment");
	var attachmentInfo = $("#attachmentInfo");
	
	//On blur
	vacancy.blur(validateVacancy);
	sender.blur(validateSender);
	senderEmail.blur(validateSenderEmail);
	senderDesc.blur(validateSenderDesc);
	
	attachment.blur(validateAttachment);

	//On key press
	vacancy.keyup(validateVacancy);
	sender.keyup(validateSender);
	senderEmail.keyup(validateSenderEmail);	
	senderDesc.keyup(validateSenderDesc);
	
	attachment.keyup(validateAttachment);

	//On Submitting
	form.submit(function(){
		if(validateVacancy() & validateAttachment() & validateSender() & validateSenderEmail() & validateSenderDesc() )
			return true
		else
			return false;
	});
	//validation functions
	
	function validateVacancy() {

		if(vacancy.val().length < 10){
			vacancyInfo.removeClass("ok");
			vacancy.addClass("error");
			vacancyInfo.text("Incorrect selection! Please select the vacancy you are applying for!");
			vacancyInfo.addClass("error");
			return false;
		}
		//it's valid
		else{			
			vacancy.removeClass("error");
			vacancyInfo.text("");
			vacancyInfo.addClass("ok");
			return true;
			}
	}
	
	function validateAttachment() {

		if(attachment.val().length == 0){
			attachmentInfo.removeClass("ok");
			attachment.addClass("error");
			attachmentInfo.text("Please select a file for your CV !");
			attachmentInfo.addClass("error");
			return false;
		}
		//it's valid
		else{			
			attachment.removeClass("error");
			attachmentInfo.text("");
			attachmentInfo.addClass("ok");
			return true;
			}
	}

	
	function validateSender(){
		//testing regular expression
		var a = $("#sender").val();
		var filter = /^[a-zA-Z]+[a-zA-Z _.-]{3,50}$/;
		//if it's valid email
		if(filter.test(a)){
		
			sender.removeClass("error");
			senderInfo.text(" ");
			senderInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			sender.addClass("error");
			senderInfo.text("Incorrect Name! Please enter alphabetical characters only!");
			senderInfo.addClass("error");
			senderInfo.removeClass("ok");
			return false;
		}
	}	
	

	function validateSenderEmail(){
		//testing regular expression
		var a = $("#senderEmail").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)){
			senderEmail.removeClass("error");
			senderEmailInfo.text(" ");
			senderEmailInfo.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			senderEmail.addClass("error");
			senderEmailInfo.text("Invalid or incorrect email address!");
			senderEmailInfo.addClass("error");
			senderEmailInfo.removeClass("ok");
			return false;
		}
	}
	

	function validateSenderDesc(){
		//it's NOT valid
		if(senderDesc.val().length < 10){
			senderDescInfo.removeClass("ok");
			senderDesc.addClass("error");
			senderDescInfo.text("Incorrect message! Please enter more than 10 characters!");
			senderDescInfo.addClass("error");
			
			return false;
		}
		//it's valid
		else{			
			senderDesc.removeClass("error");
			senderDescInfo.text("");
			senderDescInfo.addClass("ok");
			return true;
		}
	}
});


/********************************************************************************************************************************************************/
/* VALIDATION POUR LA PARTIE FRENCH */
/********************************************************************************************************************************************************/

//FOR CONTACT FORM ON MAIN SITE
$(document).ready(function(){
	//global vars
	var form = $("#contactFormFR");
	var nameFR = $("#nameFR");
	var nameInfoFR = $("#nameInfoFR");
	var telephoneFR = $("#telephoneFR");
	var companyFR = $("#companyFR");
	var companyInfoFR = $("#companyInfoFR");
	var telephoneInfoFR = $("#telephoneInfoFR");
	var emailFR = $("#emailFR");
	var emailInfoFR = $("#emailInfoFR");
	var subjectFR = $("#subjectFR");
	var subjectInfoFR = $("#subjectInfoFR");
	var messageFR = $("#messageFR");
	var messageInfoFR = $("#messageInfoFR");
	
	//On blur
	nameFR.blur(validateNameFR);
	companyFR.blur(validateCompanyFR);
	telephoneFR.blur(validateTelephoneFR);
	emailFR.blur(validateEmailFR);
	subjectFR.blur(validateSubjectFR);
	messageFR.blur(validateMessageFR);

	//On key press
	nameFR.keyup(validateNameFR);
	companyFR.keyup(validateCompanyFR);
	telephoneFR.keyup(validateTelephoneFR);
	emailFR.keyup(validateEmailFR);	
	subjectFR.keyup(validateSubjectFR);
	messageFR.keyup(validateMessageFR);

	//On Submitting
	form.submit(function(){
		if(validateNameFR() & validateCompanyFR() & validateTelephoneFR() & validateEmailFR() & validateSubjectFR() & validateMessageFR())
			return true
		else
			return false;
	});
	//validation functions
	function validateNameFR(){
		//testing regular expression
		var a = $("#nameFR").val();
		var filter = /^[a-zA-Z]+[a-zA-Z _.-]{3,50}$/;
		//if it's valid email
		if(filter.test(a)){
		
			nameFR.removeClass("error");
			nameInfoFR.text(" ");
			nameInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			nameFR.addClass("error");
			nameInfoFR.text("Nom incorrect! Veuillez saisir des caractères alphabétiques!");
			nameInfoFR.addClass("error");
			nameInfoFR.removeClass("ok");
			return false;
		}
	}	
	
	function validateCompanyFR(){
		//if it's NOT valid
		//testing regular expression
		var a = $("#companyFR").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z _.,-0-9()]{3,70}$/;
		//if it's valid email
		if(filter.test(a)){
			companyFR.removeClass("error");
			companyInfoFR.text(" ");
			companyInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			companyFR.addClass("error");
			companyInfoFR.text("Nom de compagnie incorrect! Veuillez saisir plus de 3 caractères!");
			companyInfoFR.addClass("error");
			companyInfoFR.removeClass("ok");
			return false;
		}
	}
		
	function validateTelephoneFR(){
		//testing regular expression
		var a = $("#telephoneFR").val();
		var filter = /^[0-9()+-]{7,20}$/;
		//if it's valid email
		if(filter.test(a)){
			telephoneFR.removeClass("error");
			telephoneInfoFR.text(" ");
			telephoneInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			telephoneFR.addClass("error");
			telephoneInfoFR.text("Numéro de téléphone incorrect! Veuillez saisir un numéro valide");
			telephoneInfoFR.addClass("error");
			telephoneInfoFR.removeClass("ok");
			return false;
		}
	}

	function validateEmailFR(){
		//testing regular expression
		var a = $("#emailFR").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)){
			emailFR.removeClass("error");
			emailInfoFR.text(" ");
			emailInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			emailFR.addClass("error");
			emailInfoFR.text("L'adresse mail est incorrect ou invalide!");
			emailInfoFR.addClass("error");
			emailInfoFR.removeClass("ok");
			return false;
		}
	}
	
	function validateSubjectFR(){
		//if it's NOT valid
		//testing regular expression
		var a = $("#subjectFR").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z _.,-0-9]{3,70}$/;
		//if it's valid email
		if(filter.test(a)){
			subjectFR.removeClass("error");
			subjectInfoFR.text(" ");
			subjectInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			subjectFR.addClass("error");
			subjectInfoFR.text("Objet incorrect! Veuillez saisir plus de 3 caractères!");
			subjectInfoFR.addClass("error");
			subjectInfoFR.removeClass("ok");
			return false;
		}
	}

	function validateMessageFR(){
		//it's NOT valid
		if(messageFR.val().length < 10){
			messageInfoFR.removeClass("ok");
			messageFR.addClass("error");
			messageInfoFR.text("Message incorrect! Veuillez saisir plus de 10 caractères!");
			messageInfoFR.addClass("error");
			
			return false;
		}
		//it's valid
		else{			
			messageFR.removeClass("error");
			messageInfoFR.text("");
			messageInfoFR.addClass("ok");
			return true;
		}
	}
});

//FOR CARRIERES FORM ON MAIN SITE
$(document).ready(function(){
	//global vars
	var form = $("#careersFormFR");
	var vacancyFR = $("#vacancyFR");
	var vacancyInfoFR = $("#vacancyInfoFR");
	var senderFR = $("#senderFR");
	var senderInfoFR = $("#senderInfoFR");
	var senderEmailFR = $("#senderEmailFR");
	var senderEmailInfoFR = $("#senderEmailInfoFR");
	var senderDescFR = $("#senderDescFR");
	var senderDescInfoFR = $("#senderDescInfoFR");
	
	var attachmentFR = $("#attachmentFR");
	var attachmentInfoFR = $("#attachmentInfoFR");
	
	//On blur
	vacancyFR.blur(validateVacancyFR);
	senderFR.blur(validateSenderFR);
	senderEmailFR.blur(validateSenderEmailFR);
	senderDescFR.blur(validateSenderDescFR);
	
	attachmentFR.blur(validateAttachmentFR);

	//On key press
	vacancyFR.keyup(validateVacancyFR);
	senderFR.keyup(validateSenderFR);
	senderEmailFR.keyup(validateSenderEmailFR);	
	senderDescFR.keyup(validateSenderDescFR);
	
	attachmentFR.keyup(validateAttachmentFR);

	//On Submitting
	form.submit(function(){
		if(validateVacancyFR() & validateAttachmentFR() & validateSenderFR() & validateSenderEmailFR() & validateSenderDescFR() )
			return true
		else
			return false;
	});
	//validation functions
	
	function validateVacancyFR() {

		if(vacancyFR.val().length < 10){
			vacancyInfoFR.removeClass("ok");
			vacancyFR.addClass("error");
			vacancyInfoFR.text("Sélection incorrect! Veuillez choisir l'offre ou vous postulez!");
			vacancyInfoFR.addClass("error");
			return false;
		}
		//it's valid
		else{			
			vacancyFR.removeClass("error");
			vacancyInfoFR.text("");
			vacancyInfoFR.addClass("ok");
			return true;
			}
	}
	
	function validateAttachmentFR() {

		if(attachmentFR.val().length == 0){
			attachmentInfoFR.removeClass("ok");
			attachmentFR.addClass("error");
			attachmentInfoFR.text("Veuillez choisir un fichier pour votre CV !");
			attachmentInfoFR.addClass("error");
			return false;
		}
		//it's valid
		else{			
			attachmentFR.removeClass("error");
			attachmentInfoFR.text("");
			attachmentInfoFR.addClass("ok");
			return true;
			}
	}

	
	function validateSenderFR(){
		//testing regular expression
		var a = $("#senderFR").val();
		var filter = /^[a-zA-Z]+[a-zA-Z _.-]{3,50}$/;
		//if it's valid email
		if(filter.test(a)){
			senderFR.removeClass("error");
			senderInfoFR.text(" ");
			senderInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			senderFR.addClass("error");
			senderInfoFR.text("Nom incorrect! Veuillez saisir des caractères alphabétiques! ");
			senderInfoFR.addClass("error");
			senderInfoFR.removeClass("ok");
			return false;
		}
	}	
	

	function validateSenderEmailFR(){
		//testing regular expression
		var a = $("#senderEmailFR").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)){
			senderEmailFR.removeClass("error");
			senderEmailInfoFR.text(" ");
			senderEmailInfoFR.addClass("ok");
			return true;
		}
		//if it's NOT valid
		else{
			senderEmailFR.addClass("error");
			senderEmailInfoFR.text("L'adresse mail est incorrect ou invalide!");
			senderEmailInfoFR.addClass("error");
			senderEmailInfoFR.removeClass("ok");
			return false;
		}
	}
	

	function validateSenderDescFR(){
		//it's NOT valid
		if(senderDescFR.val().length < 10){
			senderDescInfoFR.removeClass("ok");
			senderDescFR.addClass("error");
			senderDescInfoFR.text("Veuillez vous presenter brièvement ! Veuillez saisir plus de 10 caractères!");
			senderDescInfoFR.addClass("error");
			return false;
		}
		//it's valid
		else{			
			senderDescFR.removeClass("error");
			senderDescInfoFR.text("");
			senderDescInfoFR.addClass("ok");
			return true;
		}
	}
});

