
<!--
var duree;
var taux;
var montant;
var resultat;
var apres1;
var apres5;
var apres8;
var apres10;
var apres12;
var apres15;


MINTAUX=3;
MAXTAUX=20;
MINCAP=10000;
MAXCAP=50000000;
MINDUR=5;
MAXDUR=30;
MINMENS=300;
MAXMENS=20000;

function verifieTaux (i)
{
        if (IsDecimal(i) == false)
        {
                alert("Saisissez un taux numérique");
                return "";
        }
        if (i<MINTAUX)
        {
                alert("Saisissez un taux supérieur à " + MINTAUX);
                return "";
        }
        if (i>MAXTAUX)
        {
                alert("Saisissez un taux inférieur à " + MAXTAUX);
                return "";
        }
        return i;
}

function verifieMontant (cap)
{
        if (IsNumeric(cap) == false)
        {
                alert("Saisissez un montant numérique");
                return "";
        }
        if (cap < MINCAP)
        {
                alert("Le montant du capital emprunté doit être supérieur à "+MINCAP);
                return "";
       }
        if (cap > MAXCAP)
        {
                alert("Le montant du capital emprunté doit être inférieur à "+MAXCAP);
                return "";
        }
        return cap;
}
function verifieMens (cap)
{
        if (IsNumeric(cap) == false)
        {
                alert("Saisissez un montant numérique");
                return "";
        }
        if (cap < MINMENS)
        {
                alert("Le montant de la mensualité doit être supérieur à "+MINMENS);
                return "";
       }
        if (cap > MAXMENS)
        {
                alert("e montant de la mensualité doit être inférieur à "+MAXMENS);
                return "";
        }
        return cap;
}


function verifieDuree(d) {
        if (IsNumeric(d) == false)
        {
                alert("Saisissez une durée numérique");
                return "";
        }
        if (d < MINDUR){
                alert(" la durée doit être supérieure à " + MINDUR);
                return "";
        }
        if (d > MAXDUR) {
                alert(" la durée doit être inférieure à " + MAXDUR);
                return "";
        }
        return d;
}



function VerifieValeur() {
	duree = document.CALCUL.DUREE.value;
	taux = document.CALCUL.TAUX.value;
	montant = document.CALCUL.MONTANT.value;
	if((verifieDuree(duree) != "" ) && (verifieMontant(montant) != "") && (verifieTaux(taux) != "") )
		return true;
	else
		return false;
}
function VerifieValeur2() {
	duree = document.CALCUL.DUREE2.value;
	taux = document.CALCUL.TAUX2.value;
	montant = document.CALCUL.MONTANT2.value;
	mens = document.CALCUL.MONTANT2.value;
	if((verifieMens(mens) != "" ) && (verifieMontant(montant) != "") && (verifieTaux(taux) != "") )
		return true;
	else
		return false;
}

function Clear() {
  document.CALCUL.DUREE.value = "";
	document.CALCUL.MONTANT.value = "";
	document.CALCUL.TAUX.value = "";
	document.CALCUL.MENSUALITE.value = "";
	document.CALCUL.APRES1.value = "";
	document.CALCUL.APRES5.value = "";
	document.CALCUL.APRES8.value = "";
	document.CALCUL.APRES10.value = "";
	document.CALCUL.APRES12.value = "";
	document.CALCUL.APRES15.value = "";
}

NumChars = "0123456789";
DecChars = "0123456789.,";
function IsNumeric(Data) {
var It = true;
var c;
 for (var x = 0; x < Data.length; x++){
    if (It) {
      c = Data.charAt(x);
      It = ( NumChars.indexOf(c) != -1);
    } 
  }
  return It;
}



function IsDecimal(Data) {
var It = true;
var c;
        for (var x = 0; x < Data.length; x++)
                if (It) {
                        c = Data.charAt(x);
                        It = ( DecChars.indexOf(c) != -1);
                }
                return It;
}

function checkNumber(str)
{
    var str2=""
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if (ch==",") {
                ch="."
                }
        str2=str2+ch;
    }
    return str2;
}

function check(a) 
{
   var pest = 0;
   var b = "";
   for(i=0;i<=a.length;i++)
   {
     var u = a.charAt(i);
     if((u>="0"&&u<="9")||u==".")
     {
       if(u=="."){
         var pest = pest+1;
         if(pest==2)
				   {break;}
			 }
       var b = b + u;
		 }
   }
   return b;
}

function doSum(a){ 
   a.value = check(a.value);
}

function calcRdefine(intrate,compound, freq){
  return Math.pow((1.0 + ((intrate/100)/compound)),(compound/freq))-1.0;
}

function calcBal(mortgage,intrate,compound,freq,payment,term){
  rdefine = calcRdefine(intrate,compound, freq);
  return (mortgage*(Math.pow((1.0 + rdefine),(term)))) -  ((payment * ((Math.pow((1.0 + rdefine),(term))) - 1.0))/rdefine);
}

function roundPen(n){
  if(n > 0){
  pennies = n*100;
  pennies = Math.round(pennies);
  strPennies = "" + pennies;
  len = strPennies.length;
  return strPennies.substring(0, len - 2) + "." + strPennies.substring(len -2, len);
}
else return 0;
}

/* THIS FUNCTION CALCULATES THE MONTHLY MORTGAGE PAYMENT BASED ON THE USER'S INPUT */
function calcPay(MORTGAGE, AMORT, INRATE, COMPOUND, FREQ){
var compound = COMPOUND/12;
var monTime = AMORT * 12;
var RATE = (INRATE*1.0)/100/12;
var yrRate = RATE/COMPOUND;
var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
var PAYMENT = Math.round(100*MORTGAGE*(RATE/(1-(1/Math.pow(1+RATE,monTime)))))/100;
if(FREQ==12){
return PAYMENT;}
}

function calcPay2(MORTGAGE, MENS, INRATE, COMPOUND, FREQ){
var compound = COMPOUND/12;
var RATE = (INRATE*1.0)/100/12;
var yrRate = RATE/COMPOUND;
var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
var PAYMENT = Math.round(Math.log(-1/(((MORTGAGE/MENS)*RATE)-1))/Math.log(1+RATE));
if(FREQ==12){
return PAYMENT;}
}

function calcPay3(AMORT, MENS, INRATE, COMPOUND, FREQ){
var compound = COMPOUND/12;
var monTime = AMORT * 12;
var RATE = (INRATE*1.0)/100/12;
var yrRate = RATE/COMPOUND;
var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
var PAYMENT = Math.round(MENS*((1-(1/Math.pow(1+RATE,monTime)))/RATE));
if(FREQ==12){
return PAYMENT;}
}




/* VALIDATES ALL THE FIELDS AND CALCULATES VALUES TO BE ENTERED INTO THE TEXT BOXES AT THE BOTTOM OF THE PAGE WHEN THE USER CLICKS ON COMPUTE OR COMPUTE AMORTIZATION */
function compute(){
if (!VerifieValeur())
	return false;
freq = 12;
amort = parseFloat(checkNumber(document.CALCUL.DUREE.value));
mortgage = parseFloat(checkNumber(document.CALCUL.MONTANT.value));
intrate = parseFloat(checkNumber(document.CALCUL.TAUX.value));
var payment = calcPay(mortgage, amort, intrate, 12, freq);
document.CALCUL.MENSUALITE.value = roundPen(payment);
return true;
}

function computeduree(){
if (!VerifieValeur())
	return false;
freq = 12;
mens = parseFloat(checkNumber(document.CALCUL2.MENSUALITE2.value));
mortgage = parseFloat(checkNumber(document.CALCUL2.MONTANT2.value));
intrate = parseFloat(checkNumber(document.CALCUL2.TAUX2.value));
var payment = calcPay2(mortgage, mens, intrate, 12, freq);
document.CALCUL2.DUREE2.value = roundPen(payment);
document.CALCUL2.DUREE22.value = roundPen(payment/12) ;
return true;
}

function computemontant(){
if (!VerifieValeur())
	return false;
freq = 12;
amort = parseFloat(checkNumber(document.CALCUL3.DUREE3.value));
mens = parseFloat(checkNumber(document.CALCUL3.MENSUALITE3.value));
intrate = parseFloat(checkNumber(document.CALCUL3.TAUX3.value));
var payment = calcPay3(amort, mens, intrate, 12, freq);
document.CALCUL3.MONTANT3.value = roundPen(payment);

return true;
}


/* OPENS WINDOW USED TO DISPLAY HELP MESSAGES WHEN THE USER CLICKS ON A HELP BUTTON. THE HELP MESSAGE DISPLAYED IS DETERMINED IN THE ARRAY WHICH IS REFERENCED ACCORDING TO THE HELP BUTTON WHICH WAS CLICKED */
function winopen(name)
{
var linkit = "help/"+name;
if(versTest() == true||nineTest()==true){	
qc=window.open(linkit,'helpscreen','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=250,height=180');
if(navigator.appName.substring(0,8) == "Netscape")
{qc.focus();}
}

else{location.href=linkit;}
}

function payBal()
{
if(navigator.appVersion.substring(0,3) == 2.0 &&  navigator.appName.substring(0,8)=="Netscape" && navigator.appVersion.indexOf("Macintosh")>=0){
	setTimeout("compute(document.forms[0])",200);
}
else{compute(document.forms[0]);}
}



function noedit() {
alert('Impossible de modifier le contenu');
}

-->
