//-****** Formulaire ******
function calendatp(cal) {
	window.open(mracin+"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.indexOf("?go=1") != -1)
			ofo.action = window.location.href;
		ofo.submit();
	}
}

