﻿function eliminate_spam()
 {
	var scheme = "antispam:";

	var as = document.getElementsByTagName("a");

 // var msg = ""; // DEVEL

 // msg += "as.length: " + as.length + "\n"; // DEVEL

	for (var a_id = 0 ; a_id < as.length ; a_id++) {
 //    msg += "a_id: " + a_id + "\n"; // DEVEL

	   if ((typeof as[a_id].href != "undefined") && (as[a_id].href.indexOf(scheme) > -1)) {
 //       msg += as[a_id].href + "\n"; // DEVEL
 //       msg += as[a_id].href + " / " + as[a_id].childNodes.length + "\n"; // DEVEL
 //       msg += "innerHTML: " + as[a_id].innerHTML + "\n"; // DEVEL

	   // le traitement au niveau du DOM du contenu de l'élément ne fonctionne
	   // pas avec Konqueror ; ceci pour une raison d'autant plus mystérieuse
	   // qu'il n'y a aucun problème avec Firefox, Opera, Internet Explorer sous
	   // Windows...
	   // Nous sommes donc obligé de nous rabattre sur l'utilisation de innerHTML
		  var data = as[a_id].innerHTML;

		  data = data.replace(/ no spam at /g            , "@");
		  data = data.replace(/ really no spam dot /g    , ".");
		  data = data.replace(/ absolutly no spam dash /g, "-");

		  as[a_id].innerHTML = data;
	   }
	}

 // alert(msg); // DEVEL
 }

 function all_spammers_in_jail(href)
 {
	eliminate_spam(); // DEVEL

	var scheme = "antispam:";
	var scrambled;

	if (href.indexOf(scheme) > -1) {
	   scrambled = href.replace("antispam:", "");

	   var unscrambled = "m" + "a" + "i" + "l" + "t" + "o" + ":";

	   for (var pos = scrambled.length - 1 ; pos >= 0 ; pos=pos-1) {
		  var val = (scrambled.charCodeAt(pos) - 1);
		  unscrambled += String.fromCharCode(val);
	   }
	}  else {
	   unscrambled = href;
	}

	return unscrambled;
 }