$(document).ready(function() {

  $(".tabs_container").each(function(){
  	$("ul.tabs",this).tabs("div.panes > div", {tabs:'li',effect: 'fade', fadeOutSpeed: -400});
  });
  $(".mini_tabs_container").each(function(){
  	$("ul.mini_tabs",this).tabs("div.panes > div", {tabs:'li',effect: 'fade', fadeOutSpeed: -400});
  });
  $.tools.tabs.addEffect("slide", function(i, done) {
  	this.getPanes().slideUp();
  	this.getPanes().eq(i).slideDown(function()  {
  		done.call();
  	});
  });
  
  $('.toggle .toggle_content:first').show();
	$(".toggle_title").toggle(
		function(){
			$(this).addClass('toggle_active');
			$(this).siblings('.toggle_content').slideDown("fast");
		},
		function(){
			$(this).removeClass('toggle_active');
			$(this).siblings('.toggle_content').slideUp("fast");
		}
	);
  	
  /* initialize prettyphoto */
  $("a[rel^='prettyPhoto']").prettyPhoto({
  	theme: 'light_square',
  	social_tools: 0
  });


$(document).ready(function(){
	//global vars
	var form = $("#contact_form");
	var nom = $("#contactnom");
	var nomInfo = $("#contactnomInfo");
	var prenom = $("#contactprenom");
	var prenomInfo = $("#contactprenomInfo");
	var tel = $("#contacttel");
	var telInfo = $("#contacttelInfo");
	var email = $("#contactemail");
	var emailInfo = $("#contactemailInfo");
	var subject = $("#contactsubject");
	var subjectInfo = $("#contactsubjectInfo");
	var message = $("#contactmessage");
	var messageInfo = $("#contactmessageInfo");
	var control = $("#contactcontrol");
	var mytoken = $("#contacttoken");
	//On blur
	nom.blur(validateNom);
	prenom.blur(validatePrenom);
	tel.blur(validateTel);
	email.blur(validateEmail);
	subject.blur(validateSubject);
	
	//On key press
	
	message.keyup(validateMessage);
	
	
	
	
	//On Submitting
	form.submit(function(){
		$('.loading').fadeIn('fast');				 
						 
						 
		if(validateNom() & validateEmail() & validatePrenom() & validateTel() & validateSubject() & validateMessage()){
			
			$.ajax(
					{
						url: 'index.php?page=ajax-form',
						type: 'POST',
						data: "contactnom=" + nom.val() + "&contactprenom=" + prenom.val() + "&contacttel=" + tel.val() +"&contactsubject=" + subject.val() + "&contactemail=" + email.val() + "&contactmessage=" + message.val() + "&contactcontrol=" + control.val() + "&contacttoken=" + mytoken.val(),
						success: function(result) 
						{
							$('.loading').fadeOut('fast');
							if(result == "email_error") {
								document.getElementById('maincontactform').innerHTML="<p>Une erreur est intervenue durant l'envoi. Merci de réessayer plus tard.</p>";
								
							} else {
								document.getElementById('maincontactform').innerHTML='<p style="text-align:center; font-weight:bold">Merci.<br>Votre message a bien \351t\351 envoy\351.<br>Nous vous r\351pondrons dans les plus brefs d\351lais.</p>';
								
							}
						}
					}
				);
				return false;
				
				
		}else{
			$('.loading').fadeOut('fast');
			return false;
		}
	});
	
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#contactemail").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("errorInput");
			emailInfo.text("");
			emailInfo.removeClass("error");
			$("#contactcontrol").val('humain');
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("errorInput");
			emailInfo.text("Merci d\'entrer une adresse email valide");
			emailInfo.addClass("error");
			return false;
		}
	}
	function validateNom(){
		//if it's NOT valid
		if(nom.val().length < 3){
			nom.addClass("errorInput");
			nomInfo.text("Le nom doit contenir au moins 3 lettres");
			nomInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			nom.removeClass("errorInput");
			nomInfo.text("");
			nomInfo.removeClass("error");
			return true;
		}
	}
	
	function validatePrenom(){
		//if it's NOT valid
		if(prenom.val().length < 3){
			prenom.addClass("errorInput");
			prenomInfo.text("Le pr\351nom doit contenir au moins 3 lettres");
			prenomInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			prenom.removeClass("errorInput");
			prenomInfo.text("");
			prenomInfo.removeClass("error");
			return true;
		}
	}
	
	function validateSubject(){
		//if it's NOT valid
		if(subject.val().length < 3){
			subject.addClass("errorInput");
			subjectInfo.text("Le sujet doit contenir au moins 3 lettres");
			subjectInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			subject.removeClass("errorInput");
			subjectInfo.text("");
			subjectInfo.removeClass("error");
			return true;
		}
	}
	
	function validateTel(){
		//if it's NOT valid
		var nombre=tel.val();
		var chiffres = new String(nombre);
		 // Enlever tous les charactères sauf les chiffres
		chiffres = chiffres.replace(/[^0-9]/g, ''); 
		// Nombre de chiffres
        compteur = chiffres.length;
		
		if(compteur!= 10){
			tel.addClass("errorInput");
			telInfo.text("Le num\351ro de t\351l\351phone doit contenir 10 chiffres");
			telInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			tel.removeClass("errorInput");
			telInfo.text("");
			telInfo.removeClass("error");
			return true;
		}
	}
	
	
	function validateMessage(){
		//it's NOT valid
		if(message.val().length < 10){
			message.addClass("errorInput");
			messageInfo.text("Le message doit contenir 10 car.");
			messageInfo.addClass("error");
			return false;
		}
		//it's valid
		else{			
			message.removeClass("errorInput");
				messageInfo.text("");
				messageInfo.removeClass("error");
			return true;
		}
	}
});

});


