function est_un_mail(email) 
{ // vérif validité email par REGEXP
    var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
    return (reg.exec(email)!=null);
}
function est_un_password(pass)
{
    /*de 1 à 20 lettres suivis de 1 à 4 chiffres*/
    var reg = /^[a-z]{1,20}[0-9]{1,4}$/;
    return (reg.exec(pass)!=null);    
}
function est_un_ut_id(id)
{
    /*de 1 à 6 chiffres*/
    var reg = /^[0-9]{1,6}$/;
    return (reg.exec(id)!=null);    
}
function est_un_departement_id(id)
{
    /*de 1 à 3chiffres*/
    var reg = /^[0-9]{1,3}$/;
    return (reg.exec(id)!=null);    
}
function est_un_entier(source)
{
    /*de 1 à 10chiffres*/
    var reg = /^[0-9]{1,10}$/;
    return (reg.exec(source)!=null);    
}
function est_une_date(source)
{ 
    var reg = /^[0-9]{4}[-][0-9]{2}[-][0-9]{2}$/;
    return (reg.exec(source)!=null);    
}
function est_date_jjmmaaa(source)
{
    var reg = /^[0-9]{2}[/][0-9]{2}[/][0-9]{4}$/;
    return (reg.exec(source)!=null);     
}
/******************************************************************************/
/******************************************************************************/      
function click_radio(lequel,dispos)
{
    document.form_site.lequel.value=lequel;
    //document.form_site.action="aiguillage_personne_site.jsp?lequel="+lequel+"&dispos="+dispos;
    document.form_site.action="aiguillage_personne_site.jsp?dispos="+dispos;
    
    if(lequel=="toute la France")
    {
        if(document.form_site.fr_debut.value!="")
        {
            if(est_date_jjmmaaa(document.form_site.fr_debut.value))
            {
                if(document.form_site.fr_fin.value!=""&&est_date_jjmmaaa(document.form_site.fr_fin.value))
                {    
                    if(periode_correcte(document.form_site.fr_debut.value, document.form_site.fr_fin.value))
                    {
                        if(confirm("Confirmez l'affectation nationale"))
                        {
                            document.form_site.fr_rad.checked=false;
                            document.form_site.submit();
                        }//if(confirm("Confirmez l'affectation nationale"))
                        else
                            document.form_site.fr_rad.checked=false;
                    }//if(periode_correcte(document.form_site.fr_debut.value, document.form_site.fr_fin.value))
                    else
                    {
                        document.form_site.fr_rad.checked=false;
                        alert("La date de début de période est plus récente "
                             +"que la date de fin");
                    }//else de if(periode_correcte(document.form_site.fr_debut.value, document.form_site.fr_fin.value))
                }//if(document.form_site.fr_fin.value!=""&&est_date_jjmmaaa(document.form_site.fr_fin.value))
                if(document.form_site.fr_fin.value=="")
                {
                    document.form_site.fr_rad.checked=false;
                    if(confirm("Confirmez l'affectation nationale"))
                        document.form_site.submit();
                    else
                        document.form_site.fr_rad.checked=false;
                }
                if(document.form_site.fr_fin.value!=""&&!est_date_jjmmaaa(document.form_site.fr_fin.value))
                {
                    alert("La date de fin est mal saisie");
                    document.form_site.fr_fin.focus();
                    document.form_site.fr_rad.checked=false;
                }
            }
            else
            {
                alert("La date de début est mal saisie");
                document.form_site.fr_debut.focus();
                document.form_site.fr_rad.checked=false;
            }
        }
        else
        {
            document.form_site.fr_rad.checked=false;
            alert("Une date de début doit être saisie");
            document.form_site.fr_debut.focus();
        }
    }
    
    if(lequel=="tout le département")
    {
        if(document.form_site.dep_debut.value!="")
        {
            if(est_date_jjmmaaa(document.form_site.dep_debut.value))
            {
                if(document.form_site.dep_fin.value!=""&&est_date_jjmmaaa(document.form_site.dep_fin.value))
                {    
                    if(periode_correcte(document.form_site.dep_debut.value, document.form_site.dep_fin.value))
                    {
                        if(confirm("Confirmez l'affectation départementale"))
                        {
                            document.form_site.dep_rad.checked=false;
                            document.form_site.submit();
                        }
                        else
                            document.form_site.fr_rad.checked=false;
                    }
                    else
                    {
                        document.form_site.dep_rad.checked=false;
                        alert("La date de début de période est plus récente "
                             +"que la date de fin");
                    }
       
                }
                if(document.form_site.dep_fin.value=="")
                {
                    document.form_site.dep_rad.checked=false;
                    if(confirm("Confirmez l'affectation départementale"))
                        form_site.submit();
                    else
                        document.form_site.dep_rad.checked=false;
                }
                if(document.form_site.dep_fin.value!=""&&!est_date_jjmmaaa(document.form_site.dep_fin.value))
                {
                    document.form_site.dep_rad.checked=false;
                    alert("La date de fin est mal saisie");
                    document.form_site.dep_fin.focus();
                }
            }
            else
            {
                document.form_site.dep_rad.checked=false;
                alert("La date de début est mal saisie");
                document.form_site.dep_debut.focus();
            }
        }
        else
        {
            document.form_site.dep_rad.checked=false;
            alert("Une date de début doit être saisie");
            document.form_site.dep_debut.focus();
        }
    }
}
/******************************************************************************/
function click_radio_enq(lequel,dispos)
{
    document.form_site.lequel.value=lequel;
    //document.form_site.action="aiguillage_personne_site.jsp?lequel="+lequel+"&dispos="+dispos;
    document.form_site.action="aiguillage_personne_enq.jsp?dispos="+dispos;
    
    if(lequel=="toute la France")
    {
        if(document.form_site.fr_debut.value!="")
        {
            if(est_date_jjmmaaa(document.form_site.fr_debut.value))
            {
                if(document.form_site.fr_fin.value!=""&&est_date_jjmmaaa(document.form_site.fr_fin.value))
                {    
                    if(periode_correcte(document.form_site.fr_debut.value, document.form_site.fr_fin.value))
                    {
                        if(confirm("Confirmez l'affectation nationale"))
                        {
                            document.form_site.fr_rad.checked=false;
                            document.form_site.submit();
                        }//if(confirm("Confirmez l'affectation nationale"))
                        else
                            document.form_site.fr_rad.checked=false;
                    }//if(periode_correcte(document.form_site.fr_debut.value, document.form_site.fr_fin.value))
                    else
                    {
                        document.form_site.fr_rad.checked=false;
                        alert("La date de début de période est plus récente "
                             +"que la date de fin");
                    }//else de if(periode_correcte(document.form_site.fr_debut.value, document.form_site.fr_fin.value))
                }//if(document.form_site.fr_fin.value!=""&&est_date_jjmmaaa(document.form_site.fr_fin.value))
                if(document.form_site.fr_fin.value=="")
                {
                    document.form_site.fr_rad.checked=false;
                    if(confirm("Confirmez l'affectation nationale"))
                        document.form_site.submit();
                    else
                        document.form_site.fr_rad.checked=false;
                }
                if(document.form_site.fr_fin.value!=""&&!est_date_jjmmaaa(document.form_site.fr_fin.value))
                {
                    alert("La date de fin est mal saisie");
                    document.form_site.fr_fin.focus();
                    document.form_site.fr_rad.checked=false;
                }
            }
            else
            {
                alert("La date de début est mal saisie");
                document.form_site.fr_debut.focus();
                document.form_site.fr_rad.checked=false;
            }
        }
        else
        {
            document.form_site.fr_rad.checked=false;
            alert("Une date de début doit être saisie");
            document.form_site.fr_debut.focus();
        }
    }
    
    if(lequel=="tout le département")
    {
        if(document.form_site.dep_debut.value!="")
        {
            if(est_date_jjmmaaa(document.form_site.dep_debut.value))
            {
                if(document.form_site.dep_fin.value!=""&&est_date_jjmmaaa(document.form_site.dep_fin.value))
                {    
                    if(periode_correcte(document.form_site.dep_debut.value, document.form_site.dep_fin.value))
                    {
                        if(confirm("Confirmez l'affectation départementale"))
                        {
                            document.form_site.dep_rad.checked=false;
                            document.form_site.submit();
                        }
                        else
                            document.form_site.fr_rad.checked=false;
                    }
                    else
                    {
                        document.form_site.dep_rad.checked=false;
                        alert("La date de début de période est plus récente "
                             +"que la date de fin");
                    }
       
                }
                if(document.form_site.dep_fin.value=="")
                {
                    document.form_site.dep_rad.checked=false;
                    if(confirm("Confirmez l'affectation départementale"))
                        form_site.submit();
                    else
                        document.form_site.dep_rad.checked=false;
                }
                if(document.form_site.dep_fin.value!=""&&!est_date_jjmmaaa(document.form_site.dep_fin.value))
                {
                    document.form_site.dep_rad.checked=false;
                    alert("La date de fin est mal saisie");
                    document.form_site.dep_fin.focus();
                }
            }
            else
            {
                document.form_site.dep_rad.checked=false;
                alert("La date de début est mal saisie");
                document.form_site.dep_debut.focus();
            }
        }
        else
        {
            document.form_site.dep_rad.checked=false;
            alert("Une date de début doit être saisie");
            document.form_site.dep_debut.focus();
        }
    }
}
/******************************************************************************/
function vide_champ(champ)
{
    if(champ==1)
        document.form_connection.loggin.value="";
    else
    {
        document.form_connection.mot_pass.value="";
    }
}
/******************************************************************************/
function quelle_touche(evenement)
{
    /*evenement est une variable de type event qui permet de récupérer ce qui a 
    été tapé*/
    if(evenement.keyCode==13)/*13 correspond à la touche entrée*/
    {
        document.form_connection.submit();    
    }
}
/******************************************************************************/
function periode_correcte(debut, fin)
{
    var resultat
   
    debut=debut.substring(6,10)+debut.substring(3,5)+debut.substring(0,2);
    fin=fin.substring(6,10)+fin.substring(3,5)+fin.substring(0,2);
    if((fin-debut)>0)
    {
        resultat=true;
    }
    else
    {
        resultat=false;
    }
    return resultat;
}
/******************************************************************************/
function assigne_date_debut()
{   
    erreur="0";
    form = document.all("form_site");
    //récupération de tous les éléments de type input du formulaire
    inputs = form.getElementsByTagName("input");
            
    if(document.form_site.date_debut.value!="")
    {
        if(est_date_jjmmaaa(document.form_site.date_debut.value))
        {
            if(document.form_site.date_fin.value!="")
            {
                if(est_date_jjmmaaa(document.form_site.date_fin.value))
                {
                    if(periode_correcte(document.form_site.date_debut.value, document.form_site.date_fin.value))
                    {
                        for(i=0 ; i<inputs.length ; i++)
                        {
                            if(inputs[i].type=="checkbox")
                            {
                                if(etat_btn_ok1==0)
                                    inputs[i-2].value=document.form_site.date_debut.value;
                                else
                                    inputs[i-2].value="";
                            }
                        }
                    }
                    else
                    {
                        erreur=3;
                    }
                }
                else
                {
                    erreur=4;
                }
            }//if(document.form_site.date_fin.value!="")
            else
            {
                for(i=0 ; i<inputs.length ; i++)
                {
                    if(inputs[i].type=="checkbox")
                    {
                        if(etat_btn_ok1==0)
                            inputs[i-2].value=document.form_site.date_debut.value;
                        else
                            inputs[i-2].value="";
                    }
                }
            }//else de if(document.form_site.date_fin.value!="")
        }//if(est_date_jjmmaaa(document.form_site.date_debut.value))
        else
        {
            erreur=1;
        }//fin else de if(est_date_jjmmaaa(document.form_site.date_debut.value))        
    }//if(document.form_site.date_debut.value))
    else
        erreur=2;
              
    if(etat_btn_ok1==0)
        etat_btn_ok1=1;
    else
        etat_btn_ok1=0;
            
    switch(erreur)
    {
        case 1 :
            alert("Le format de la date de début est mal saisi");
            document.form_site.date_debut.value="";
            document.form_site.date_debut.focus();
        break;
        case 2 :
            alert("La date de début n'est pas saisie");
            document.form_site.date_debut.focus();
        break;
        case 3 :
            alert("La date de début de période est plus récente "
                 +"que la date de fin");
        break;
        case 4 :
            alert("Le format de la date de fin est mal saisi");
            document.form_site.date_fin.value="";
            document.form_site.date_fin.focus();
        break;
    }
}
/******************************************************************************/
function assigne_date_fin()
{   
    erreur="0";
    form = document.all("form_site");
    //récupération de tous les éléments de type input du formulaire
    inputs = form.getElementsByTagName("input");
            
    if(document.form_site.date_fin.value!="")
    {
        if(est_date_jjmmaaa(document.form_site.date_fin.value))
        {
            if(document.form_site.date_debut.value!="")
            {
                if(est_date_jjmmaaa(document.form_site.date_debut.value))
                {
                    if(periode_correcte(document.form_site.date_debut.value, document.form_site.date_fin.value))
                    {
                        for(i=0 ; i<inputs.length ; i++)
                        {
                            if(inputs[i].type=="checkbox")
                            {
                                if(etat_btn_ok1==0)
                                    inputs[i-1].value=document.form_site.date_fin.value;
                                else
                                    inputs[i-1].value="";
                            }
                        }
                    }
                    else
                    {
                        erreur=3;
                    }
                }
                else
                {
                    erreur=4;
                }
            }//if(document.form_site.date_debut.value!="")
            else
            {
                for(i=0 ; i<inputs.length ; i++)
                {
                    if(inputs[i].type=="checkbox")
                    {
                        if(etat_btn_ok1==0)
                            inputs[i-1].value=document.form_site.date_fin.value;
                        else
                            inputs[i-1].value="";
                    }
                }
            }//else de if(document.form_site.date_debut.value!="")
        }//if(est_date_jjmmaaa(document.form_site.date_fin.value))
        else
        {
            erreur=1;
        }//fin else de if(est_date_jjmmaaa(document.form_site.date_fin.value))        
    }//if(document.form_site.date_fin.value))
    else
        erreur=2;
              
    if(etat_btn_ok1==0)
        etat_btn_ok1=1;
    else
        etat_btn_ok1=0;
            
    switch(erreur)
    {
        case 1 :
            alert("Le format de la date de fin est mal saisi");
            document.form_site.date_fin.value="";
            document.form_site.date_fin.focus();
        break;
        case 2 :
            alert("La date de fin n'est pas saisie");
            document.form_site.date_fin.focus();
        break;
        case 3 :
            alert("La date de début de période est plus récente "
                 +"que la date de fin");
        break;
        case 4 :
            alert("Le format de la date de début est mal saisi");
            document.form_site.date_debut.value="";
            document.form_site.date_debut.focus();
        break;
    }
}
/******************************************************************************/
function valide_affectation()
{
    nbre_cases_cochees=0;
    form = document.all("form_site");
    //récupération de tous les éléments de type input du formulaire
    inputs = form.getElementsByTagName("input");
            
    for(i=0 ; i<inputs.length ; i++)
    {   
        if(inputs[i].type=="checkbox")
        {
            inputs[i-2].style.backgroundColor='white';
            inputs[i-1].style.backgroundColor='white';
        }
    }
            
    for(i=0 ; i<inputs.length ; i++)
    {   
        if(inputs[i].type=="checkbox")
        {
            inputs[i-2].style.backgroundColor='white';
            inputs[i-1].style.backgroundColor='white';
            if(inputs[i].checked==true)
            {
                nbre_cases_cochees++;
                if(inputs[i-2].value==""||!est_date_jjmmaaa(inputs[i-2].value))
                {
                    inputs[i-2].style.backgroundColor='red';
                    alert("une date de début n'a pas été saisie ou est au "
                         +"mauvais format");
                            //J'utilise i-2 parce que dans le formulaire, la 
                            //date de début se trouve deux balises avant la 
                            //checkbox
                            
                    inputs[i-2].focus();
                            //je passe la variable à 0 pour lui dire qu'aucune 
                            //saisie n'est valide afin que le formulaire ne soit
                            //pas posté
                    nbre_cases_cochees=0;
                            //je passe i à sa valeur max afin de sortir de la 
                            //boucle, il n'y a pas besoin d'aller vérifier plus
                            //loin vu que nous avons un raison de sortie
                    i=inputs.length;
                }
                else//date début correctement saisie
                {
                    if(inputs[i-1].value!="")
                    {
                        if(est_date_jjmmaaa(inputs[i-1].value))
                        {
                            if(!periode_correcte(inputs[i-2].value, inputs[i-1].value))
                            {
                                nbre_cases_cochees=0;
                                inputs[i-1].style.backgroundColor='red';
                                inputs[i-2].style.backgroundColor='red';
                                alert("La date de début de période est plus "
                                     +"récente que la date de fin");
                                i=inputs.length;
                            }
                        }//if(est_date_jjmmaaa(inputs[i-1].value))
                        else
                        {
                            inputs[i-1].style.backgroundColor='red';
                            alert("une date de fin est au mauvais format");
                            inputs[i-1].focus();
                            nbre_cases_cochees=0;
                            i=inputs.length;
                        }//fin else de if(est_date_jjmmaaa(inputs[i-1].value))
                    }//if(inputs[i-1].value!="")
                }
            }//if(inputs[i].checked==true)
        }
    }//for(i=0 ; i<inputs.length ; i++)
            
    if(nbre_cases_cochees==0)
    {
        alert("Vous n'avez ajouté aucun site");
    }
    else
    {
        //alert("submit");
        document.form_site.submit();
    }
}

/******************************************************************************/
function valide_cloture()
{
    nbre_cases_cochees=0;
    case_sans_date=0;
    form = document.all("form_site");
    //récupération de tous les éléments de type input du formulaire
    inputs = form.getElementsByTagName("input");
    
    for(i=0 ; i<inputs.length ; i++)
    {   
        if(inputs[i].type=="checkbox")
        {
            inputs[i-1].style.backgroundColor='white';
        }
    }
    
    for(i=0 ; i<inputs.length ; i++)
    {
        if(inputs[i].type=="checkbox" && inputs[i].checked==true)
        {
            //nbre_cases_cochees++;
            if(inputs[i-1].value=="")
            {
                inputs[i-1].focus();
                inputs[i-1].style.backgroundColor='red';
                erreur=2;
                i=inputs.length;
                //case_sans_date++;
            }
            else//date_fin n'est pas vide
            {
                if(est_date_jjmmaaa(inputs[i-1].value))
                {
                    if(!periode_correcte(inputs[i-2].value, inputs[i-1].value))
                    {
                        //nbre_cases_cochees=0;
                        inputs[i-1].focus();
                        inputs[i-1].style.backgroundColor='red';
                        erreur=3;
                        i=inputs.length;
                    }
                    else
                    {
                        erreur=0;
                    }
                }
                else//la date est au mauvais format
                {
                    inputs[i-1].focus();
                    inputs[i-1].style.backgroundColor='red';
                    erreur=1;
                    i=inputs.length;
                    //case_sans_date++;
                }
            }
        }
    }
    switch(erreur)
    {
        case 0 :
            //alert("submit");
            document.form_site.submit();
        break;
        case 1 :
            alert("Le format de la date de fin est mal saisi");
        break;
        case 2 :
            alert("La date de fin n'est pas saisie");
        break;
        case 3 :
            alert("La date de début de période est plus récente "
                 +"que la date de fin");
        break;
    }
}
/******************************************************************************/
    function autorise_supp_fonc()
    {
        sortie="oui";
        /*
        nbre_fonc=parseInt(document.form_mmr.EPA_nbre_fonc.value)
                 +parseInt(document.form_mmr.CLPA_nbre_fonc.value)
                 +parseInt(document.form_mmr.SSA_nbre_fonc.value)
                 +parseInt(document.form_mmr.MULTI_nbre_fonc.value);
        */
        nbre_fonc=document.form_mmr.total_fonc.value;
        element="";
        if(nbre_fonc>1)
        {
            /*recensement des case supp cochées suivant les différents cas*/
            nbre_supp=0;
            for(i=0;i<document.form_mmr.EPA_nbre_fonc.value;i++)
            {   
                if(document.getElementsByName("EPA_radio_"+(i+1))[1].checked)
                {
                    nbre_supp++;
                }
            }
            for(i=0;i<document.form_mmr.CLPA_nbre_fonc.value;i++)
            {   
                if(document.getElementsByName("CLPA_radio_"+(i+1))[1].checked)
                {
                    nbre_supp++;
                }
            }
            for(i=0;i<document.form_mmr.SSA_nbre_fonc.value;i++)
            {   
                if(document.getElementsByName("SSA_radio_"+(i+1))[1].checked)
                {
                    nbre_supp++;
                }
            }
            for(i=0;i<document.form_mmr.MULTI_nbre_fonc.value;i++)
            {   
                if(document.getElementsByName("MULTI_radio_"+(i+1))[1].checked)
                {
                    nbre_supp++;
                }
            }
            /*s'il y a autant de supprimer qu'il y a de rôles on interdit 
            le submit en envoyant un "non"*/
            if(nbre_supp==nbre_fonc)
            {
                sortie="non";
            }
            else
            {
                sortie="oui";
            }
        }
        else
        {
            /*le [1] correspond à la seconde possibilité des boutons radio le 
            [0] aurait été le premier, donc ici il correspond au choix de supp*/
            if(document.form_mmr.EPA_radio_1!=null &&document.getElementsByName("EPA_radio_1")[1].checked)
            {
                sortie="non";
            }
            if(document.form_mmr.MULTI_radio_1!=null &&document.getElementsByName("MULTI_radio_1")[1].checked)
            {
                sortie="non";
            }
            if(document.form_mmr.CLPA_radio_1!=null &&document.getElementsByName("CLPA_radio_1")[1].checked)
            {
                sortie="non";
            }
            if(document.form_mmr.SSA_radio_1!=null &&document.getElementsByName("SSA_radio_1")[1].checked)
            {
                sortie="non";
            }
        }
        return sortie;
    }
/******************************************************************************/
    function lance_retraite()
    {
        document.form_mmr.action="passage_retraite.jsp";
        document.form_mmr.submit();
    }
/******************************************************************************/
