(function() {
	if (window.addEventListener)	window.addEventListener("load",init,false);
	else if (window.attachEvent)	window.attachEvent("onload",init);

	function init()
	{
		var balisesInput = document.getElementsByTagName("input");
		for(var i=0;i<balisesInput.length;i++)
		{
			var balise = balisesInput[i];
			if (balise.type != 'text')	continue;
			var autorise = balise.getAttribute('autorise');
			if (!autorise)	continue;
			if (balise.addEventListener)
				balise.addEventListener("keypress",filter,false);
			else
				balise.onkeypress = filter;
		}
	}

	function filter(evenement)
	{
		var e = evenement || window.event;
		var code = e.charCode || e.keyCode;
		if (e.charCode == 0)	return true;
		if (e.ctrlKey || e.altKey)	return true;
		if (code < 32)	return true;

		var autorise = this.getAttribute("autorise");
		var elementMessage = null;
		var idMessage = this.getAttribute("idmessage");
		if (idMessage)
			elementMessage = document.getElementById(idMessage);

		var c = String.fromCharCode(code);
		if (autorise.indexOf(c) != -1)
		{
			if (elementMessage)	elementMessage.style.visibility = 'hidden';
			return true;
		}
		else
		{
			if (elementMessage)	elementMessage.style.visibility = 'visible';
			if (e.preventDefault)	e.preventDefault();
			if (e.returnValue)	e.returnValue = false;
			// alert("digit only!!!");
			return false;
		}
	}
})();
