// Afficher son email en limitant les risques de spam (camion pourriel)
//http://forum.alsacreations.com/topic-5-3716-2-Fonctions-methodes-class-et-scripts-utiles.html#p154887

if (document.childNodes && document.getElementById && document.createTextNode && {}.hasOwnProperty) {
(function(cns) {
	function createEl(n) {
		var a, i = 0, e = document.createElementNS ? document.createElementNS("http://www.w3.org/1999/xhtml", n) : document.createElement(n);
		while ((a = arguments[++i])) {
			if (typeof a === "string") {
				e.appendChild(document.createTextNode(a));
			} else {
				for (var p in a) {
					if (a.hasOwnProperty(p)) {
						e[p] = a[p];
					}
				}
			}
		}
		return e;
	}

	function clsRe(c) {
		return new RegExp("(^|\\s)" + c + "(\\s|$)");
	}

	function hasCls(e, c) {
		return clsRe(c).test(e.className);
	}

	function getElsCN(c, t) {
		var els = document.getElementsByTagName(t), res = [], re = clsRe(c);
		for (var i = 0, e; (e = els[ i]); ++i) {
			if (re.test(e.className)) {
				res[res.length] = e;
			}
		}
		return res;
	}

	function chgEl(el, o) {
		var m = o.user + "@" + o.host + "." + o.domain, a = createEl("a", {href: "mailto:" + m, className: cns.email}, o.name || m);
		if (el.title) {
			a.title = el.title;
		}
		el.parentNode.replaceChild(a, el);
	}

	function initEl(el) {
		var o = {}, ss = el.getElementsByTagName("span");
		for (var i = 0, s; (s = ss[ i]); ++i) {
			for (var j in cns) {
				if (cns.hasOwnProperty(j) && hasCls(s, cns[j])) {
					o[j] = s.firstChild && s.firstChild.nodeValue;
				}
			}
		}
		if (o.user && o.host && o.domain) {
			chgEl(el, o);
		}
	}

	function initEls(els) {
		for (var i = 0, e; (e = els[ i]); ++i) {
			initEl(e);
		}
	}

	function init() {
		if (!init.done) {
			init.done = true;
			initEls(getElsCN(cns.email, "span"));
		}
	}

	function addLoadEvt(f) {
		if (document.addEventListener) {
			document.addEventListener("DOMContentLoaded", f, false);
		}
		if (window.addEventListener) {
			window.addEventListener("load", f, false);
		} else if (document.addEventListener) {
			document.addEventListener("load", f, false);
		} else if (window.attachEvent) {
			window.attachEvent("onload", f);
		}
	}

	addLoadEvt(init);
})({
	email: "email", user: "u", host: "h", domain: "d", name: "n"
});
}

//* Remplace toutes les occurrences de

/*
<span class="email" title="title">
  [?]
  <span class="n">name</span>
  [?]
  <span class="u">user</span>
  [?]
  <span class="h">host</span>
  [?]
  <span class="d">domain</span>
  [?]
</span>
*/
//-------par
/*<a href="mailto:user@host.domain" class="email" title="title">name</a>*/
//-------ou
/*<a href="mailto:user@host.domain" class="email" title="title">user@host.domain</a>*/
//------- si name n'est pas pr?sent. title est optionnel.
//-------* Permet de se pr?venir du spam tout en proposant une alternative aux personnes qui n'ont pas acc?s ? JavaScript. Par exemple :
/*
<span class="email"><span class="n">Gentil kiwiz</span> - <span class="u">kiwiz</span>#arobase#<span class="h">example</span>#point#<span class="d">com</span></span>
// devient
<a href="mailto:kiwiz@example.com" class="email">Gentil kiwiz</a>

<span class="email"><span class="u">kiwiz</span>#arobase#<span class="h">example</span>#point#<span class="d">com</span></span>
// devient
<a href="mailto:kiwiz@example.com" class="email">kiwiz@example.com</a>

<span class="email"><span class="u n">kiwiz</span>#arobase#<span class="h">example</span>#point#<span class="d">com</span></span>
// devient
<a href="kiwiz@example.com" class="email">kiwiz</a>
*/