
var run="";var loaded=false;var g2_erros="";var valMontant_de_depart;var valDepots_reguliers;var valObjectifs_d_Epargne;var valLimite_d_Epargne;var valTaux_de_rentabilite;var valTaux_d_imposition;var result_saved=0;var result_interest=0;var result_tax=0;var result_term=0;var result_regular=0;var result_deposit=0;var strResults1="";var strResults2="";var deposit_balance="";var deposit_regular="";var deposit_goal="";var interest_rate="";var taxrate_istaxed="";var taxrate_taxrate="";var deposit_term="";var deposit_freq="";var calc_type=0;function selectID(pageFrom,pageTo,helpqty)
{g2_erros="";var strResults1="";var strResults2="";if(ValidatePage(pageFrom))
{eval("document.savings"+pageFrom+".style.visibility='hidden';");eval("document.savings"+pageTo+".style.visibility='visible';");eval("document.savings"+pageFrom+".style.position='absolute';");eval("document.savings"+pageTo+".style.position='static';");if(helpqty>0)
{eval("showall("+pageTo+","+helpqty+")");}
if(pageTo==2)
{if(document.savings1.objectif[0].checked)
{calc_type=10;document.getElementById("objectif_not_30_1").style.display="";document.getElementById("objectif_not_30_2").style.display="";document.getElementById("objectif_10_1").style.display="";document.getElementById("objectif_20_1").style.display="none";}
if(document.savings1.objectif[1].checked)
{calc_type=20;document.getElementById("objectif_not_30_1").style.display="";document.getElementById("objectif_not_30_2").style.display="";document.getElementById("objectif_10_1").style.display="none";document.getElementById("objectif_20_1").style.display="";}
if(document.savings1.objectif[2].checked)
{calc_type=30;document.getElementById("objectif_not_30_1").style.display="none";document.getElementById("objectif_not_30_2").style.display="none";document.getElementById("objectif_10_1").style.display="";document.getElementById("objectif_20_1").style.display="";}
if(document.savings1.objectif[3].checked)
{calc_type=40;document.getElementById("objectif_not_30_1").style.display="";document.getElementById("objectif_not_30_2").style.display="";document.getElementById("objectif_10_1").style.display="none";document.getElementById("objectif_20_1").style.display="none";}}
if(pageTo==4)
{if(document.savings4.Placements_Imposes[0].checked)
{document.getElementById("istaxed_10").style.display="";}
else
{document.getElementById("istaxed_10").style.display="none";}}
if(pageTo==5)
{OutputResults();}
if(pageTo==6)
{OutputSynthesis();}}
else
{alert("Certaines donn\u00E9es sont erron\u00E9es.\nV\u00E9rifiez ces champs: "+g2_erros)}}
function putResult(myResult)
{return numToFloatbis(myResult.toString());}
function OutputSynthesis()
{strResults1="";strResults2="";if(!ValidatePages())
return false;SetWorkingValues();SetTermAndFreq();GetResults();var quest1="";var answ1="";var answer="";var answer_bis="";totalYears=Math.round((result_term/12)-((result_term%12)/12));totalMonths=Math.round(result_term%12);if(totalMonths>0)
{textMonth=" et "+totalMonths+" mois ";}
else
{textMonth="";}
if(calc_type==10)
{answ1=answ1+"Vous allez &eacute;pargner <B>"+numToFloatbis((Math.round(result_saved,2)).toString())+"&nbsp;&euro; "+"</B>avec un montant initial de "+numToFloatbis((Math.round(deposit_balance,2)).toString())+"&nbsp;&euro; "+"et des d&eacute;p\u00F4ts r&eacute;guliers de "+numToFloatbis((Math.round(result_regular,2)).toString())+"&nbsp;&euro; "+termStr+" pendant "+totalYears+" ann&eacute;e(s) et "+totalMonths+" mois .";answer=" Total &eacute;pargn&eacute;";answer_bis=numToFloatbis(result_saved.toString())+"&nbsp;&euro;";}
else if(calc_type==20)
{answ1=answ1+"Il vous faudra <B>"+totalYears+" ann&eacute;e(s) et "+totalMonths+" mois </B> pour &eacute;pargner "+numToFloatbis((Math.round(result_saved,2)).toString())+"&nbsp;&euro;, avec un montant initial de "+numToFloatbis((Math.round(deposit_balance,2)).toString())+"&nbsp;&euro; "+"et des d&eacute;p&ocirc;ts r&eacute;guliers de "+numToFloatbis((Math.round(result_regular,2)).toString())+"&nbsp;&euro; "+termStr+".";answer=" Dur&eacute;e pour atteindre<BR>l'objectif";answer_bis=totalYears+" ann&eacute;e(s) et "+totalMonths+" mois";}
else if(calc_type==30)
{answ1="Vous devez d&eacute;poser <B>"+numToFloatbis((Math.round(result_regular,2)).toString())+"&nbsp;&euro; "+"</B>"+termStr+" pendant "+totalYears+" ann&eacute;e(s) et "+totalMonths+" mois pour &eacute;pargner "+numToFloatbis((Math.round(result_saved,2)).toString())+"&nbsp;&euro;, avec un montant initial de "+numToFloatbis((Math.round(deposit_balance,2)).toString())+"&nbsp;&euro;.";answer="D&eacute;p&ocirc;t annuel";answer_bis=numToFloatbis(result_regular.toString())+"&nbsp;&euro;";}
else if(calc_type==40)
{answ1=answ1+"Il vous faudra <B>"+totalYears+" ann&eacute;e(s) et "+totalMonths+" mois </B> pour &eacute;pargner "+"<br>"+numToFloatbis((Math.round(result_saved,2)).toString())+"&nbsp;&euro;, avec un montant initial de "+numToFloatbis((Math.round(deposit_balance,2)).toString())+"&nbsp;&euro; "+"et des d&eacute;p&ocirc;ts r&eacute;guliers de "+numToFloatbis((Math.round(result_regular,2)).toString())+"&nbsp;&euro; "+termStr+".";answer=" Dur&eacute;e pour &eacute;pargner<BR>1 000 000"+"&nbsp;&euro;";answer_bis=totalYears+" ann&eacute;e(s) et "+totalMonths+" mois";}
strResults="";strResults=strResults+"<p><b><font size='2'>Synth&egrave;se</font></b></p>";strResults=strResults+answ1;strResults=strResults+"<table width='100%' border='0' class=smallprompt>";strResults=strResults+"<tr> <td height='22' colspan='2' class=heading4black> D&eacute;p&ocirc;ts</td><td width='50%'> <div align='right'></div></td></tr>";strResults=strResults+"<tr><td width='20'> </td><td width='50%'>Montant initial</td><td width='50%'>"+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro;</td></tr>";if(calc_type!=30)
{strResults=strResults+"<tr><td width='20'> </td><td width='50%'>D&eacute;p&ocirc;ts r&eacute;guliers</td><td width='50%'>"+numToFloatbis(deposit_regular.toString())+"&nbsp;&euro;</td></tr>";strResults=strResults+"<tr> <td width='20'> </td><td width='50%'>Fr&eacute;quence des d&eacute;p&ocirc;ts</td><td width='50%'>"+termStr+"</td></tr>";}
if((calc_type==20)||(calc_type==30))
{strResults=strResults+"<tr> <td width='20'> <br></td><td width='50%'>Objectifs d'&eacute;pargne</td><td width='50%'>"+numToFloatbis(deposit_goal.toString())+"&nbsp;&euro;</td></tr>     ";}
if((calc_type==10)||(calc_type==30))
{strResults=strResults+"<tr><td width='20'> </td><td width='50%'>Limite d'&eacute;pargne</td><td width='50%'> "+deposit_term.toString()+" ans</td></tr>               ";}
strResults=strResults+"<tr><td valign='top' colspan='2' class=heading4black>Rentabilit&eacute;</td><td valign='top' width='50%'> <div align='right'></div></td></tr>";strResults=strResults+"<tr><td width='20'> </td><td width='50%'>Taux d'int&eacute;r&ecirc;t</td><td width='50%'> "+numToFloatbis((interest_rate*100).toString())+" %</td></tr>";strResults=strResults+"<tr> <td valign='top' colspan='2' class=heading4black>Imp&ocirc;ts</td><td valign='top' width='50%'> <div align='right'></div></td></tr>";strResults=strResults+"<tr><td width='20'></td><td width='50%'>Int&eacute;r&ecirc;ts imposables ?</td><td width='50%'>";if(taxrate_istaxed==10)
{strResults=strResults+"Oui";}else
{strResults=strResults+"Non";}
strResults=strResults+"</td></tr>";if(taxrate_istaxed==10)
{strResults=strResults+"<tr> <td width='20'> </td><td width='50%'>Taux d'imposition marginal</td><td width='50%'> "+numToFloatbis((taxrate_taxrate*100).toString())+" %</td></tr>";}
strResults=strResults+"<tr><td valign='top' colspan='2'></td><td valign='top' width='50%'> <div align='right'></div></td></tr>";strResults=strResults+"<tr><td valign='top' colspan='2' class=heading4black><font size='2'>R&eacute;sultats</font></td><td valign='top' width='50%'> <div align='right'></div></td></tr>";strResults=strResults+"<tr><td height='22' colspan='2' class=heading4black>R&eacute;ponse</td><td width='50%'><div align='right'></div></td></tr>";strResults=strResults+"<tr><td width='20'> <br></td><td width='50%'>"+answer+"</td><td width='50%'> "+answer_bis+"</td></tr>";strResults=strResults+"<tr><td valign='top' colspan='2' class=heading4black>D&eacute;tails</td><td valign='top' width='50%'> <div align='right'></div></td></tr>";strResults=strResults+"<tr><td width='20'> <br></td><td width='50%'>Montant initial</td><td width='50%'> "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro;</td></tr>";strResults=strResults+"<tr><td width='20'> <br></td><td width='50%'>Total des d&eacute;p&ocirc;ts</td><td width='50%'> "+numToFloatbis(result_deposit.toString())+"&nbsp;&euro;</td></tr>";strResults=strResults+"<tr><td width='20'> <br></td><td width='50%'>Total des int&eacute;r&ecirc;ts per\u00E7us</td><td width='50%'>"+numToFloatbis(result_interest.toString())+"&nbsp;&euro;</td></tr>";strResults=strResults+"<tr><td width='20'> <br></td><td width='50%'>Total des imp&ocirc;ts pay&eacute;s</td><td width='50%'><u>"+numToFloatbis(result_tax.toString())+"&nbsp;&euro;</u></td></tr>";strResults=strResults+"<tr><td width='20'> <br></td><td width='50%'>Montant total &eacute;pargn&eacute;</td><td width='50%' class=heading4black>"+numToFloatbis(result_saved.toString())+"&nbsp;&euro;</td></tr>";strResults=strResults+"<tr><td valign='top' colspan='3' class=heading4black><font size='2'>Hypoth&egrave;ses et simplifications</font></td></tr>";strResults=strResults+"<tr><td valign='top' colspan='3' height='20'>Les int&eacute;r&ecirc;ts per\u00E7us sont calcul&eacute;s sur une base mensuelle </td></tr>";strResults=strResults+"</table>";document.getElementById("tdResults").innerHTML=strResults;}
function OutputResults()
{strResults1="";strResults2="";if(!ValidatePages())
return false;SetWorkingValues();SetTermAndFreq();GetResults();document.getElementById("divResults1").innerHTML=strResults1;if(result_saved==0)
{strResults2=strResults2+"L'assistant Epargne n'a pas pu trouver de valeur satisfaisante pour le calcul, veuillez v&eacute;rifier vos param&egrave;tres";}
else
{totalYears=Math.round((result_term/12)-((result_term%12)/12));totalMonths=Math.round(result_term%12);if(totalMonths>0)
{textMonth=" et "+totalMonths+" mois ";}
else
{textMonth="";}
if(taxrate_istaxed==10)
{if(calc_type==10)
{strResults2=strResults2+"Avec un montant initial de"+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro; et des d&eacute;p&ocirc;ts de <br>"+numToFloatbis(result_regular.toString())+"&nbsp;&euro; "+termStr+" pendant "+totalYears+" ans et "+totalMonths+" mois "+textMonth+" (avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %, et impos&eacute;e au taux marginal annuel de "+numToFloatbis((taxrate_taxrate*100).toString())+" %),<br><b>le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.</b></b>";}
if(calc_type==20)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro;  et des d&eacute;p&ocirc;ts de <br>"+numToFloatbis(result_regular.toString())+"&nbsp;&euro; "+termStr+"<b>  pendant "+totalYears+" ans et "+totalMonths+" mois </b>(avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %, et impos&eacute;e au taux marginal annuel de "+numToFloatbis((taxrate_taxrate*100).toString())+" %),<br>le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.";}
if(calc_type==30)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro;  et <b>des d&eacute;p&ocirc;ts de <br>"+numToFloatbis(result_regular.toString())+"&nbsp;&euro;</b> "+termStr+"  pendant "+totalYears+" ans et "+totalMonths+" mois (avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %, et impos&eacute;e au taux marginal annuel de "+numToFloatbis((taxrate_taxrate*100).toString())+" %),<br>le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.";}
if(calc_type==40)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro;  et des d&eacute;p&ocirc;ts de <br>"+numToFloatbis(result_regular.toString())+"&nbsp;&euro; "+termStr+"<b>  pendant "+totalYears+" ans et "+totalMonths+" mois </b>(avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %, et impos&eacute;e au taux marginal annuel de "+numToFloatbis((taxrate_taxrate*100).toString())+" %),<br>le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.";}}
else
{if(calc_type==10)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro; et des d&eacute;p&ocirc;ts de "+numToFloatbis(result_regular.toString())+"&nbsp;&euro; "+termStr+" pendant "+totalYears+" ans et "+totalMonths+" mois <br>"+textMonth+"(avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %),<b>le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;</b>.";}
if(calc_type==20)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro; et des d&eacute;p&ocirc;ts de "+numToFloatbis(result_regular.toString())+"&nbsp;&euro; "+termStr+"<b> pendant "+totalYears+" ans et "+totalMonths+" mois </b><br>"+textMonth+"(avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %), le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.";}
if(calc_type==30)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro; et<b>des d&eacute;p&ocirc;ts de "+numToFloatbis(result_regular.toString())+"&nbsp;&euro;</b> "+termStr+" pendant "+totalYears+" ans et "+totalMonths+" mois <br>"+textMonth+"(avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %), le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.";}
if(calc_type==40)
{strResults2=strResults2+"Avec un montant initial de "+numToFloatbis(deposit_balance.toString())+"&nbsp;&euro; et des d&eacute;p&ocirc;ts de "+numToFloatbis(result_regular.toString())+"&nbsp;&euro; "+termStr+"<b> pendant "+totalYears+" ans et "+totalMonths+" mois </b><br>"+textMonth+"(avec une rentabilit&eacute; de <br>"+numToFloatbis((interest_rate*100).toString())+" %), le montant de votre &eacute;pargne sera de "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;.";}}}
document.getElementById("divResults2").innerHTML=strResults2;document.getElementById("deposit_balance").innerHTML=numToFloatbis(deposit_balance.toString())+"&nbsp;&euro;";document.getElementById("result_deposit").innerHTML=numToFloatbis(result_deposit.toString())+"&nbsp;&euro;";document.getElementById("result_interest").innerHTML=numToFloatbis(result_interest.toString())+"&nbsp;&euro;";document.getElementById("result_tax").innerHTML=numToFloatbis(result_tax.toString())+"&nbsp;&euro;";if(calc_type==10)
{document.getElementById("result_saved_row").style.display="";}
else
{document.getElementById("result_saved_row").style.display="none";}
document.getElementById("result_saved_col").innerHTML="<b>"+numToFloatbis(result_saved.toString())+"&nbsp;&euro;</b>";}
function ValidatePages()
{if(!ValidatePage(1))
{return false;}
if(!ValidatePage(2))
{return false;}
if(!ValidatePage(3))
{return false;}
if(!ValidatePage(4))
{return false;}
return true;}
function SetWorkingValues()
{deposit_balance=valMontant_de_depart;deposit_regular=valDepots_reguliers;deposit_goal=valObjectifs_d_Epargne;interest_rate=valTaux_de_rentabilite/100;if(document.savings4.Placements_Imposes[0].checked)
taxrate_istaxed=document.savings4.Placements_Imposes[0].value;else
taxrate_istaxed=document.savings4.Placements_Imposes[1].value;taxrate_taxrate=document.savings4.Taux_d_imposition.value/100;}
function SetTermAndFreq()
{deposit_term=document.savings2.Limite_d_Epargne.value;deposit_freq=document.savings2.Type_de_depot.value;if(document.savings2.Type_de_depot[0].checked)
{termStr="annuels";deposit_freq=10;}
else if(document.savings2.Type_de_depot[1].checked)
{termStr="trimestriels";deposit_freq=20;}
else if(document.savings2.Type_de_depot[2].checked)
{termStr="mensuels";deposit_freq=30;}}
function GetResults()
{if(calc_type==10)
{getResultSet1();strResults1=strResults1+"<b>Le montant de votre &eacute;pargne est : "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;</b>";}
else if(calc_type==20)
{getResultSet2(deposit_goal);strResults1=strResults1+"Le montant de votre &eacute;pargne est : "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;";}
else if(calc_type==30)
{getResultSet3();strResults1=strResults1+"<b>Le d&eacute;p&ocirc;t annuel est : "+numToFloatbis(result_regular.toString())+"&nbsp;&euro;</b>";}
else if(calc_type==40)
{getResultSet2(1000000);strResults1=strResults1+"Le montant de votre &eacute;pargne est : "+numToFloatbis(result_saved.toString())+"&nbsp;&euro;";}}
function getResultSet1()
{var numYear,prevBal,totalTax,totalInterest,yearlyRet,yearlyDep;prevBal=deposit_balance;totalTax=0;totalInterest=0;numYear=deposit_term;if(deposit_freq==10)
{result_deposit=deposit_regular*numYear}
else if(deposit_freq==20)
{result_deposit=deposit_regular*numYear*4}
else if(deposit_freq==30)
{result_deposit=deposit_regular*numYear*12}
result_deposit=Math.round(result_deposit);for(var i=0;i<=numYear-1;i++)
{if(deposit_freq==10)
{yearlyRet=annualDeposit(prevBal,interest_rate);yearlyDep=deposit_regular;}
else if(deposit_freq==20)
{yearlyRet=quarterDeposit(prevBal,interest_rate,deposit_regular);yearlyDep=deposit_regular*4;}
else if(deposit_freq==30)
{yearlyRet=monthDeposit(prevBal,interest_rate,deposit_regular);yearlyDep=deposit_regular*12;}
totalInterest=totalInterest+yearlyRet;if(taxrate_istaxed==10)
{totalTax=totalTax+yearlyRet*taxrate_taxrate;prevBal=prevBal+yearlyRet*(1-taxrate_taxrate);}
else
{prevBal=prevBal+yearlyRet;}
prevBal=prevBal+yearlyDep;}
result_saved=(prevBal);result_interest=Math.round(totalInterest);result_tax=Math.round(totalTax);result_term=deposit_term*12;result_regular=deposit_regular;}
function getResultSet2(goal)
{var numMonth,numYear,numQuarter,prevBal,totalTax,totalInterest,monthlyRet,monthlyDep,cumMonthlyRet;cumMonthlyRet=0;prevBal=deposit_balance;totalTax=0;totalInterest=0;numMonth=0;cumMonthlyRet=0;while((prevBal<goal)&&(numMonth<=1200))
{num_un=numMonth%12;num_deux=numMonth%3;monthlyRet=prevBal*(interest_rate/12);if
(((deposit_freq==10)&&(num_un==0)&&(numMonth>0))||((deposit_freq==20)&&(num_deux==0)&&(numMonth>0))||((deposit_freq==30)&&(numMonth>0)))
{monthlyDep=deposit_regular;}
else
{monthlyDep=0;}
cumMonthlyRet=cumMonthlyRet+monthlyRet;totalInterest=totalInterest+monthlyRet;if((taxrate_istaxed==10)&&(num_un==0)&&(numMonth>0))
{totalTax=totalTax+cumMonthlyRet*taxrate_taxrate;prevBal=(prevBal+monthlyDep)-cumMonthlyRet*taxrate_taxrate;cumMonthlyRet=0;}
else
{prevBal=(prevBal+monthlyDep)+monthlyRet;}
numMonth=numMonth+1;}
if(numMonth<1200)
{result_saved=Math.round(prevBal);result_interest=Math.round(totalInterest);result_tax=Math.round(totalTax);result_term=numMonth;result_regular=deposit_regular;}
else
{result_saved=0;result_interest=0;result_tax=0;result_term=0;result_regular=0;}
numYear=Math.round((result_term/12)-(result_term%12)/12);numQuarter=Math.round((result_term/3)-(result_term%3)/3);if(deposit_freq==10)
{result_deposit=deposit_regular*numYear;}
else if(deposit_freq==20)
{result_deposit=deposit_regular*numQuarter;}
else if(deposit_freq==30)
{result_deposit=deposit_regular*numMonth;}
result_deposit=Math.round(result_deposit);}
function getResultSet3()
{var monthlyInt,b0,bn,i,regular,totalInterest,yearlyRet,prevBal,totalTax;montlhyInt=interest_rate/12;b0=1+montlhyInt;b0=Math.pow(b0,12);if(taxrate_istaxed==10)
{b0=taxrate_taxrate+b0*(1-taxrate_taxrate);}
bn=b0;if(montlhyInt!=0)
{bn=(1-(Math.pow(b0,deposit_term)))/(1-b0);if(bn==0)
{bn=1;}}
else
{bn=deposit_term;}
if(bn!=0)
{regular=(deposit_goal-deposit_balance*(Math.pow(b0,deposit_term)))/bn;}
else
{regular=0;}
prevBal=deposit_balance;totalInterest=0;totalTax=0;for(var i=0;i<=deposit_term-1;i++)
{yearlyRet=annualDeposit(prevBal,interest_rate);totalInterest=totalInterest+yearlyRet;if(taxrate_istaxed==10)
{totalTax=totalTax+yearlyRet*taxrate_taxrate;prevBal=(prevBal+regular)+yearlyRet*(1-taxrate_taxrate);}
else
{prevBal=(prevBal+regular)+yearlyRet;}}
deposit_freq=0;if(regular<0)
{result_regular=0;}
else
{result_regular=Math.round(regular);}
result_saved=Math.round(deposit_goal);result_term=deposit_term*12;result_deposit=result_regular*deposit_term;result_interest=Math.round(totalInterest);result_tax=Math.round(totalTax);}
function annualDeposit(balance,interest)
{numMon=12;retBal=balance;monthlyInt=interest/numMon;while(numMon>0)
{retBal=retBal*(1+monthlyInt);numMon=numMon-1;}
retBal=retBal-balance;return retBal;}
function quarterDeposit(balance,interest,amount)
{retBal=balance;monthlyInt=interest/12;var i=0;while(i<4)
{j=0;while(j<3)
{retBal=retBal*(1+monthlyInt);j=j+1;}
i=i+1;retBal=retBal+amount;}
return(retBal-(balance+amount*4));}
function monthDeposit(balance,interest,amount)
{retBal=balance;monthlyInt=interest/12;var i=0;while(i<12)
{retBal=retBal*(1+monthlyInt);retBal=retBal+amount;i=i+1;}
retBal=retBal-(balance+amount*12);return retBal;}
function _numToUnits(n,units_prefix,decimal_places,units_suffix)
{if(isOverflow(n))return'<i>numeric overflow</i>'
var isNegative=(n<0)?true:false
var s=''
var d=strToInt(decimal_places)
var x=Math.abs(Math.round(n*Math.pow(10,decimal_places)))
if(x==0)
{var defaultStr='0'
if(d>0)
{defaultStr+=','
for(var i=0;i<d;i++)defaultStr+='0'}
defaultStr=units_prefix+defaultStr+units_suffix
return defaultStr}
if(d==0)
{var tmp=''+x
s=addCommas(tmp)}
else
{var leftTmp=''+x
var rightTmp=''+x
var len=leftTmp.length
for(var i=0;i<d+1-len;i++)
{leftTmp='0'+leftTmp
rightTmp='0'+rightTmp}
len=leftTmp.length
var decimalSplit=len-d
var leftStr=addCommas(leftTmp.substring(0,decimalSplit))
var rightStr=rightTmp.substring(decimalSplit,len)
s=leftStr+','+rightStr}
s=units_prefix+s+units_suffix
if(isNegative)s='-'+s
return s}
function numToFloatbis(n)
{n=n.replace(/ /g,"");if(n.length>0)
{return _numToUnits(n,"",2,"")}}
function addError(name)
{g2_erros=g2_erros+"\n"+name;}
function ValidatePage(tmp_current)
{if(tmp_current==2)
{if(!checkInput(2,"Montant_de_depart","N0M"))
{addError("Montant de d\u00E9part");}
if(!checkInput(2,"Depots_reguliers","N0M"))
{addError("D\u00E9p\u00F4ts r\u00E9guliers");}
if(!checkInput(2,"Objectifs_d_Epargne","N0"))
{addError("Objectifs d'\u00E9pargne");}
if(!checkInput(2,"Limite_d_Epargne","N0L"))
{addError("Limite d'\u00E9pargne");}
if(document.savings1.objectif[0].checked)
{calc_type=10;}
if(document.savings1.objectif[1].checked)
{calc_type=20;}
if(document.savings1.objectif[2].checked)
{calc_type=30;}
if(document.savings1.objectif[3].checked)
{calc_type=40;}}
if(tmp_current==3)
{if(!checkInput(3,"Taux_de_rentabilite","P"))
{addError("Rentabilit\u00E9");}}
if(tmp_current==4)
{if(!checkInput(4,"Taux_d_imposition","P"))
{addError("Taux d'imposition marginal");}}
if(g2_erros!="")
return false;return true;}
function monav(idname,pic)
{if(document.images&&loaded)
{document.images[idname].src=pic;}}
var curhelp="";function showhelp(formno,qty,helpid)
{if(loaded)
{helpid="help"+formno+"-"+helpid;if(curhelp=="")
{for(n=1;n<=qty;n++){document.getElementById("help"+formno+"-"+n).style.display="none";}}
else
{document.getElementById(curhelp).style.display="none";}
if(document.getElementById(helpid))
{document.getElementById(helpid).style.display="";curhelp=helpid;document.getElementById("showall"+formno).style.display="";}}}
function showall(formno,qty)
{for(n=1;n<=qty;n++){document.getElementById("help"+formno+"-"+n).style.display="";}
window.focus();curhelp="";document.getElementById("showall"+formno).style.display="none";}
function checkInput(formno,myInput,myType)
{var str,arg;var myInputName=myInput;var str=eval("document.savings"+formno+"."+myInput+".value");if(str!="")
{arg=str;arg=arg.replace(/ /g,"");myInput=arg;myInput=myInput.replace(/,/g,".");if(IsNumeric(arg))
{switch(myType)
{case"N0M":if((parseFloat(myInput)>=0)&&(parseFloat(myInput)<=10000000000))
{eval("val"+myInputName+"="+parseFloat(myInput));return true;}
else
{return false;}
break;case"N0":if(parseFloat(myInput)>=0)
{eval("val"+myInputName+"="+parseFloat(myInput));return true;}
else
{return false;}
break;case"N0L":if(myInput.indexOf(".")==-1)
{if((parseFloat(myInput)>=0)&&(parseFloat(myInput)<=10000000000))
{eval("val"+myInputName+"="+parseFloat(myInput));return true;}
else
{return false;}}
else
{return false;}
break;case"P":if((parseFloat(myInput)>0)&&(parseFloat(myInput)<=100))
{eval("val"+myInputName+"="+parseFloat(myInput));return true;}
else
{return false;}
break;}}
else
{return false;}}
else
{return false;}}
function IsNumeric(sText)
{var ValidChars="0123456789.,";var IsNumber=true;var Char;for(i=0;i<sText.length&&IsNumber==true;i++)
{Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1)
{IsNumber=false;}}
return IsNumber;}
function start()
{loaded=true;if(run!=''){setTimeout(run,0);}}
start();