/**
* Name : form_functions.js 
* Purpose : Regroupe les fonctions javascript "standard" nécessaires sur le formulaire
* Functions : 
*    disabledCaseEtAfficheRep - permet de désactiver certains éléments du formulaires à partir d'un autre 'élément cliqué et affiche la reponse.
*   verifAjoutForm - Permet de vérifier certains éléments du formulaires.
*   verifChampsEmail - Permet de vérifier si l'adresse mail est correctement formatée.
* Remarks : 
* Created by : Julien-Claude Fagot (Michael Metrich)     07-09-2007
*/

/*
* Name : disabledCaseEtAfficheRep 
* Purpose : Permet de désactiver certains éléments du formulaires à partir d'un autre 'élément cliqué et affiche la reponse
* Input : 
*       nom - Nom de l'élément (du groupe d'...) à désactiver 
*       rep - Réponse à afficher.
* Remarks : 
* Created by : Julien-Claude Fagot  (Michael Metrich)    07-09-2007
* Modified : 
*/
function disabledCaseEtAfficheRep(nom,rep) {
    //DECLARATIONS
    var x=0;
    
    //INSTRUCTIONS
    while(document.getElementsByName(nom)[x]) {
        document.getElementsByName(nom)[x].disabled='disabled';
        x++;
    }
    document.getElementById(rep).style.visibility='visible';
}

/*
* Name : verifAjoutForm 
* Purpose : Permet de vérifier certains éléments du formulaires
* Input : 
*       form- Nom du formulaire 
*       nbChamps - Nombre de champs à vérifier.
*       champs - Tableau de champs à vérifier
* Remarks : Modifié pour être plus standard.
* Created by : Michael Metrich    25-05-2007
* Modified : Julien-Claude Fagot    07-09-2007
*/
function verifAjoutForm(form, nbChamps, champs) {
    //DECLARATIONS
    var cpt = 0;
    var boolChamp = true;
    var boolMail;
    
    //INSTRUCTIONS
    //Vérifie que les champs ne sont pas vide
    while (cpt < nbChamps) {
        if(champs[cpt].value == "") {
            if ((champs[cpt].name !="fe_fonction") && (champs[cpt].name !="fe_fonction_id")){
                boolChamp = false;
                alert("Le champs \"" +(champs[cpt].name).substring(3, ((champs[cpt].name).length)) + "\" doit être rempli.");
            }
            
            if (champs[cpt].name == "fe_fonction"){
                if (champs[cpt-1].value == ""){
                boolChamp = false;
                alert("Le champs \"" +(champs[cpt].name).substring(3, ((champs[cpt].name).length)) + "\" doit être rempli.");
                }
            } 
        }else{
            //Vérifie que le champs E-mail est conforme
            if ((champs[cpt].name).substring(3, ((champs[cpt].name).length)) == "email"){
                boolMail = verifChampsEmail(champs[cpt]);
                if (!boolMail) {
                    alert("L'adresse mail n'est pas valide. Elle doit être de la forme xxxxx@xxxx.xxx");
                    boolChamp = false;
                }
            }
        }
        cpt++;
    }
    if (boolChamp == true){
        form.submit();
    }
}

/*
* Name : verifChampsEmail
* Purpose : Permet de vérifier que le champs E-mail est bien formaté (contient un @ et un trigramme précédé d'un point)
* Input : 
*       champ - champ à vérifier
* Remarks : 
* Created by : Julien-Claude Fagot  10-09-2007
* Modified :
*/
function verifChampsEmail(champ) {
    //DECLARATIONS
    var email = champ.value;
    var place = email.indexOf("@",1);
	var point = email.indexOf(".",place+1);
    
    //INSTRUCTIONS
	if ((place > -1)&&(email.length >2)&&(point > 1)){
        return (true);
    }else{
        return (false);
    }
}
