/************************************************************************/
/* Site Web : Site Web de VERNOUD							        */
/* ==============================================================       */
/*                                                                      */
/*  Auteur : Daniel BRIEU (Contacts@coxinet.fr)                         */
/*                                                                      */
/*                      COXINET Design				                    */
/*                                                                      */
/* Titre du document :  Vérification centralisée des                    */
/* ===================  formulaires du site                             */
/*                                                                      */
/************************************************************************

SOMMAIRE DE LA PAGE :
---------------------

I. Fonction de vérification des champs vides
--------------------------------------------

II. Fonction de gestion des champs de mots de passes
----------------------------------------------------

III. Fonction de vérification des champs e-mails
------------------------------------------------

IV.  Fonction de vérification de l'extension ".txt"
---------------------------------------------------

V. Vérifie si l'entrée du champ est bien un nombre
---------------------------------------------------

VI. Autres fonctions
-------------------

VII. Vérification centralisée des formulaires
--------------------------------------------
(Ces fonctions appellent une ou plusieurs fonctions construites ci-dessus.
Elles sont utilisées par les fichiers ci-joint)

   Envoie de mail : ................................... formulaire.php
   
        */

//_________________________________________________________________________________________________________________________________________________________________________________________


/************************************************************************/
/* Vérification de champs vides                                         */
/************************************************************************/

function estVide(duText)
{
    var vide = false;
    if (duText == "")
        vide = true;
    return (vide);
}

/* Vérifie si le champ du formulaire est bien remplie */

function verifTexte(Text2, messageAlert)
{
    var bon = true;
    if (estVide(Text2.value))
        {
            alert(messageAlert);
            Text2.focus();
            bon = false;
        }
    return (bon);
}

/************************************************************************/
/* Gestion des mots de passes                                           */
/************************************************************************/


function caseacocher(formulaire)
{

// Si le champ de texte est remplie et la case à cocher est cochée
    if (estVide(formulaire.pers_login.value) && formulaire.pers_login_auto.checked==false)
    {
        formulaire.pers_login_auto.checked = true;
    }
}

function caseacocher2(formulaire)
{

// Si le champ de texte est remplie et la case à cocher est cochée
    if (estVide(formulaire.pers_pass1.value) && formulaire.pers_pass_auto.checked==false)
    {
        formulaire.pers_pass_auto.checked = true;
    }
}


/* Vérifie que que 2 champs de formulaires soient identiques      */

function estIdentique(champText1, champText2)
{
    if (champText1.value != champText2.value)
        return (false);
    return(true);
}

/* Vérifie que le 1er mot de passe entré est le même que le 2ème mot de passe entré       */

function verifPass(etat_checkbox, champText1, champText2, messageAlert1)
{
    if (etat_checkbox.checked == false && !estVide(champText1.value))
        {
        if (!estIdentique(champText1, champText2))
             {
                alert(messageAlert1);
                champText1.focus();
                return (false);
             }
        }
    return (true);
}

/* Demande à l'utilisateur de choisir entre la méthode manuelle ou automatique de saisie de login/password
Cas contrôlés :   - lorsque le champ est vide et que la case est décochée
                            - lorsque le champ est remplie et que la case est cochée            */

function verifLoginMdp(duText, etat_checkbox,messageAlert)
{
    var bon = true;
    if (estVide(duText.value) && etat_checkbox.checked == false )   //lorsque le champ est vide et que la case est décochée
        {
            alert(messageAlert);
            duText.focus();
            bon = false;
        }
    else if (!estVide(duText.value) && etat_checkbox.checked == true )  //lorsque le champ est remplie et que la case est cochée
        {
            alert(messageAlert);
            duText.focus();
            bon = false;
        }
    return (bon);
}


/************************************************************************/
/* Vérification des e-mails                                             */
/************************************************************************/

/* Vérifie que toutes les caractèristiques du mail soient présentes : @, .domaine      */

function estEmail(email)
        {
        var place = email.indexOf("@",1);
        var point = email.indexOf(".",place+1);
        if ((place > -1)&&(email.length >2)&&(point > 1))
                return (true);
        return (false);
        }

/* Vérifie qu'il s'agit bien d'une adresse e-mail en utilisant la fonction si dessus    */

function verifMail(email, messageAlert)
{
    var bon = true;
    if (email.value != "")   // si l'e-mail est remplie
      {
        if (!estEmail(email.value))     // vérifier qu'il s'agit bien d'une adresse e-mail
          {
            alert(messageAlert);
            email.select();
            email.focus();
            bon = false;
          }
      }
    return (bon);
}

/************************************************************************/
/* Vérifie s'il s'agit bien d'un fichier possédant l'extension ".jpg"   */
/************************************************************************/

function verifTypeFichier(champText, messageAlert)
{
	var bon = true;
       	if (estVide(champText.value)|| // si le champ est vide ou que le fichier n'a pas la bonne extension
		(champText.value.toLowerCase().substring(champText.value.length-4, champText.value.length) != ".doc" &&
		champText.value.toLowerCase().substring(champText.value.length-4, champText.value.length) != ".pdf" &&
		champText.value.toLowerCase().substring(champText.value.length-4, champText.value.length) != ".txt" &&
		champText.value.toLowerCase().substring(champText.value.length-4, champText.value.length) != ".rtf" )
		
		)
       	{	// Afficher le message d'alerte est mettre la variable bon à "false"
           	alert(messageAlert);
           	champText.focus();
           	bon = false;

       	}
		// Retourner la valeur de bon
		return (bon);
		
}

/************************************************************************/
/*  Vérifie si l'entrée du champ est bien un nombre                     */
/************************************************************************/


function estNumerique(valeur)
{
    return(!isNaN(parseFloat(valeur)));
}


function verifNombre(Text, messageAlert)
{
  if (estNumerique(Text.value))
  {
    return(true);
  }
  else
  {
    alert(messageAlert);
    Text.select();
    Text.focus();
    return(false);
  }
}

function verifChiffre(valeur, messageAlert)
{
	if (parseFloat(valeur.value) == 0 || parseFloat(valeur.value) < 0)
	{
	alert(messageAlert);
	valeur.select();
    valeur.focus();
    return(false);
	}
	else
	{
	 return(true);
	}
	
}

/************************************************************************/
/* Autres                                                               */
/************************************************************************/

/* Place automatiquement le curseur sur le premier champ de formulaire      */

function setfocus(formulaire)
{
         formulaire.elements[0].focus();
}



//_________________________________________________________________________________________________________________________________________________________________________________________

/************************************************************************/
/* Vérification centralisée des formulaires                             */
/************************************************************************/

//		Page web : Envoie d'un formulaire : ....................................formulaire.php



function verif_contact(formulaire)
{
    if (verifTexte(formulaire.elements["Nom"],"Veuillez saisir votre nom SVP.") &&
		verifTexte(formulaire.elements["Prenom"],"Veuillez saisir votre prénom SVP.") &&
		verifTexte(formulaire.elements["Adresse"],"Veuillez saisir votre adresse SVP.") &&
		verifTexte(formulaire.elements["CodePostal"],"Veuillez saisir votre code postal SVP.") &&
		verifTexte(formulaire.elements["Ville"],"Veuillez saisir votre ville SVP.") &&
		verifTexte(formulaire.elements["Pays"],"Veuillez saisir votre pays SVP.") &&
		verifMail(formulaire.elements["Email"],"Veuillez saisir une adresse e-mail valide SVP.") &&
		verifTexte(formulaire.elements["Tel_fixe"],"Veuillez saisir votre numéro de téléphone SVP.")				
		)
		formulaire.submit();
}

function verif_ajout_news(formulaire)
{
    if (verifTexte(formulaire.elements["jour"],"Veuillez saisir le N° du jour de la news SVP.") &&
		verifTexte(formulaire.elements["mois"],"Veuillez saisir le N° du jour de la news SVP.") &&
		verifTexte(formulaire.elements["annee"],"Veuillez saisir l'année de la news SVP.") &&
		verifTexte(formulaire.elements["mois"],"Veuillez saisir le N° du mois de la news SVP.") &&
		verifTexte(formulaire.elements["titre"],"Veuillez saisir le titre de la news SVP.") &&
		verifTexte(formulaire.elements["texte"],"Veuillez saisir le texte de la news SVP.")				
		)
		{
		formulaire.submit();
		}
}
