// Javascript 

function verif(email) { // Email valide ?
     var arobase = email.indexOf("@")
     var point = email.lastIndexOf(".")
     if((arobase < 1)||(point + 2 > email.length)||(point < arobase+3)) return false
     return true;
}
     
function verifform(tabValue, tabPwd){
    email=document.getElementById('email').value.replace(/ /g, '');
    erreur="Champs mal remplis :";
    if (!verif(email)) {
        erreur+="\n _ email";
    }
    for(i=0;i<tabValue.length;i++){
        if(document.getElementById(tabValue[i]).value.length<=1){
            erreur+="\n _ " + tabValue[i];
        }
    }
    
    if(typeof( tabPwd ) != "undefined"){
        if(document.getElementById(tabPwd[0]).value!=document.getElementById(tabPwd[1]).value){
            erreur+="\n _ mot de passe";            
        }
    }
    if(erreur!="Champs mal remplis :"){
        alert(erreur);
        return false;
    } else {
        return true;
    }
}

/**
 * affiche une boîte de dialogue d'information sur l'expiration imminente de la session utilisateur :
 * si l'utilisateur clique sur OK, la page est rechargée pour réinitialiser le chronomètre de session
 
 * @param int minutes délai avant l'expiration de la session 
 */
function rappelSession(minutes)
{
   var msg='Votre session expirera dans '+minutes+' minute';
   if(minutes>1) msg+='s';
   msg+='.\nVoulez-vous recharger la page pour éviter la déconnexion automatique ?';
   
   if(confirm(msg)) location.reload();
}

/**
 * affiche une alerte sur l'expiration de la session et redirige vers une autre page
 
 * @param string url URL de redirection en cas de déconnexion
 */
function expirationSession(url)
{
   alert('Votre session a expiré !\nVous êtes déconnecté à présent.');
   location.href=url;
}

/**
 * affiche des avertissements sur le délai d'expiration de la session :
 * - un premier au bout de (expiration-rappel) minutes (par ex. : 20-3 = 17 minutes)
 * - un second au bout de (expiration) minutes (par ex. : 20 minutes)
 
 * @param int expiration délai en minutes d'expiration de la session
 * @param int rappel délai en minutes avant l'expiration de la session pour l'affichage du rappel
 * @param string redirection URL de redirection en cas de déconnexion
 */
function session(expiration, rappel, redirection)
{
   // affichage du rappel
   var chronoRappel=setTimeout('rappelSession('+rappel+')', (expiration-rappel)*60*1000);
   
   // une fois le rappel affiché, on avertit uniquement de l'expiration
   var chronoExpiration=setTimeout('expirationSession(\''+redirection+'\')', expiration*60*1000);
}

function write_email_link(nom, domaine){
    document.write('<a href="mailto:'+ nom + '@' + domaine +'"><img src="http://www.crc.ensmp.fr/images/email.gif" alt="email" border="0"></'+'a>');
} 
