<!--

/* calculateur de paiement hypothécaire */

var Fenetre = null;

function OuvreFenetre(url,WIDTH,HEIGHT) 	
{
	  Fenetre = window.open("", "Calc","scrollbars=0,toolbar=0,menubar=0,width="+WIDTH+",height="+HEIGHT+",resizable=0,status=0,scrolling=no");
	  Fenetre.location.href = url;
}

var LaDuree1    = 0.0;
var LeCapital  = 0.0;
var LeTaux    = 0.0;
var LePaiement = 0.0;
var frequence = 0; 

function FormatValue(value)
{
	var result;

 	if ( 2 == 0 )
	{
   		result = Math.floor(value);
    }
   	else
    {
   		result = Math.floor(value) + ".";
   	    var cents = Math.pow( 10, 2) * (value - Math.floor(value))+0.5;
   		if ( cents != 0 )
    	{
    		result += Math.floor(cents/10);
	    	result += Math.floor(cents%10);
    	}
   	}
  	return result;
}

function Capital()
{
	var A;
  	var pv;
	
 	pv = TauxReel( LeTaux);
  	A = LePaiement * (1.00 - Math.pow((1 + pv),0.00-LaDuree1)) / pv;
	
 	return (A);
}
 
function TauxReel( fTaux )
{
	var pv;
	
  	pv = Math.pow( Math.pow( (1.00 + fTaux / 2), 2), (1.00/frequence) ) - 1; 
	
  	return( pv );
}
  
function CPaiement()
{
	var A;
  	var pv;
	
  	pv = TauxReel( LeTaux);
  	A = LeCapital * pv / (1.00 - Math.pow((1 + pv),0.00-LaDuree1));
	
  	return (A);
}

function Duree()
{
  	var A;
  	var pv;
	
  	pv = TauxReel( LeTaux);
  	A = Math.log (LePaiement/(LePaiement - LeCapital * pv)) / Math.log (1 + pv);
	
  	return (A);
}

function Compute(form,freq) 
{
	var nNbData = 4;
	frequence = freq;

	LeCapital = form.Montant.value;
  	LaDuree1 = form.Duree.value;
  	LaDuree1 *= frequence;
  	LePaiement = 0.00;
  	LeTaux= form.Taux.value;
  	LeTaux/= 100.0;
  
  	if ( LeCapital == 0.00 )
   	{
   		nNbData--;
   	}
	
  	if ( LaDuree1 == 0 )
   	{
   		nNbData--;
   	}
	
  	if ( LePaiement == 0.00 )
   	{
   		nNbData--;
   	}
	
  	if ( LeTaux== 0.00 )
   	{
   		nNbData = 0;
   	}
	
  	if ( nNbData < 3 )
   	{
	   	/*  message si il manque des données*/
   		alert( 'Vous devez spécifier les valeurs suivantes: Montant, Taux, Durée.');
   		return;
   	}
	
  	if ( LeCapital == 0.00 )
   	{
   		LeCapital = Capital();
   	}
   	else if ( LaDuree1 == 0 )
    {
    	LaDuree1 = Duree();
    }
    else
    {
    	LePaiement = CPaiement();
    }
	
   	form.Duree2.value = FormatValue(LaDuree1/frequence, 0);
   	form.Paiement2.value = FormatValue(LePaiement, 1);
   	form.Cap.value = FormatValue(((LePaiement * LaDuree1)- form.Montant.value), 2);
  
  	return false;
   	document.close();       
}
//-->