

function verifNombre(input, min, max, msg) {
msg = "Le champ " +msg+ " contient des données erronées : " + input.value;
var str = input.value;
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i + 1)
if ((ch < "0" || "9" < ch) && ch != '.') {
alert(msg);
return false;
      }
   }
var num = parseFloat(str)
if (num < min || max < num) {
alert(msg + " doit être compris entre [" + min + " et " + max + "]");
return false;
 }
input.value = str;
return true;
}
function calculerChamp(input) {
if (input.value != null && input.value.length != 0);
input.value = "" + eval(input.value);
calculerForm(input.form);
}
function calculerForm(form) {
if ((form.mPret.value == null || form.mPret.value.length == 0)||
(form.nMois.value == null || form.nMois.value.length == 0) ||
(form.taux.value == null || form.taux.value.length == 0)) {
return;
}
if (!verifNombre(form.mPret, 100, 10000000, "'Montant du prêt'") ||
!verifNombre(form.nMois, 1, 480, "'Nombre de mois'")||
!verifNombre(form.taux, 0.001, 99, "'Taux d'intérêt'")) {
form.mens.value = "calcul impossible";
return;
}
var i = form.taux.value;
if (i > 1.0) {
i = i / 100.0;
form.taux.value = i;
}
i /= 12;
var pow = 1;
for (var j = 0; j < form.nMois.value; j++)
pow = pow * (1 + i);
total = "" + .01* Math.round(100*(form.mPret.value * pow * i) / (pow - 1));
dec = total.indexOf(".");
euros = total.substring(0,dec);
cents = total.substring(dec+1,dec+3);
cents = (cents.length < 2) ? cents + "0" : cents;
total = euros + "." + cents;
form.mens.value = total;
}



function multiplie(form) {
a=eval(form.nAns.value);
rep=a*12
form.repMois.value=rep
}

function totalise(form) {
tot=(eval(form.nMois.value)* eval(form.mens.value));
supertotal= new String(tot);
dec = supertotal.indexOf(".");
euros = supertotal.substring(0,dec);
cents = supertotal.substring(dec+1,dec+3);
cents = (cents.length < 2) ? cents + "0" : cents;
supertotal = euros + "." + cents;
form.montTotal.value=supertotal
}

function effacerForm(form) {
form.mPret.value = "";
form.nMois.value = "";
form.taux.value = "";
form.mens.value ="";
form.nAns.value ="";
form.repMois.value ="";
form.montTotal.value ="";
}


//
