   var avaibleCharList='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-.@_';
   function f_decode_all_email(key,styleSheetRestriction)
   {
   		var tabs=document.getElementsByTagName('a');  //on récupère tous les liens de la page
		var i;
		for(i=0 ; i<tabs.length ; i++)
		{
			if(tabs[i].href)  // on filtre les ancres
			{
				if(tabs[i].href.toLowerCase().indexOf('mailto')==0)   //filtrage des liens de type url, etc...
				{
					if(styleSheetRestriction==null || (styleSheetRestriction!=null && tabs[i].className==styleSheetRestriction))
					//si styleSheetRestriction a été prcisé on filtre les liens emails en fonction de leur class CSS,
					//permet de ne pas appliquer le décodage sur tous les liens
					{
					    if (tabs[i].href.toLowerCase().indexOf('@')<0)
					    {
						    //on decrypte l'email
						    var str=nospam_decrypte(tabs[i].href.replace('mailto:',''),key);  //email decrypte
						    tabs[i].href='mailto:'+str; //on met à jour le lien href
						//tabs[i].innerHTML=str;		//on met ç jour ce qui est affiché
						}
					}
				}
			}
		}
		return;
   }

   function nospam_decrypte(txt,key)
   {
   		var resu='';
		var i;
		for(i=0 ; i<txt.length ; i++) //decodage caracteres après caractères
		{	//selon l'Algorithme de cryptage de Blaise de Vigénère.
			//http://www.chez.com/algor/vigenere.htm
			var ch=txt.charAt(i);
			var index=avaibleCharList.indexOf(ch);
			var chK=key.charAt(i%key.length);
			var indexK=avaibleCharList.indexOf(chK);
			var jj=(index-indexK)%avaibleCharList.length;
			if(jj<0) { jj+=avaibleCharList.length; }
			var chResu=avaibleCharList.charAt(jj);
			resu+=''+chResu;
		}
		return resu; 
   }
