function formatDate(chaine) {
  var ctl = /^(\d\d?)\/(\d\d?)\/(\d\d)(\d\d)?$/;
  var tab = ctl.exec(chaine);
  if (tab.length) {
     this.jour = tab[1];
     this.mois = tab[2] - 1;
     if (tab.length > 4) this.an = (tab[4]) ? tab[3] + tab[4] : 2000 + eval(tab[3]);
     else this.an = 2000 + eval(tab[3]);
     this.OK = true;
  }
  else this.OK = false;
}

function nombreJours(autreDate) {
  if (this.OK) {
     var date1 = new Date(this.an, this.mois, this.jour);
     if (autreDate.OK)
        var date2 = new Date(autreDate.an, autreDate.mois, autreDate.jour);
     else return "erreur";
  }
  else return "erreur";
  if (date1.getTime() < date2.getTime())
     return Math.floor((date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24);
  else  
     return Math.floor((date1.getTime() - date2.getTime()) / 1000 / 60 / 60 / 24);
}

formatDate.prototype.nombreJours = nombreJours;

function calcDuree(case1,case2){
  if ((document.resa[case1].value == "") || (document.resa[case2].value == ""))
     document.resa.nuits.value = "";
     
  else {
     d1 = new formatDate(document.resa[case1].value);
     d2 = new formatDate(document.resa[case2].value);
     document.resa.nuits.value = d1.nombreJours(d2);
  }
}