/*****************************************************************************************************/
/* Site web:   ELISADOM  -  OZO-SAS                                                                  */
/* Fichier:    fonction.js                                                                           */
/* Version:    1.0                                                                                   */
/* Notes:      Fonctions JavasSript de la page de validation du formulaire de contact                */
/* Création:   M. Traore - 20/10/2006                                                                */
/* Révisions:                                                                                        */
/*****************************************************************************************************/
//****************************************************************************************************/
// fonction vérifiant si la valeur passée est un entier
// entree : valeur
// sortie : true si c'est un entier, false sinon
function estEntier(pValeur)
{
	var exp = new RegExp("^[0-9]+$","g"); 
	return exp.test(pValeur); 
} 

//****************************************************************************************************/
// fonction renvoyant vrai si le nombre est réel, faux sinon
function estReel(pNombre)
{
expression = /^[0-9]*[,|\.]?[0-9]*$/;  
return(expression.test(pNombre));  

}
//****************************************************************************************************/
function trim(strValue)
{
	return lTrim(rTrim(strValue));
}
//****************************************************************************************************/

//****************************************************************************************************/
function lTrim(strValue)
{
	var LTRIMrgExp = /^\s */;

	return strValue.replace(LTRIMrgExp, '');
}
//****************************************************************************************************/

//****************************************************************************************************/
function rTrim(strValue)
{
	var RTRIMrgExp = /\s *$/;

	return strValue.replace(RTRIMrgExp, '');
}
//****************************************************************************************************/
function trim(strValue)
{
	return lTrim(rTrim(strValue));
}

//****************************************************************************************************/
function valid_email(my_email) {
		var new_string = new String(my_email);
		if (!new_string.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) {
			return false;
		}
		else {
			return true;
		}
	}

//****************************************************************************************************
// fonction permettant de retourner la date et heure courante en millisecondes depuis le 01/01/1970
// entrée : 
// sortie : date et heure courante en millisecondes
function horodatage()
{
	// Récupère date et heure courante du PC client
	now = new Date();

	// Retourne date et heure courante en millisecondes
	return (now.valueOf());
}
//****************************************************************************************************/
//                           VALIDATION DU FORMULAIRE                                                //
//****************************************************************************************************/
// fonction appelée au moment du clic sur valider
function valider()
{
	var liste_champs = "";
	var focus_champ = "";
	var valider = true;
   
    // Vérif la civilitŽ renseignée
    if ((valider == true) && (document.frm.civilite[0].checked == false) && (document.frm.civilite[1].checked == false) && (document.frm.civilite[2].checked == false))
    {
    alert("Votre civilité est obligatoire.");
    document.frm.civilite[0].focus();
    valider = false;
    }
	
	
	// Vérif  du nom renseigné
	if (trim(document.frm.nom_famille.value) == "") {
		liste_champs += "\n- Nom de famille ";
		if (focus_champ == "") focus_champ = document.frm.nom_famille.name;
	}

	// Vérif prenom renseigné
	if (trim(document.frm.prenom.value) == "") {
		liste_champs += "\n- Prénom ";
		if (focus_champ == "") focus_champ = document.frm.prenom.name;
	}

    // Vérif texte renseigné
	if (trim(document.frm.message.value) == "") {
		liste_champs += "\n- Message ";
		if (focus_champ == "") focus_champ = document.frm.message.name;
	}
	
	// Si il y a des champs obligatoires non renseignés
	if (liste_champs != "")
	{
		alert("Les champs suivants sont obligatoires : " + liste_champs);
		document.frm[focus_champ].focus();
		valider = false;
	}
	
	    // Vérif si le numero de telephone  et email sont vide
	if((valider == true) && (document.frm.telephone.value =="") && (document.frm.email.value == ""))
		{
		alert("Vous devez renseigné :\n - votre numéro de téléphone \n   et/ou \n - votre adresse email.");
		document.frm.telephone.focus();
		valider = false;
	}
	
    // Vérif si le numero de telephone renseigné est bien nombre entier ( non réel) et email est vide
	if((valider == true) && (document.frm.telephone.value !="") && (!estEntier(document.frm.telephone.value)) && (document.frm.email.value == ""))
		{
		alert("Le numéro de téléphone doit correspondre à un nombre.");
		document.frm.telephone.focus();
		valider = false;
	}
	
	    // Vérif si le numero de telephone renseigné est bien nombre entier ( non réel) et email est non vide
	if((valider == true) && (document.frm.telephone.value !="") && (!estEntier(document.frm.telephone.value)) && (document.frm.email.value != "") && (valid_email(document.frm.email.value)))
		{
		alert("Le numéro de téléphone doit correspondre à un nombre.");
		document.frm.telephone.focus();
		valider = false;
	}
	
	    // Vérif si l'email renseigné est bien de la forme email@domaine.(com/fr/ etc...) quand tel est vide
	if((valider == true) && (document.frm.email.value !="") && (!valid_email(document.frm.email.value)) && (document.frm.telephone.value == ""))
		{
		alert("Le format de l'email saisi est incorrect.");
		document.frm.email.focus();
		valider = false;
	}
	
		    // Vérif si l'email renseigné est bien de la forme email@domaine.(com/fr/ etc...) quand email et tel sont remplis
	if((valider == true) && (document.frm.email.value !="") && (!valid_email(document.frm.email.value)) && (document.frm.telephone.value != ""))
		{
		alert("Le format de l'email saisi est incorrect.");
		document.frm.email.focus();
		valider = false;
	}
		
	// Vérif taille  du numero de telephone : numero >= 10 et < 16
	if ((valider == true) && (document.frm.telephone.value.length < 10 ) && (estEntier(document.frm.telephone.value)) && (document.frm.email.value == "")) {
		alert("Le numero de téléphone doit être composé d'au moins 10 chiffres.");
		document.frm.telephone.focus();
		valider = false;

	}
	
		// Vérif taille  du numero de telephone : numero >= 10 et < 16
	if ((valider == true) && (document.frm.telephone.value.length < 10 ) && (estEntier(document.frm.telephone.value)) && (document.frm.email.value != "") && (valid_email(document.frm.email.value))) {
		alert("Le numero de téléphone doit être composé d'au moins 10 chiffres.");
		document.frm.telephone.focus();
		valider = false;

	}

	if (valider == true) {
	
	   // Horodatage de l'action
		document.frm.horodate.value = horodatage();
	
		document.frm.submit();
	}
}

//****************************************************************************************************/
// fonction permettant de vider le formulaire en cours 
// sortie : Tous les champs sont vides
function RAZ()
{

	// Vide les champ du contact
	document.frm.nom_famille.value = "";
	document.frm.prenom.value = "";
	document.frm.societe.value = "";
	document.frm.adresse.value = "";
	document.frm.telephone.value = "";
	document.frm.email.value = "";
	document.frm.message.value = "";

}

//*************************************************************************************************/

