	//-****** Formulaire ******
	function calendatp(cal) {
		window.open("../publiq/calendatp.html?cal="+cal, "calw", "left=200,top=200,width=300,height=190,toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=1");
		return false;
	}
	function areamaxcar(obj, n) {
		if (obj.value.length > n)
			switch (mlang) {
				case "fr": alert("La taille du texte ne peut pas dépasser "+n+" caractères"); break;
				case "nl": alert("De maximumgrootte van de tekst is "+n+" karakters"); break;
				default: alert("This text cannot exceed "+n+" characters");
			}
	}
	function fosoumettre(contenu) {
		ofo = obtenirLById("fo"+contenu);
		if (! ofo)
			return;
		nbr = ofo.elements.length;
		msg = "";
		for (k = 0; k < nbr && msg == ""; k++)
			if (ofo.elements[k].name == "ctrl") {
				elm = ofo.elements[k - 1];

				if (isNaN(ofo.elements[k].value))
					switch (ofo.elements[k].value) {
					case "qqch":
						if (elm.value.search(/\S+/) == -1)
							switch (mlang) {
								case "fr": msg = "Il faut remplir ce champ de saisie svp"; break;
								case "nl": msg = "Gelieve het volgende verplichte veld in te vullen, aub"; break;
								default: msg = "Please fill in this field";
							}
						break;
					case "datv":
						if (elm.value == "") break;
					case "dat":
						n = elm.value.match(/^(\d{2})\D(\d{2})\D(\d{4})$/);
						if (n != null) {
							n[1] = parseInt(n[1], 10);
							n[2] = parseInt(n[2], 10);
							n[3] = parseInt(n[3], 10);
						}
						if (n == null || n[1]<1 || n[1]>31 || n[2]<1 || n[2]>12 || n[3]<1900 || n[3]>2100)
							switch (mlang) {
								case "fr": msg = "Il faut entrer une date valide svp (jj-mm-aaaa)"; break;
								case "nl": msg = "Gelieve de datum correct in te vullen (dd-mm-jjjj), aub"; break;
								default: msg = "Please type a valid date (dd-mm-yyyy)";
							}
						break;
					case "adrv":
						if (elm.value == "") break;
					case "adr":
						if (elm.value.search(/^\S+@\S+\.\S+$/) == -1)
							switch (mlang) {
								case "fr": msg = "Il faut entrer une adresse e-mail valide svp"; break;
								case "nl": msg = "Gelieve een correct e-mailadres in te vullen aub"; break;
								default: msg = "Please type a valid e-mail address";
							}
						break;
					case "numv":
						if (elm.value == "") break;
					case "num":
						n = parseFloat(elm.value);
						if (isNaN(n))
							switch (mlang) {
								case "fr": msg = "Il faut entrer un nombre svp"; break;
								case "nl": msg = "Gelieve een getal in te vullen, aub"; break;
								default: msg = "Please type a numeric value";
							}
						else
							elm.value = n;
						break;
					case "entv":
						if (elm.value == "") break;
					case "ent":
						n = parseInt(elm.value, 10);
						if (isNaN(n))
							switch (mlang) {
								case "fr": msg = "Il faut entrer un nombre entier svp"; break;
								case "nl": msg = "Gelieve een geheel getal in te vullen, aub"; break;
								default: msg = "Please type a integer";
							}
						else
							elm.value = n;
						break;
					case "posv":
						if (elm.value == "") break;
					case "pos":
						n = parseInt(elm.value, 10);
						if (isNaN(n) || n < 0)
							switch (mlang) {
								case "fr": msg = "Il faut entrer un nombre entier positif ou nul svp"; break;
								case "nl": msg = "Gelieve een positief geheel getal of nul in te vullen, aub"; break;
								default: msg = "Please type a integer >= 0";
							}
						else
							elm.value = n;
						break;
					case "sposv":
						if (elm.value == "") break;
					case "spos":
						n = parseInt(elm.value, 10);
						if (isNaN(n) || n <= 0)
							switch (mlang) {
								case "fr": msg = "Il faut entrer un nombre entier positif svp"; break;
								case "nl": msg = "Gelieve een positief geheel getal in te vullen, aub"; break;
								default: msg = "Please type a integer > 0";
							}
						else
							elm.value = n;
						break;
					case "rsel":
						switch (mlang) {
							case "fr": msg = "Il faut sélectionner un bouton radio svp"; break;
							case "nl": msg = "Gelieve één van de vakjes aan te vinken, aub"; break;
							default: msg = "Please select a radio button";
						}
						for (n = k, n--; ofo.elements[n].type == "radio" && msg; n--)
							if (ofo.elements[n].checked)
								msg = "";
						break;
					case "ssel":
						switch (mlang) {
							case "fr": msg = "Il faut sélectionner une option de la liste déroulante svp"; break;
							case "nl": msg = "Gelieve één van de mogelijkheden in het rolmenu te selecteren, aub"; break;
							default: msg = "Please select a option in the drop-down list";
						}
						if (elm.selectedIndex != 0)
							msg = "";
						break;
					case "csel":
						switch (mlang) {
							case "fr": msg = "Il faut sélectionner au moins une case à cocher svp"; break;
							case "nl": msg = "Gelieve minstens één van de vakjes aan te vinken, aub"; break;
							default: msg = "Please select at least one check box";
						}
						for (n = k, n--; ofo.elements[n].type == "checkbox" && msg; n--)
							if (ofo.elements[n].checked)
								msg = "";
						break;
					}
				else {
					if (elm.name == "ctrl")
						elm = ofo.elements[k - 2];

					n = ofo.elements[k].value;
					if (elm.value.length > n)
						switch (mlang) {
							case "fr": msg = "La taille du texte ne peut pas dépasser "+n+" caractères"; break;
							case "nl": msg = "De maximumgrootte van de tekst is "+n+" karakters"; break;
							default: msg = "This text cannot exceed "+n+" characters";
						}
				}
				if (msg != "") {
					mnro = 0; mnom = ""; mtyp = "";
					for (n = 0; n <= k; n++) {
						if (ofo.elements[n].name != mnom && ofo.elements[n].type != "hidden" && ofo.elements[n].type != "button")
							if (mtyp != "checkbox" || ofo.elements[n].type != mtyp)
								mnro++;
						mnom = ofo.elements[n].name;
						mtyp = ofo.elements[n].type;
					}
					alert(msg + " (" + mnro + ")");
					if (elm.type != "hidden")
						elm.focus();
				}
			}
		if (msg == "" && typeof(formsoumettre) == "function")
			formsoumettre();	//--- fonction dans la page ?
		if (msg == "") {
			ofo.oper.value = contenu;
			if (ofo.action == "#")
				ofo.action = window.location.href;
			ofo.submit();
		}
	}
