//<form method="post" action="/stat/habitat/formSend.asp" name="frmEtude" onSubmit="return twValide(this);">

//var varValid = new Array();
//varValid["rq_txtNom"]         = "Nom";
//varValid["rq_txtPrenom"]      = "Prénom";
//varValid["rq_txtTelDomicile"] = "Tél. Domicile";
//varValid["rq_txtCodePostal"]  = "Code postal";
//varValid["rq_txtCommune"]     = "Commune";
//varValid["rq_txtE-mail"]      = "E-mail";
//varValid["rq_NbPieces"]       = "Nombre de pièces concernées par les travaux";
//varValid["rq_Surface"]        = "Surface concernée";
//varValid["rq_rbProprietaire"] = "Etes-vous propriétaire de cette habitation ?";
//varValid["rq_rbResidence"]    = "S'agit-il d'une résidence principale ou secondaire ?"
//varValid["rq_Nature"]         = "Nature de vos projets de rénovation";
//varValid["rq_cb_Nature"]      = "Nature de vos projets de rénovation";
//varValid["rq_delai"]          = "Vous envisagez le début de vos travaux d'ici";
//varValid["rq_finance"]        = "Avez-vous besoin d'un financement ?";
//varValid["rq_Descriptif"]     = "Descriptif des travaux";
//varValid["rq_SiteConnuPar"]   = "Sondage";


<!--
function twValide(nForm) {
  var RdCkOk = false;
  var RdMess = "";
  var CbMess = "";
  var CbCkOk = false;
  var msg = ""
  for (fieldToValid in varValid) {
    switch (nForm.elements[fieldToValid].type) {
      case 'select-one' :
        if (nForm.elements[fieldToValid].selectedIndex == 0) {
          msg += "<br>         " + varValid[fieldToValid];
        }
		break;
      case 'select-multiple' :
        if (nForm.elements[fieldToValid].selectedIndex < 0) {
          msg += "<br>         " + varValid[fieldToValid];
        }
        break;
      case 'text' :
        if (nForm.elements[fieldToValid].value == '') {
          msg += "<br>         " + varValid[fieldToValid];
        }
        break;
      case 'hidden' :
        if (nForm.elements[fieldToValid].value == '') {
          msg += "<br>         " + varValid[fieldToValid];
        }
        break;
      case 'textarea' :
        if (nForm.elements[fieldToValid].value == '') {
          msg += "<br>         " + varValid[fieldToValid];
        }
        break;
      case 'password' :
        if (nForm.elements[fieldToValid].value == '') {
          msg += "<br>         " + varValid[fieldToValid];
        }
        break;
      case 'radio' :
        if (nForm.elements[fieldToValid].checked) {
          RdCkOk = true;
          RdMess = "";
        }
        if (RdCkOk == false) {
          RdMess = "<br>         " + varValid[fieldToValid];
        }
        break;
      case 'checkbox' :
	    if (CbCkOk == false) {
          if (nForm.elements[fieldToValid].checked) {
            CbCkOk = true;
            CbMess = "";
          }
          if (CbCkOk == false) {
            CbMess = "<br>         " + varValid[fieldToValid];
          }
		}
    } 	
  }

  if (msg.length != 0||RdMess.length != 0||CbMess.length != 0) {
    msg += RdMess + CbMess; 
    msg = msg + "<br>";
  }
  
  return msg;
} // twValide()

function twCompare_password(nPass1,nPass2) {
  // Ajouter ce code dans la saisie du deuxième mot de passe
  // onChange="twCompare_password(this.form.pass1,this);"
  // Noter que le premier mot de passe doit avoir le nom "pass1"
  if (nPass1.value != nPass2.value) {
    nPass1.value = "";
    nPass2.value = "";
    nPass1.focus();
    alert ("\nVous n'avez pas entré le même mot de passe deux fois.\nVeuillez entrer à nouveau le mot de passe..")
	return false;
  } else return true;
} // twCompare_password

function twValide_char(nChamp,nAccepte) {
  // Ajouter ce code dans la saisie du champs
  //  onBlur="twValide_char(this,'()-0123456789')"
  // Les caractères acceptés peuvent être changés
  var ok = "oui";
  var nChar;
  for (var i=0; i<nChamp.value.length; i++) {
    nChar = "" + nChamp.value.substring(i, i+1);
    if (nAccepte.indexOf(nChar) == "-1") ok = "non";
  }
  if (ok == "non") {
    alert ("\nEntré invalide!\nSeul ces caractères sont valide:\n "+nAccepte)
    nChamp.focus();
    nChamp.select();
  }
} // twValide_char

function twCompteur_Texte(nTexte, nCompteur, nLimite) {
  // Ajouter ce code dans la saisie du champ "textarea"
  // onKeyDown="twCompteur_Texte(this,this.form.compte,2000);"
  // onKeyUp="twCompteur_Texte(this,this.form.compte,2000);"
  // 2000 représente le nombre maximum de caractères accepté
  // Vous devez aussi ajouter une boîte de saisie qui
  // indique le nombre de caractères restant.
  // <input readonly="readonly" type="text" name="compte" value="2000">
  if (nTexte.value.length > nLimite)
    nTexte.value = nTexte.value.substring(0, nLimite);
  else 
    nCompteur.value = nLimite - nTexte.value.length;
} // twCompteur_Texte

function twValide_Email(nChamp) {
  if (nChamp.value != "") {
	if(!nChamp.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi)) {
	  alert ("Adresse email invalide.");
	  nChamp.focus();
	  nChamp.select();
	}
  }
} //twValide_Email

var max_mois  = new Array();
for (n=1;n<12;n++) {
  if (n==4 || n==6 || n==9 || n==11) max_mois[n] = 30; else max_mois[n] = 31;
}

function twValide_date(nChamp) {
  // vérification de base 99/99/9999
  t_date  = nChamp.value.match(/^\d{1,2}\/\d{1,2}\/\d{4}$/);
  t_date2 = nChamp.value.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/);
  // vérification totale
  if (t_date) {
    t_date = t_date && analyse(nChamp.value,1,2,3);
  } else {
    if (t_date2) {
      t_date = t_date2 && analyse(nChamp.value,3,2,1);
      if (t_date) nChamp.value = inverse (nChamp.value);
	}
  }

  if (!t_date) {
    alert ("la date est incorrecte\n");
  }
} // twValide_date

function analyse(quoi,p_jour,p_mois,p_an) {
  var tempo     = new Array();

  tempo = quoi.split('/') 
  jour  = eval(tempo[(p_jour-1)]);
  mois  = eval(tempo[(p_mois-1)]);
  an    = eval(tempo[(p_an-1)]);
  if (bisx(an)) max_mois[2] = 29; else max_mois[2] = 28;
  
  if (mois>12 || mois<1)   { return false; }
  if (jour>max_mois[mois]) { return false; }
  return true;
} // analyse

function bisx(quoi) {
  if ((quoi % 100 == 0) && (quoi % 400 == 0)) return true;
  else if ((quoi % 4) == 0) return true;
  return false;
} // bisx

function inverse(quoi) {
  return quoi.replace(/^(\d{4})\/(\d{1,2})\/(\d{1,2})$/, "$3/$2/$1");
} // inverse

function remplace(expr, quoi, par) {
  var i = 0;
  while (i != -1) {
    i = expr.indexOf(quoi,i);
	if (i >= 0) {
	  expr = expr.substring(0,i) + par + expr.substring(i+quoi.length);
	  i += par.length;
	}
  }
  return expr;
}// remplace
// -->