// JavaScript Document
function validFormContact(){
	if(document.contact.prenom.value==""){
	alert("Vous n'avez pas entré de prénom.");
	document.contact.prenom.focus();
	return false;
	}
	if(document.contact.nom.value==""){
	alert("Vous n'avez pas entré de nom.");
	document.contact.nom.focus();
	return false;
	}
	if(document.contact.telephone.value==""){
	alert("Vous n'avez pas entré de numéro de téléphone.");
	document.contact.telephone.focus();
	return false;
	}
	if(document.contact.message.value==""){
	alert("Vous n'avez pas entré de message.");
	document.contact.message.focus();
	return false;
	}
return true;
}

function validFormRecrute(){
	if(document.recrute.prenom.value==""){
	alert("Vous n'avez pas entré de prénom.");
	document.recrute.prenom.focus();
	return false;
	}
	if(document.recrute.nom.value==""){
	alert("Vous n'avez pas entré de nom.");
	document.recrute.nom.focus();
	return false;
	}
	if(document.recrute.telephone.value==""){
	alert("Vous n'avez pas entré de numéro de téléphone.");
	document.recrute.telephone.focus();
	return false;
	}
	if(document.recrute.cv.value==""){
	alert("Vous n'avez pas sélectionné de cv.");
	document.recrute.message.focus();
	return false;
	}
return true;
}

/****************************************/
/* fonction validFormDevis()    		*/
/* cette fonction permet de tester si 	*/
/* les données du formulaire de       	*/
/* demande de devis sont valides. 	 	*/
/****************************************/
function validFormDevis(){
	if(document.formDevis.prenomClient.value==""){
	alert("Vous avez oublié d'indiquer votre prénom.");
	document.formDevis.prenomClient.focus();
	return false;
	}
	if(document.formDevis.nomClient.value==""){
	alert("Vous avez oublié d'indiquer votre nom.");
	document.formDevis.nomClient.focus();
	return false;
	}
	if(document.formDevis.adresseClient.value==""){
	alert("Vous avez oublié d'indiquer votre adresse postale.");
	document.formDevis.adresseClient.focus();
	return false;
	}
	if(document.formDevis.cpostalClient.value==""){
	alert("Vous avez oublié d'indiquer votre code postal.");
	document.formDevis.cpostalClient.focus();
	return false;
	}
	if(document.formDevis.villeClient.value==""){
	alert("Vous avez oublié d'indiquer votre ville d'habitation.");
	document.formDevis.villeClient.focus();
	return false;
	}
	if(document.formDevis.telClient.value==""){
	alert("Vous avez oublié d'indiquer votre numéro de téléphone fixe.");
	document.formDevis.telClient.focus();
	return false;
	}
	/*if(document.formDevis.telClient.value==""){
	alert("Vous avez oublié d'indiquer votre numéro de téléphone portable.");
	document.formDevis.telClient.focus();
	return false;
	}*/
	if(document.formDevis.debDispoClient.value==""){
	alert("Vous avez oublié d'indiquer la date de début de votre période de disponibilité pour un rendez-vous.");
	document.formDevis.debDispoClient.focus();
	return false;
	}else{
		if (VerificationDate(document.formDevis.debDispoClient.value) == false){
		
		alert("La date de début de votre période de disponibilité n'est pas valide. Veuillez la vérifier svp.");
		document.formDevis.debDispoClient.focus();
		return false;
		}
	}
	
	if(document.formDevis.finDispoClient.value==""){
	alert("Vous avez oublié d'indiquer la date de fin de votre période de disponibilité pour un rendez-vous.");
	document.formDevis.finDispoClient.focus();
	return false;
	}else{
		if (VerificationDate(document.formDevis.finDispoClient.value) == false){
		alert("La date de fin de votre période de disponibilité n'est pas valide. Veuillez la vérifier svp.");
		document.formDevis.finDispoClient.focus();
		return false;
		}
	}
	
	if(document.formDevis.adresseChantier.value==""){
	alert("Vous avez oublié d'indiquer l'adresse postale du chantier.");
	document.formDevis.adresseChantier.focus();
	return false;
	}
	if(document.formDevis.cpostalChantier.value==""){
	alert("Vous avez oublié d'indiquer le code postal du chantier.");
	document.formDevis.cpostalChantier.focus();
	return false;
	}
	if(document.formDevis.villeChantier.value==""){
	alert("Vous avez oublié d'indiquer la ville dans laquelle se situe le chantier.");
	document.formDevis.villeChantier.focus();
	return false;
	}
	
	if(document.formDevis.mailClient.value!=""){
		if (VerificationEmail(document.formDevis.mailClient) == false){
		alert("L'adresse e-mail que vous avez indiquée n'est pas valide. Veuillez la vérifier svp.");
		document.formDevis.mailClient.focus();
		return false;
		}
	}
	if(document.formDevis.infosTravaux.value==""){
	alert("Vous n'avez pas entré de commentaires sur les travaux.");
	document.formDevis.infosTravaux.focus();
	return false;
	}

return true;
}

/*************************************/
/*    fonction VerificationEmail     */
/*cette fonction permet de tester si */
/* l'email entrer dans un formulaire */
/*            est valide             */
/*************************************/
function VerificationEmail(elm){
	if (elm.value.indexOf("@") != "-1" && elm.value.indexOf(".") != "-1" && elm.value != ""){
	return true;
	}else{
	return false;
	}
}


// Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
    
	
function VerificationDate(d){
	e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
	if (!e.test(d)){ // On teste l'expression régulière pour valider la forme de la date
	return false ;
	} else {
	// On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
	j = parseInt(d.split("/")[0], 10); // jour
	m = parseInt(d.split("/")[1], 10); // mois
	a = parseInt(d.split("/")[2], 10); // année
	// Si l'année n'est composée que de 2 chiffres on complète automatiquement
	if (a < 1000) {
	if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
	else a+=1900;
	}
	// Définition du dernier jour de février
	// Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
	else fev = 28;
	// Nombre de jours pour chaque mois
	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
	}
}

