// Autre solution : version officielle de l'ENSTA
// 
// <SCRIPT language=javascript type=text/javascript>
// <!--
// { coded = "wKXOJcjq9@96wqJ.Ec"
//   key = "V9sYH3uqSzKaC4ixROh0wn2og1UpLJdTjWmArf56bXN8MeF7ykZtvQcEPBDGIl"
//   shift=coded.length
//   link=""
//   for (i=0; i<coded.length; i++) {
//     if (key.indexOf(coded.charAt(i))==-1) {
//       ltr = coded.charAt(i)
//       link += (ltr)
//     }
//     else {     
//       ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length
//       link += (key.charAt(ltr))
//     }
//   }
// document.write("<a href='mailto:"+link+"'>Courriel</a>")
// }
// //-->
// </SCRIPT>
// 
// Version Eric
// 
// <script type="text/javascript">
// function decode_mel(m) {
//      //inverse de la fonction encode_mail() dans util.php
//      var n="";
//      var c;
//      var i;
//      for (i=0; i<m.length; i++) {
//          c = m.charCodeAt(i);
//          c-=1;n+=String.fromCharCode(c);
//      }
//      location.href=n;
// }
// //--><!]]></script>
// 
// Puis plus loin
//   <a href="javascript:decode_mel('nbjmup;mbvsfou/cpvshfpjtAfotub/gs')">
//      <img src="images/mail7.gif" border=0 height=25"
//   </a>

// Décode l'adresse codée par la fonction php "encode_mail"
function decode_mel(m) {
    // inverse de la fonction encode_mail() dans util.php
    var n="";
    var c;
    var i;
    for (i=0; i < m.length; i++) {
        c = m.charCodeAt(i);
        c -= 1;
        n += String.fromCharCode(c);
    }
    location.href = n;
}


////////////////////////////////////////////////////////////////////////
// Fonction d'aide à l'encodage/décodage manuel de mail
// 
function w(str) {
    document.write(str)
}
// Construit une adresse avec des morceaux (e.g. "Prenom.Nom@laposte.fr")
// 
// Exemple :
//      getMel("fr", "laposte", "Prenom.Nom")
//      // Les caractères parasites sont supprimés ("." et "-" sont conservés)
//      getMel("fr", "lap=oste", "Pren!!om*.*Nom")
//      
// FAIT : amélioration à faire : supprimer tout caractères parasites
// tels que [*=:;!] que ne devrait jamais ce trouver dans une adresse email.
// Cela permettra de compliquer encore un peu le décodage du mail par un
// méchant moteur !
// TODO : ajouter le passage un parametre d'une regexp optionnelle 
// 
// 
function getMel(suf, dom, name) { 
    var str = name + '\u0040' + dom  + '\u002e' + suf
    str = str.replace(/[*=:;!]/g, "")
    return str
}

// génère une url pour message mél
// Si txt est absent, le link est utilisé comme label du lien
// 
// Exemples de code html coté client :
//     Ce site est maintenu par :
//     <script  type='text/javascript'>
//        writeMel("fr", "laposte", "Prenom.Nom")
//        writeMel("fr", "laposte", "Prenom.Nom", "Moi-même !")
//        writeMel("fr", "lap===oste", "Pren!!om*.*Nom", "Moi-même !")
//     </script> 
// 
// 
function writeMel(suf, dom, name, melLabel, subject) {
    var mel = getMel(suf, dom, name)
    if (!melLabel) {
        melLabel = mel
    }
    var fullUrl = "mai" +  "lto:" + mel
    if (!subject) {
    } else {
        subject = encodeURI(subject)
        fullUrl += "?Subject=" + subject
    }
    writeLink(fullUrl, melLabel)
}
// Affiche une url pour le protocole http avec link et txt
// Si label st absent, utilise link comme label pour le lien
function writeLink(link, label) { 
    if (!label) {
        label = link;
    }
    document.write("<a href=\"" + link + "\">" + label + "</a>")
}

// A CONSERVER POUR L'EXEMPLE :
// 
// Fonction personnalisée de construction d'une URL de mail pré-renseigné pour 
// inscription à une conférence
// 
// Dépendance : 
//   utilise les fonctions getMel (pour cacher les adresses email) et writeLink
//   de ma librairie mel.js 
//  
// Exemple d'utilisation :
//  
//   <script type='text/javascript'>writeMelForm('Annie Marchal');</script>
//   <script type='text/javascript'>writeMelForm('Inscrivez-vous');</script>
// 
// Principe d'écriture d'une URL :
// 
//  <a href="mailto:me@ensta.fr?subject=incript&body=first%20line%%0ANext%0A..."
//       S'incrire
//  </a>
//  
// TODO prévoir un fonction générique recevant tout parametre nécessaire
//  
// function writeMelForm(melLabel) {
//     var mel1 = getMel('f!r', 'ens*ta', 'An=nie:.:!Marchal')
//     var mel2 = getMel('f!r', 'ens*ta', 'francoise.lev*y!-dit-=veh!!el')
//     var subject = "[IFW'2007]: Registration request";
//     var body = "" +
//     "Thank to fill and return this form:\n" +
//     "\n" +
//     "Registration for IFW'2007 conference\n" +
//     "\n" +
//     "  Firstname:\n" +
//     "  Lastname:\n" +
//     "\n" +
//     "  Affiliation:\n" +
//     "\n" +
//     "  Address:\n" +
//     "  Country:\n" +
//     "\n" +
//     "  Email: \n" +
//     "  Tel No.: \n" +
//     "  Fax No.: \n" +
//     "\n" +
//     "  Food habit: Veg/Non Veg\n" +
//     "\n" +
//     "  Other remark: \n" +
//     "\n"
//     
//     subject = encodeURI(subject)
//     body = encodeURI(body)
//     
//     var fullUrl = "mai" +  "lto:" + mel1 + "?C" + "C=" + mel2 + "&amp;" +
//                   "Subject=" + subject + "&amp;" +
//                   "body=" + body
//     writeLink(fullUrl, melLabel)
// }

////////////////////////////////////////////////////////////////////////

//./
