{div:style=display:none} DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING. THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR{div} {div:id=description}{div}\\ {table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Constants Summary{th}{tr}{tbody}{tr}{td}[Number]{td}{td}[#NUMBER_UNLIMITED] The numeric constant used to identify an unlimited number of repeated events.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_ANNUALY] The numeric constant used to identify an annual period.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_BI_ANNUALLY] The numeric constant used to identify a bi\-annual period (twice every year).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_BI_MONTHLY] The numeric constant used to identify a bi\-monthly period (twice every month).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_DAILY] The numeric constant used to identify a daily period.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_FOUR_MONTHLY] The numeric constant used to identify a four\-monthly period (once every four months).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_FOUR_WEEKLY] The numeric constant used to identify a four\-weekly period (once every four weeks).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_MONTHLY] The numeric constant used to identify a monthly period.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_NONE] The numeric constant used to identify that there is no period.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_QUARTERLY] The numeric constant used to identify a quarterly period (once every three months).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_TWO_MONTHLY] The numeric constant used to identify a two\-monthly period (once every two months).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_TWO_WEEKLY] The numeric constant used to identify a two\-weekly period (once every two weeks).{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERIOD_WEEKLY] The numeric constant used to identify a weekly period.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#STARTDAY_NORMAL] The numeric constant used to identify that the same start day should be used as the day of the month of the starting date of the event.{td}{tr}{tbody}{table}\\ {table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[Boolean]{td}{td}[#addCompoundPeriodChange]\(newPeriod, date) Adds a compound period change.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addLoan]\(amount, date) Adds a loan.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addLoan]\(amount, firstDate, lastDate, period) Adds a loan.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addLoan]\(amount, firstDate, lastDate, period, number) Adds a loan.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addLoan]\(amount, firstDate, lastDate, period, number, startday) Adds a loan.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addPayment]\(amount, date) Adds a payment.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addPayment]\(amount, firstDate, lastDate, period) Adds a payment.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addPayment]\(amount, firstDate, lastDate, period, number) Adds a payment.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addPayment]\(amount, firstDate, lastDate, period, number, startday) Adds a payment.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addRateChange]\(newRate, date) Sets a new interest rate.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#calculateAmortizationSchedule]\() Calculates the amortization schedule.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSet]{td}{td}[#getAmortizationSchedule]\() Gets the amortization schedule as a JSDataSet.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getError]\() Returns the error that remains when solving for the unknown.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSet]{td}{td}[#getEvents]\() Returns all the amortization events \- such as rate changes, loan events, payment events, compounding period changes.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getRestBalance]\() Gets the rest balance after the amortization schedule.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getUnknown]\() Returns the solveForUnknown value.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#isValidPeriod]\(period) Returns true if the period is valid, or false if the period is not valid.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#roundMoney]\(amount) Rounds a number up to the nearest cents.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#solveForUnknown]\() Returns true if successful or false if the call failed.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#sortEvents]\() Sorts the amortization events ascending by date.{td}{tr}{tbody}{table}\\ {table:id=constant|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Constants Details{th}{tr}{tbody:id=NUMBER_UNLIMITED}{tr:id=name}{td}h6.NUMBER_UNLIMITED{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_ANNUALY}{tr:id=name}{td}h6.PERIOD_ANNUALY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_BI_ANNUALLY}{tr:id=name}{td}h6.PERIOD_BI_ANNUALLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_BI_MONTHLY}{tr:id=name}{td}h6.PERIOD_BI_MONTHLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_DAILY}{tr:id=name}{td}h6.PERIOD_DAILY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_FOUR_MONTHLY}{tr:id=name}{td}h6.PERIOD_FOUR_MONTHLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_FOUR_WEEKLY}{tr:id=name}{td}h6.PERIOD_FOUR_WEEKLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_MONTHLY}{tr:id=name}{td}h6.PERIOD_MONTHLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_NONE}{tr:id=name}{td}h6.PERIOD_NONE{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_QUARTERLY}{tr:id=name}{td}h6.PERIOD_QUARTERLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_TWO_MONTHLY}{tr:id=name}{td}h6.PERIOD_TWO_MONTHLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_TWO_WEEKLY}{tr:id=name}{td}h6.PERIOD_TWO_WEEKLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERIOD_WEEKLY}{tr:id=name}{td}h6.PERIOD_WEEKLY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=STARTDAY_NORMAL}{tr:id=name}{td}h6.STARTDAY_NORMAL{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addPayment(500, new Date(2005, 1, 28), null, plugins.amortization.AmortizationCalculation.PERIOD_DAILY, 5, plugins.amortization.AmortizationCalculation.STARTDAY_NORMAL); var c2 = plugins.amortization.newCalculation(); c2.addPayment(300, new Date(2006, 11, 24), new Date(2006, 12, 24), plugins.amortization.AmortizationCalculation.PERIOD_BI_MONTHLY, plugins.amortization.AmortizationCalculation.NUMBER_UNLIMITED, 30); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ {table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=addCompoundPeriodChange-Number_Date}{tr:id=name}{td}h6.addCompoundPeriodChange{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addCompoundPeriodChange{span}{span}\(newPeriod, date){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} newPeriod \{[Date]} date {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addLoan-Number_Date}{tr:id=name}{td}h6.addLoan{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addLoan{span}{span}\(amount, date){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} date {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addLoan-Number_Date_Date_Number}{tr:id=name}{td}h6.addLoan{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addLoan{span}{span}\(amount, firstDate, lastDate, period){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} firstDate \{[Date]} lastDate \{[Number]} period {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addLoan-Number_Date_Date_Number_Number}{tr:id=name}{td}h6.addLoan{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addLoan{span}{span}\(amount, firstDate, lastDate, period, number){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} firstDate \{[Date]} lastDate \{[Number]} period \{[Number]} number {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addLoan-Number_Date_Date_Number_Number_Number}{tr:id=name}{td}h6.addLoan{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addLoan{span}{span}\(amount, firstDate, lastDate, period, number, startday){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} firstDate \{[Date]} lastDate \{[Number]} period \{[Number]} number \{[Number]} startday {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addPayment-Number_Date}{tr:id=name}{td}h6.addPayment{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addPayment{span}{span}\(amount, date){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} date {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addPayment-Number_Date_Date_Number}{tr:id=name}{td}h6.addPayment{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addPayment{span}{span}\(amount, firstDate, lastDate, period){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} firstDate \{[Date]} lastDate \{[Number]} period {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addPayment-Number_Date_Date_Number_Number}{tr:id=name}{td}h6.addPayment{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addPayment{span}{span}\(amount, firstDate, lastDate, period, number){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} firstDate \{[Date]} lastDate \{[Number]} period \{[Number]} number {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addPayment-Number_Date_Date_Number_Number_Number}{tr:id=name}{td}h6.addPayment{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addPayment{span}{span}\(amount, firstDate, lastDate, period, number, startday){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount \{[Date]} firstDate \{[Date]} lastDate \{[Number]} period \{[Number]} number \{[Number]} startday {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addRateChange-Number_Date}{tr:id=name}{td}h6.addRateChange{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}addRateChange{span}{span}\(newRate, date){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} newRate \{[Date]} date {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); c.addRateChange(r, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=calculateAmortizationSchedule}{tr:id=name}{td}h6.calculateAmortizationSchedule{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}calculateAmortizationSchedule{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} plugins.amortization.calculateAmortizationSchedule(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getAmortizationSchedule}{tr:id=name}{td}h6.getAmortizationSchedule{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSDataSet]{span}{span:style=font-weight: bold;}getAmortizationSchedule{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSDataSet]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} plugins.amortization.getAmortizationSchedule(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getError}{tr:id=name}{td}h6.getError{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}getError{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var c = plugins.amortization.newCalculation(); // sets the rate to -1 for unknown. c.addRateChange(-1, new Date(2005, 0, 1)); c.addCompoundPeriodChange(12, new Date(2005, 0, 1)); c.addLoan(2000, new Date(2005, 0, 1)); var lastDate = null; var period = 12; var number_count = 5; var startday = 31; c.addPayment(500, new Date(2005, 1, 28), lastDate, period,number_count, startday); // solves for the interest rate. c.solveForUnknown(); // gets the interest rate and the error in the calculation. // which should be small (otherwise the calculation did // not converge for some reason. var r = c.getUnknown(); var e = c.getError(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getEvents}{tr:id=name}{td}h6.getEvents{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSDataSet]{span}{span:style=font-weight: bold;}getEvents{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSDataSet]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} plugins.amortization.getEvents(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRestBalance}{tr:id=name}{td}h6.getRestBalance{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}getRestBalance{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var rb = plugins.amortization.getRestBalance(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getUnknown}{tr:id=name}{td}h6.getUnknown{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}getUnknown{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} plugins.amortization.getUnknown(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=isValidPeriod-Number}{tr:id=name}{td}h6.isValidPeriod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}isValidPeriod{span}{span}\(period){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} period {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var v_period = plugins.amortization.isValidPeriod(12); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=roundMoney-Number}{tr:id=name}{td}h6.roundMoney{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}roundMoney{span}{span}\(amount){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} amount {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} //rounds the number up to 34.35 var rm = plugins.amortization.roundMoney(34.349384); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=solveForUnknown}{tr:id=name}{td}h6.solveForUnknown{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}solveForUnknown{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} plugins.amortization.solveForUnknown(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sortEvents}{tr:id=name}{td}h6.sortEvents{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}sortEvents{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} plugins.amortization.sortEvents(); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table} |