function Window(mypage, myname, w, h) {
var neww = parseInt(w) + parseInt(40);var newh = parseInt(h) + parseInt(42);var winl = (screen.width - w) / 2;var wint = (screen.height - h) / 2;winprops = 'height='+newh+',width='+neww+',top='+wint+',left='+winl+',toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
// - Insérer le fichier dans la page HTML comprenant le formulaire
// - Ajouter un attribut valider="type_de_donnée" dans chaque balise à vérifier
// - Créer un bouton ou un lien qui appelera la méthode
//		-> valider(nom_du_formulaire_à_valider)
//		<INPUT valider="telephone"> <!-- pas obligatoire mais si entré alors doit être un téléphone -->
// Expressions autorisées:
// car : une chaîne non vide
var clAlerte = "#FF8E8E";var clGood = "#BCFCB4";// expression régulières validées
var reelexp = /^-?\d*[d{1},.\d+]?\d+$/;var entierexp = /^\d+$/;var emailexp = /^[\w_][_\w\.\-~]*@[\w_][_\w\.\-~]*\.[\w]{2,}$/i
var carexp = /./;var codepostalexp = /^\d{3,5}$|^[a-z]{2}\-\d{3,}$/i;var rgaexp = /^\d{0,5}\d$/;var telephoneexp = /^[+0-9][0-9\-\s]+\d$/;var dateexp = /^[0-3]?\d{1}[\/\-][01]\d{1}[\/\-]\d{4}$/;function isValid(pattern, str) {
return pattern.test(str);}
function replaceCommas(str){
return str.replace(/\./,",");}
function doValid(objet){
objet.style.backgroundColor = clGood;}
function doUnvalid(objet){
objet.style.backgroundColor = clAlerte;}
function validerexp(regexp,objet,vOk,obligatoire){
valide = isValid(regexp,objet.value);vide = objet.value=="";if ((obligatoire && valide && !vide) || (!obligatoire && (valide || vide)) )
{
doValid(objet);return vOk;}
else
{
doUnvalid(objet);return false;}
}
function ValideFormulaire(unFormulaire)
{
var obligatoire;var ok = true;for(i=0;i<unFormulaire.elements.length;i++)
{
if ((!unFormulaire.elements(i).disabled) && (unFormulaire.elements(i).valider!="undefined"))
{ // à ce niveau, une vérification de contenu a été demandée
obligatoire = unFormulaire.elements(i).obligatoire=="vrai"
switch(unFormulaire.elements(i).valider)
{
case "car" : ok = validerexp(carexp,unFormulaire.elements(i),ok,obligatoire); break;case "telephone" : ok = validerexp(telephoneexp,unFormulaire.elements(i),ok,obligatoire); break;case "codepostal" : ok = validerexp(codepostalexp,unFormulaire.elements(i),ok,obligatoire); break;case "email" : ok = validerexp(emailexp,unFormulaire.elements(i),ok,obligatoire); break;case "date" :  unFormulaire.elements(i).value = unFormulaire.elements(i).value.replace(/\-/,"/"); ok = validerexp(dateexp,unFormulaire.elements(i),ok,obligatoire); break;case "rga" : ok = validerexp(rgaexp,unFormulaire.elements(i),ok,obligatoire); break;case "reel" : unFormulaire.elements(i).value=replaceCommas(unFormulaire.elements(i).value);ok = validerexp(reelexp,unFormulaire.elements(i),ok,obligatoire); break;case "entier" : ok = validerexp(entierexp,unFormulaire.elements(i),ok,obligatoire); break;}
}
}
return ok;}
function valider(leFormulaire){
right = true;if (ValideFormulaire(leFormulaire))
right=true;else
{
alert("- Informations manquantes ou erronées\n- Fehlende oder falsche Informationen\n- Missing or incorrect information");right=false;}
return right;}

