var brouilleURL = {
	
	_base16: "0A12B34C56D78E9F",

	encode: function (str)
	{
		var retour="";
		for(var i=0;i<str.length;i++)
		{
			var cc=str.charCodeAt(i);
			var ch=cc>>4;
			var cl=cc-(ch*16);
			retour+=this._base16[ch]+this._base16[cl];
		}
		return "desliens"+retour;
	},

	decode: function (str)
	{
		var retour="";
		for(var i=0;i<str.length;i+=2)
		{
			var ch=this._base16.indexOf(str.charAt(i));
			var cl=this._base16.indexOf(str.charAt(i+1));
			retour+=String.fromCharCode((ch*16)+cl);
		}
		return retour;
	},
	
	init: function ()
	{
		$("span").each(function(){
			so_classes = $(this).attr("class");
			k = so_classes.indexOf("desliens");
			if (k != -1) {
				var endClass = so_classes.indexOf(" ", k+1);				
				if (endClass == -1) {
					endClass = so_classes.length;
				}
				var url=brouilleURL.decode(so_classes.substring(k+8, endClass));
				var urlClass = so_classes.substring(k, endClass);
				var aClass = so_classes.replace(urlClass, '');
				so_value = $(this).html();
				so_newLabel = $("<a href=\"" + url + "\"></a>").html(so_value);
				if (aClass.length > 0)
			        $(so_newLabel).attr("class",aClass + " brouille");
				else
					$(so_newLabel).attr("class", "brouille");
				so_style = $(this).attr("style");
				if (so_style != undefined && so_style.length > 0)
			        $(so_newLabel).attr("style",so_style);
				so_title = $(this).attr("title");
				if (so_title != undefined && so_title.length > 0)
			        $(so_newLabel).attr("title",so_title);
				so_onclick = $(this).attr("onclick");
				if (so_onclick != undefined ) {
		            $(so_newLabel).click(so_onclick);
				}
				so_target = $(this).attr("target");
				if (so_target != undefined)
			        $(so_newLabel).attr("target",so_target);
				$(this).replaceWith(so_newLabel);
			}
		});
	}	
}
$(document).ready (function () {
	brouilleURL.init();
});

