		
			// s set un string à encoder en tableau d'entiers
			function encode( s )
			{
				var result = new Array();
				for ( var i = 0 ; i < s.length; i++ )
				{
					var c = s.charCodeAt(i) ^ 0x63;
					result.push(c) ;
				}
				return result;					
			}

			// génère une chaine d'entiers séparés par des virgules,
			// à partir d'un Array d'entier
			function separate( tab )
			{
				var result = "";
				for ( var i = 0 ; i < tab.length; i++ )
				{
					var c = tab[i] ;
					if ( i!=0){
						result += ", ";
					}
					result += c ;
				}
				return result;					
			}

			// tab est un tableau d'entier à décoder en chaine de caractères		
			function decode( tab )
			{
				var result = "";
				for ( var i = 0 ; i < tab.length; i++ )
				{
					var c = String.fromCharCode (tab[i] ^ 0x63 );
					result +=  c ;
				}
				return result;					
			}			
			function presentePourTest( input, resultat)
			{
				var resultTmp = encode(input.value);
				
				var reEncode = decode(resultTmp);
				var result = separate(resultTmp);
				resultat.innerHTML = 
				 "Resultat : "+result + "<br>" + "ReEncode :" + reEncode
				   +"<br><a href='mailto:"+reEncode+"' >"+ reEncode+"</a>";
				return false;
			}
			
			// resultat est un tag DIV dont le contenu sera changé
			// tab est un tableau contenant les entiers ( encodés ) du email
			function generateAnchorTag( tab, resultat)
			{
				var result = decode( tab );
				resultat.innerHTML = "<a href='mailto:"+ result +"' >"+ result+"</a>";
			}

