// Recharge la page avec une variable supplémentaire.
function action(formulaire) {
    var lien = new String(document.location);
    var type = new RegExp('(&type=[a-z]+)', 'g');
    lien = lien.replace(type, '');   // Si la variable "type" existe déjà, on enlève l'occurence.
    document.location.href = lien+'&type='+formulaire;  // Recharge la page.
}
// Rajoute une valeur à la fin d'un champ, avec en plus le séparateur ";" si une valeur est déjà renseignée.
function ajouter(classe, nom, valeur) {
    // Un champ peut contenir plusieurs enregistrements.
    if (classe == 'multiple') {
        var chaine = document.getElementById(nom).value.length; // Calcul de la longueur de la chaîne.
        var sep = chaine == 0 ? '' : ';';   // En début de chaîne, pas de séparateur, sinon ";".
        document.getElementById(nom).value+=sep+valeur;
    // Le champ ne contient qu'un enregistrement.
    } else {
        document.getElementById(nom).value=valeur;
    }
}
// Rajoute une valeur à la fin d'un champ, avec un retour à la ligne si une valeur est déjà renseignée.
function ajouter_textarea(classe, nom, valeur) {
    // Un champ peut contenir plusieurs enregistrements.
    if (classe == 'multiple') {
        var chaine = document.getElementById(nom).value.length; // Calcul de la longueur de la chaîne.
        var sep = chaine == 0 ? '' : "\r\n";   // En début de chaîne, pas de séparateur, sinon un retour chariot.
        document.getElementById(nom).value+=sep+valeur;
    // Le champ ne contient qu'un enregistrement.
    } else {
        document.getElementById(nom).value=valeur;
    }
}
// Formate convenablement le champ "Identité" à partir des champs "Nom" et "Prénom".
function build_id() {
    // Récupération du nom à partir du champ d'origine.
    var nom = document.getElementById('nom').value;
    // Récupération du prénom à partir du champ d'origine.
    var prenom = document.getElementById('prenom').value;
    // Remplissage du champ de destination.
    if (prenom.length == 0)
    {
        document.getElementById('identite').value = nom.toUpperCase();
    }
    else
    {
        document.getElementById('identite').value = prenom+' '+nom.toUpperCase();
    }
}
// Efface le contenu d'un champ.
function effacer(nom) {
    document.getElementById(nom).value='';
}
// Grise le champ "Inclure les publications à paraître" si origine n'est pas l'année en cours.
function forth_pub(origine, destination, texte) {
    // Récupération de l'année à partir du champ d'origine.
    var annee = document.getElementById(origine).value;
    // Construction de l'expression régulière.
    var date_regexp = '^[0-9]{4}';
    // Initialisation de l'objet Date.
    var date = new Date();
    // Les quatre premiers caractères du champ d'origine doivent être numériques.
    if (annee.match(date_regexp))
    {
        // Si la date ne correspond pas à l'année en cours...
        if (!annee.match(date.getFullYear()))
        {
            // ... on grise le champ pour empêcher toute modification
            document.getElementById(destination).disabled = true;
            document.getElementById(destination).style.color = '#999';
            // La checkbox est décochée pour ne pas perturber l'utilisateur.
            document.getElementById(destination).checked = '';
            // On modifie également l'aspect du texte qui accompagne la checkbox.
            document.getElementById(texte).style.color = '#999';
        }
        // Si en revanche la date saisie est celle par défaut...
        else
        {
            // ... on active le champ, peut-être préalablement désactivé.
            document.getElementById(destination).disabled = false;
            document.getElementById(destination).style.color = '#000';
            // Et on rétablit la couleur du texte d'accompagnement.
            document.getElementById(texte).style.color = '#000';
        }
    }
}
// Récupère la position d'un élémént dans le formulaire.
function getPosElement(element) {
    if (element.form) {
        // Pour chaque élément, on récupère la valeur de i.
        for (var i = 0; i < element.form.elements.length; i++) {
            if (element == element.form.elements[i]) {
                return i;
            }
        }
        return -1;
        }
        else {
            return -1;
        }
}
