****************************************************************************************
VFORM est un script de contrle de formulaire

Version 1.02

Copyright (C) 2006-2010  Sylvain FATOME

This program is free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; 
if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Boston, MA  02110-1301, USA.

Contact : galawa@free.fr

Web : http://smitst.homelinux.com
****************************************************************************************

						-- Utilisation du script VFORM--
						           version 0.9
	
Dfinir un tableau (chaque paramtre doit tre spars par un ";", mais il n'y a  pas d'ordre impos) pour dtailler les champs.
	
IMPORTANT : ne pas metre d'espace autour des ':'.
	
>>> Paramtres :
	
	nom:nom_du_champ						Nom du champ dans le formulaire
	
	format:format_de_saisie					Format de la saisie
	
		alpha			: Alphabtique
		alphamin		: Alphabtique (minuscules seulement)
		alphamaj		: Alphabtique (majuscules seulement)
		alphanum		: Alphanumrique
		alphanummin		: Alphanumrique (minuscules seulement)
		alphanummaj		: Alphanumrique (majuscules seulement)
		chemin			: chemin (alphanumrique + '_'), type "/xxxx/xxxx"
		cp				: Code postal (le pays dtermine le code postal)
		cp_codepays		: Code postal pour un codepays donn
		date			: Date
						masques possibles :
							mmddyy		mmddyyyy	mm/dd/yy	mm/dd/yyyy
							jjmmaa		jjmmaaaa	jj/mm/aa	jj/mm/aaaa
							mm-dd-yy	mm-dd-yyyy	jj-mm-aa	jj-mm-aaaa

		duree			: Dure (format hh:mm:ss), pas de contrle sur les heures
		dureehhmm		: Dure (format hh:mm), pas de contrle sur les heures (hh : de 1  ...)
		ean8			: code EAN-8
		ean13			: code EAN-13
		entier			: Entier sign
		extens			: extension de fichier (type ".xxx")
		gtin8			: code GTIN-8 (format international seulement)
		gtin12			: code GTIN-12
		gtin13			: code GTIN-13 (ou GLN)
		gtin14			: code GTIN-14
		heure			: Heure (format hh:mm:ss)
		heurehhmm		: Heure (format hh:mm)
		hexa			: Hexadcimal
		hexacol			: Hexadcimal pour couleur (#xxxxxx)
		iban			: IBAN (le pays dtermine l'IBAN)
		iban_codepays	: IBAN pour un code pays donn
		imt				: Numro d'immatriculation (le pays dtermine le format)
		imt_codepays	: Numro d'immatriculation pour un code pays donn
		ip				: Adresse IP V4
		ip6				: Adresse IP V6
		isbn10			: code ISBN-10
		isbn13			: code ISBN-13
		issn10			: code ISSN
		mac				: Adresse MAC (xx:xx:xx:xx:xx:xx ou xx-xx-xx-xx-xx-xx)
		mail			: Email
		nf				: Numro fiscal (le pays dtermine le numro fiscal)
		nf_codepays		: Numro fiscal pour un code pays donn
		pw				: Mot de passe
						il faut aussi donner le niveau de "qualit" minimum (de 0  9) avec la variable pwq
		reel			: Rel sign
		reel_ns			: Rel non sign
		rib				: Relev d'Identit Bancaire (le pays dtermine le RIB)
		rib_codepays	: Relev d'Identit Bancaire pour un code pays donn
		secu			: Numro de SECURITE SOCIALE (le pays dtermine le type de numro)
		secu_codepays	: Numro de SECURITE SOCIALE pour un code pays donn
		siren			: Numro de SIREN (le pays dtermine le type de numro)
		siren_codepays	: Numro de SIREN pour un code pays donn
		siret			: Numro de SIRET (le pays dtermine le type de numro)
		siret_codepays	: Numro de SIRET pour un code pays donn
		sscc			: code SSCC
		naf				: Numro de NAF (le pays dtermine le type de numro)
		naf_codepays	: Numro de NAF pour un code pays donn
		tva				: Numro de TVA (le pays dtermine le type de numro)
		tva_codepays	: Numro de TVA pour un code pays donn
		tel				: Numro de tlphone (le pays dtermine le type de numro)
						Si pas de pays, format international
		tel_codepays	: Numro de tlphone pour un code pays donn
						Si code pays inconnu, format international
		tel_int			: Numro de tlphone international
		telp			: Numro de tlphone portable (le pays dtermine le type de numro)
						Si pas de pays, format international
		telp_codepays	: Numro de tlphone portable pour un code pays donn
						Si code pays inconnu, format international
		txt				: Tout type de texte
		unsigned		: Entier non sign
		url_pref		: url (avec prfixe http, https, ftp, sftp, ftps, gopher, telnet)
						Conforme  la norme xxxx://log:mdp@xxx.xxxxxx.xxx:1234/xxxx?xxx=123&xxx=123
						Accepte aussi les adresse IP au lieu des noms de domaines
		url_npref		: url (sans prfixe)
						Conforme  la norme log:mdp@xxx.xxxxxx.xxx:1234/xxxx?xxx=123&xxx=123
						Accepte aussi les adresse IP au lieu des noms de domaines


	req:Y ou y ou O ou o					Champ requis ?
		(si rien, pas requis)

	lmn										Longueur minimum
		(Entier non sign. si rien : 0)
		Pour les listes multiples	: nb minimum de lignes  choisir

	lmx										Longueur maximum
		(Entier non sign)
		Pour les listes multiples	: nb maximum de lignes  choisir

	vmn										Valeur minimum
		(Entier non sign)

		Pour les listes     : n minimum de la 1re ligne
		Pour les " cocher" : n minimum de la 1re case ou du 1er bouton
		Pour les dates	    : date minimum
		Pour les valeurs    : valeur minimum
		
		S'il n'y a pas de valeur maximum, le test juste effectu par rapport  la valeur minimum

	vmx										Valeur maximum
		(Entier non sign)

		Pour les listes     : n maximum de la dernire ligne slectionnable
		Pour les " cocher" : n minimum de la dernire case ou du dernier bouton
		Pour les dates	    : date maximum
		Pour les valeurs    : valeur maximum
		
		S'il n'y a pas de valeur minimum, le test juste effectu par rapport  la valeur maximum
				
	masque								dfinition du masque de saisie
		(Pour les dates. OBLIGATOIRE dans ce cas)

	stok								Style si champ ok
		(Si rien, on n'y touche pas)

	stbad								Style si champ pas ok
		(Si rien, on n'y touche pas)

	txt									Texte descriptif du champ pour popup erreur
		(Si rien, le script fabrique une chane avec le nom du champ)

	comp								Champ  comparer (dtection de champs identiques)
		On y entre le nom du champ qui doit tre compar
		
		Pour les textes : comparaison des 2 saisies
		Pour les boutons et cases  cocher : comparaison des structures et 
			cases/boutons cochs
		Pour les listes simples : comparaison des structures et de la ligne choisie
		Pour les listes multiples : comparaison des structures et de la (des) 
			ligne(s) choisie(s)
			
	carenum								Caractre d'numration
		Sur la base du format de champ dfini, on peut demander une numration
		avec un caractre de sparation.
		Chaque saisie entre ce caractre est alors analyse sur le format dfini (avec les
		critres qui s'appliquent alors  cette saisie) pour vrifier que c'est ok.

		Par exemple, si vous dfinissez une numration d'extensions de fichier, sur une 
		longueur minimale de 3 caractres, et maximale de 4, et un sparateur ',', VForm va 
		analyser chaque saisie entre les ',' pour vrifier que c'est bien une extension (".xxx"),
		avec une longueur minimale de 3 caractres, et maximale de 4 caractres.

		On peut tout mettre, sauf ';'.


	La fonction s'appelle par :
	
				VForm(nom_du_formulaire,tableau_de_dfinition,pays,langage)
				
	Nota :
		Si pas de pays dfini, Frane ('fr') par dfaut
		Si pas de langage dfini, Franais ('fr') par dfaut
