/* Permet à l'utilisateur de saisir une valeur flottante */
/*ce script est développé par B3A (04 75 84 67 47), vous pouvez l'utiliser, si vous laisser cette mention*/
// Appeler la méthode CreateInputFloat avec le nom du champ en paramètre
// Les autres fonctions ne doivent pas être appelées
var continuer = true;


function PressKey(e)
{
	/*
		Flèches   : 37-40
		Suppr     : 46
		Backspace : 8
		Début     : 36
		Fin       : 35
	*/
	touche = (NS4) ? e.which : e.keyCode;
	if (parseInt(touche) >= 35 && parseInt(touche) <= 40 || parseInt(touche)==46 || parseInt(touche)==8)
		continuer=false;
	else
		continuer=true;
}


function CreateInputFloat(nom, longueur)
{
	if (longueur=="undefined")
		document.write("<INPUT TYPE='TEXT' NAME='"+nom+"' ID='"+nom+"' onKeyup='InputChange(\""+nom+"\", \"float\")'>");
	else
		document.write("<INPUT TYPE='TEXT' NAME='"+nom+"' ID='"+nom+"' SIZE='"+longueur+"' MAXLENGTH='"+longueur+"' onBlur='InputChange(\""+nom+"\", \"float\")' onKeyup='InputChange(\""+nom+"\", \"float\")'>");
	IE4 = (document.all);
	NS4 = (document.layers);
	if (NS4) document.getElementById(nom).captureEvents(Event.KEYDOWN);
	document.getElementById(nom).onkeydown = PressKey;
}


function CreateInputInteger(nom, longueur)
{
	if (longueur=="undefined")
		document.write("<INPUT TYPE='TEXT' NAME='"+nom+"' ID='"+nom+"' onKeyup='InputChange(\""+nom+"\", \"int\")'>");
	else
		document.write("<INPUT TYPE='TEXT' NAME='"+nom+"' ID='"+nom+"' SIZE='"+longueur+"' MAXLENGTH='"+longueur+"' onBlur='InputChange(\""+nom+"\", \"int\")' onKeyup='InputChange(\""+nom+"\", \"int\")'>");
	IE4 = (document.all);
	NS4 = (document.layers);
	if (NS4) document.getElementById(nom).captureEvents(Event.KEYDOWN);
	document.getElementById(nom).onkeydown = PressKey;
}


function InputChange(id, type)
{
	if (continuer)
	{
		if (type=="float")
		{
			// On remplace la ',' par '.'
			ExpRegVirgule = /,/g;
			elem = document.getElementById(id).value;
			elem = elem.replace(ExpRegVirgule, ".");
			// On efface tout ce qui n'est pas un nombre
			ExpRegNombre = new RegExp("[0-9\.]");
			points = 0;
		
			for(i = 0; i < elem.length; i++)
			{
				verif = ExpRegNombre.test(elem.charAt(i));
				if (elem.charAt(i) == ".")
					points++;
				if (points > 1)
				{
					verif = false;
					points = 1;
				}
				if (verif == false)
				{
					elem = elem.substr(0,i) + elem.substr(i+1, elem.length-i+1);
					i--;
				}
			}
			document.getElementById(id).value=elem;
		}
		else if (type=="int")
		{
			// On efface tout ce qui n'est pas un nombre
			ExpRegNombre = new RegExp("[0-9]");
			elem = document.getElementById(id).value;
			for(i = 0; i < elem.length; i++)
			{
				verif = ExpRegNombre.test(elem.charAt(i));
				if (verif == false)
				{
					elem = elem.substr(0,i) + elem.substr(i+1, elem.length-i+1);
					i--;
				}
			}
			document.getElementById(id).value=elem;
		}
	}
}