function MM_changeProp(objName,x,theProp,theValue) { //v3.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)) eval("obj."+theProp+"='"+theValue+"'");
}

function YB_litTitle(objName) {
  var obj = MM_findObj(objName);
  return(eval("obj.title"));
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function getVar (nomVariable) {
  var infos = location.href.substring(location.href.indexOf("?")+1, location.href.length)+"&"
  if (infos.indexOf("#")!=-1)
    infos = infos.substring(0,infos.indexOf("#"))+"&"
  var variable=""
  {
  nomVariable = nomVariable + "="
  var taille = nomVariable.length
  if (infos.indexOf(nomVariable)!=-1)
    variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
  }
return variable
}

function YB_validateForm() { //v5.0 en francais pour formmail5.asp
  // le nom des zones pour le message d'erreur est défini dans la propriété TITLE de la zone
  var couleurfonderreur='#000000'; // couleur de fond de la zone en cas d'erreur
  var couleurfondnormale=''; // couleur de fond normale de la zone
  var i,p,q,nm,test,num,min,max,errors='',args=YB_validateForm.arguments;
  lang = getVar('lang') ;
  if (lang == "") lang='fr' ; // français par défaut
  for (i=0; i<(args.length-2); i+=3) {
    test=args[i+2];
    val=MM_findObj(args[i]);
    MM_changeProp(val.name,'','style.backgroundColor',couleurfondnormale,'INPUT/TEXT');
    if (val) {
      nm=val.name;
      if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) {
          p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) {
            switch (lang) {
              case "de":
                errors+='« '+YB_litTitle(nm)+' » muss eine E-Mail-Adresse sein.\n';
                break;
              case "en":
                errors+='« '+YB_litTitle(nm)+' » must contain an e-mail address.\n';
                break;
              case "es":
                errors+='« '+YB_litTitle(nm)+' » debe ser una dirección E-mail.\n';
                break;
              case "it":
                errors+='« '+YB_litTitle(nm)+' » deve essere un indirizzo e-mail.\n';
                break;
              case "nl":
                errors+='« '+YB_litTitle(nm)+' » moet een e-mail adres zijn.\n';
                break;
              default:
                errors+='« '+YB_litTitle(nm)+' » doit être une adresse e-mail.\n';
                break;
            }
            MM_changeProp(nm,'','style.backgroundColor',couleurfonderreur,'INPUT/TEXT');
            }
          }
        else if (test!='R') {
          if (isNaN(val)) {
            switch (lang) {
              case "de":
                errors+='« '+YB_litTitle(nm)+' » muss eine Zahl sein.\n';
                break;
              case "en":
                errors+='« '+YB_litTitle(nm)+' » must contain a number.\n';
                break;
              case "es":
                errors+='« '+YB_litTitle(nm)+' » debe ser un número.\n';
                break;
              case "it":
                errors+='« '+YB_litTitle(nm)+' » deve essere un numero.\n';
                break;
              case "nl":
                errors+='« '+YB_litTitle(nm)+' » moet een getal zijn.\n';
                break;
              default:
                errors+='« '+YB_litTitle(nm)+' » doit être un nombre.\n';
                break;
            }
            MM_changeProp(nm,'','style.backgroundColor',couleurfonderreur,'INPUT/TEXT');
            }
          if (test.indexOf('inRange') != -1) {
            p=test.indexOf(':');
            min=test.substring(8,p);
            max=test.substring(p+1);
            if (val<min || max<val) {
              switch (lang) {
                case "de":
                  errors+='« '+YB_litTitle(nm)+' » muss ein Zahl zwischen '+min+' und '+max+'.\n';
                  break;
                case "en":
                  errors+='« '+YB_litTitle(nm)+' » must contain a number between '+min+' and '+max+'.\n';
                  break;
                case "es":
                  errors+='« '+YB_litTitle(nm)+' » debe ser un número entre '+min+' y '+max+'.\n';
                  break;
                case "it":
                  errors+='« '+YB_litTitle(nm)+' » deve essere un numero tra '+min+' e '+max+'.\n';
                  break;
                case "nl":
                  errors+='« '+YB_litTitle(nm)+' » moet een getal zijn tussen '+min+' en '+max+'.\n';
                  break;
                default:
                  errors+='« '+YB_litTitle(nm)+' » doit être un nombre entre '+min+' et '+max+'.\n';
                  break;
              }
              MM_changeProp(nm,'','style.backgroundColor',couleurfonderreur,'INPUT/TEXT');
              }
            }
          }
        }
      else if (test.charAt(0) == 'R') {
        switch (lang) {
          case "de":
            errors+='« '+YB_litTitle(nm)+' » ist obligatorisch.\n';
            break;
          case "en":
            errors+='« '+YB_litTitle(nm)+' » is required.\n';
            break;
          case "es":
            errors+='« '+YB_litTitle(nm)+' » es obligatorio.\n';
            break;
          case "it":
            errors+='« '+YB_litTitle(nm)+' » è obbligatorio.\n';
            break;
          case "nl":
            errors+='« '+YB_litTitle(nm)+' » is verplicht.\n';
            break;
          default:
            errors +='« '+YB_litTitle(nm)+' » est obligatoire.\n';
            break;
        }
        MM_changeProp(nm,'','style.backgroundColor',couleurfonderreur,'INPUT/TEXT');
        }
      }
    }
  if (errors)
    switch (lang) {
      case "de":
        alert('Folgende(r) Fehler sind (ist) aufgetreten:\n'+errors);
        break;
      case "en":
        alert('The following error(s) occurred:\n'+errors);
        break;
      case "es":
        alert('El(los) error(es) siguiente(s) ha(han) ocurrido:\n'+errors);
        break;
      case "it":
        alert('E’(sono) sopraggiunto(i) il (i) seguente(i) errore(i):\n'+errors);
        break;
      case "nl":
        alert('De volgende fout(en) is\/zijn ontstaan:\n'+errors);
        break;
      default:
        alert('L(es) erreur(s) suivante(s) est(sont) survenue(s) :\n'+errors);
        break;
    }
  document.MM_returnValue = (errors == '');
}

