//*********************************************************************
//*  Module de contr“le et de validation des saisies avec formatage   *
//*                    Ecrit par Alexandre GASTAUD                    *
//*********************************************************************
//* A inclure : KEYBOARD.JS, INFOS.JS                                 *
//*********************************************************************
//*   OnKeyPress="VerifierFormat (...)"                               *
//*    OnKeyDown="if (LireTouche () == 13) document.Saisie.submit();" *
//*********************************************************************

var	isLettre = 1;
var	isAccent = 2;
var	isMot = isLettre | isAccent;

var	isEspace = 4;
var	isSeparateur = 8;
var	isMots = isMot | isEspace | isSeparateur;

var	isChiffre = 16;
var	isSigne = 32;
var	isDecimal = 64;
var	isNombre = isChiffre | isSigne | isDecimal;

var	isSpecial = 128;
var	isPonctuation = 256;
var	isPhrase = isMots | isNombre | isSpecial | isPonctuation;

var	toMajuscule = 512;

var	isCodePostal = isLettre | isEspace | isChiffre | toMajuscule;

var	isSepTelephone = 1024;
var	isTelephone = isChiffre | isSepTelephone;

var	isSepDate = 2048;
var	isDate = isChiffre | isSepDate;

var	isSepInternet = 4096;
var	isInternet = isLettre | isChiffre | isSepInternet;

function VerifierFormat (masque)
	{
	var caractere = LireTouche ();
	if (caractere == null) return true;
	caractere = String.fromCharCode (caractere);

	var chaine = new String ("");
	if (masque & isLettre) chaine += "A-Za-z";
	if ((masque & isAccent) && ! (masque & toMajuscule)) chaine += "àáâãäåçèéêëìíîïðñ=óôõöøùúûüýÿ";
	if (masque & isEspace) chaine += " ";
	if (masque & isSeparateur) chaine += "'";
	if (masque & isChiffre) chaine += "0-9";
	if (masque & isSigne) chaine += "+-";
	if (masque & isDecimal) chaine += ".";
	if (masque & isSpecial) chaine += "#$%&()*+-/<=>@_€¢£¤¥§µ";
	if (masque & isPonctuation) chaine += "!,.:;?¡+";
	if (masque & isSepTelephone) chaine += "+() .";
	if (masque & isSepDate) chaine += "/ :";
	if (masque & isSepInternet) chaine += ":/.@~-";
	if ((masque & toMajuscule) && (caractere >= 'a') && (caractere <= 'z')) caractere = caractere.toUpperCase ();

	var expression = new RegExp ("[" + chaine + "]", "i");
	if (expression.test (caractere) || (isNetscape && (caractere < ' ')))
		return EcrireTouche (caractere.charCodeAt (0));
	else
		return EffacerTouche ();
	}

function isDateValide (date)
	{
	var la_date = new Date (date);
	var table_date = date.split ("/");
	return (la_date.getDate () == table_date[1] && (la_date.getMonth () + 1) == table_date[0] && (la_date.getFullYear () == table_date[2] || la_date.getYear () == table_date[2]));
	}

if (isNetscape) document.captureEvents (Event.KEYDOWN | Event.KEYUP);

//*************************** FIN DU FICHIER **************************