function FObjectifRichesse(form) {

 var ListSeule = new Array(
413000,
433027,
453054,
473081,
493108,
513134,
543092,
573049,
603007,
629177,
655347,
674156,
692966,
711775,
732065,
752355,
770759,
789163,
805856,
822548,
837689,
852830,
866563,
880296,
892753,
905209
);
 var ListCouple = new Array(
338983,
356329,
373675,
391021,
408367,
425713,
448922,
472131,
495340,
515873,
536406,
550728,
565050,
579372,
595145,
610917,
625224,
639530,
652507,
665483,
677253,
689023,
699699,
710374,
720058,
729741
);

	var VAgeRetraite = form.AgeRetraite.value ;
	
	var VStatutMarital = form.StatutMarital.value ;
	
	if ( VAgeRetraite < 40 ) {
	
	alert("L'âge de retraite doit être supérieur a 40");
	VAgeRetraite = 40 ;
	form.AgeRetraite.value = 40 ;
	FAnneeRestante(form);
	}
	
	if ( VAgeRetraite > 65 ) {
	
	alert("L'âge de retraite doit être inférieur à 65");
	VAgeRetraite = 65 ;
	form.AgeRetraite.value = 65 ;
	FAnneeRestante(form);
	
	}

// calcul age

	VAgeRetraite = (VAgeRetraite - 65) * (-1) ;

	if ( VStatutMarital == "Seule" ) {
	
	
	VObjectifRichesse = ListCouple[VAgeRetraite];
	
	}
	
	else
	
	{
	
	VObjectifRichesse = ListSeule[VAgeRetraite];
	
	}

	form.ObjectifRichesse.value = VObjectifRichesse ;
	
}

function FDeuxDecimal(chiffre) {

	ChiffreCorrige = (Math.round(chiffre*100))/100 ;
	
	return ChiffreCorrige ;

}

function FEpargneAnnuel(form) {

	var VEcartProjete = parseInt(form.EcartProjete.value) ;
	var VRendementAnnuel = parseInt(form.RendementAnnuel.value)/100 ;
	var vAnneeRestante = parseInt(form.AnneeRestante.value) ;
	
	VEpargneAnnuel = VEcartProjete / (( Math.pow((1 + VRendementAnnuel), vAnneeRestante) - 1 )/ VRendementAnnuel ) ;
	
	// formule : v/((POWER((1+rendement);travail)-1)/rendement)
	
	form.EpargneAnnuel.value = FDeuxDecimal(VEpargneAnnuel) ;

}

function FEcartProjete(form) {

	var vEcartZ = parseInt(form.EcartZ.value) ;
	var vAnneeRestante = parseInt(form.AnneeRestante.value) ;
	var vTauxInflation = parseInt(form.TauxInflation.value)/100 ;
	
	var VEcartProjete = vEcartZ * Math.pow( (1 + vTauxInflation) ,vAnneeRestante) ;
	
	// formule : Z*(1+i)^n

	form.EcartProjete.value = FDeuxDecimal(VEcartProjete) ;

}



function FEcartZ(form) {

	var vAvoirNet = parseInt(form.AvoirNet.value) ;
	var vObjectifRichesse = parseInt(form.ObjectifRichesse.value) ;
	
	form.EcartZ.value = vObjectifRichesse - vAvoirNet ;

}

function FAvoirNet(form) {

	var V1ValeurREER = parseInt(form.ValeurREER.value) ;
	var V2ValeurPlacement = parseInt(form.ValeurPlacement.value) ;
	var V3ValeurResidence = parseInt(form.ValeurResidence.value) ;
	var V4ValeurChalet = parseInt(form.ValeurChalet.value) ;
	var V5ValeurImmeuble = parseInt(form.ValeurImmeuble.value) ;
	var V6ValeurEntreprise = parseInt(form.ValeurEntreprise.value) ;
	var V7CaisseRetraite = form.CaisseRetraite.value ;
	
	if ( V7CaisseRetraite == "true" ) {
	
	vAvoirNet = ( ( 0.7 * ( V1ValeurREER + V5ValeurImmeuble ) ) + V2ValeurPlacement + V3ValeurResidence + V4ValeurChalet + V6ValeurEntreprise + 50000 ) ;
	
	}
	
	else
	
	{
	
	vAvoirNet = ( ( 0.7 * ( V1ValeurREER + V5ValeurImmeuble ) ) + V2ValeurPlacement + V3ValeurResidence + V4ValeurChalet + V6ValeurEntreprise ) ;	
	
	}
	
	form.AvoirNet.value = FDeuxDecimal(vAvoirNet) ;	

}


function FAnneeRestante(form) {

	var VAgeRetraite = form.AgeRetraite.value ;
	
	
	var VAge = form.Age.value ;
	var TestPositif = form.AgeRetraite.value - form.Age.value ;

	if ( TestPositif < 1 ) {
	
	//alert('Vous avez entré par erreur un age de retraite inférieur ou égale à votre age.');
	//form.Age.focus() ;
	form.AnneeRestante.value = 0;
	
	}
	
	else {
	
	form.AnneeRestante.value = VAgeRetraite - VAge ;
	
	}
	
	
}



function FCalculEpargneAnnuel(form) {

 FAnneeRestante(form);
 FAvoirNet(form);
 FEcartZ(form);
 FEcartProjete(form);
 FEpargneAnnuel(form);
 FObjectifRichesse(form);

}
