KJE.RepoPersonalInstallCalc=function(){this.DS_NEW=KJE.FloatArray(1);this.cats=new Array(1)};KJE.RepoPersonalInstallCalc.prototype.clear=function(){this.GROSS_PROFIT_ON_ORIGINAL_SALE=0;this.BALANCE_DUE_AT_REPOSSESSION=0;this.FAIR_MARKET_VALUE=0;this.REPOSSESSION_COST=0};KJE.RepoPersonalInstallCalc.prototype.calculate=function(h){var d=KJE;var k=this.GROSS_PROFIT_ON_ORIGINAL_SALE;var f=this.BALANCE_DUE_AT_REPOSSESSION;var e=this.FAIR_MARKET_VALUE;var j=this.REPOSSESSION_COST;var g=d.round((k/100)*f,2);var i=f-g;var c=e-i;var b=c-j;var a=1;if(b<0){a=-1}this.cats[0]="Reportable gain or (loss): "+(a<0?"(":"")+d.dollars(a*b)+(a<0?")":"");this.DS_NEW[0]=((b*a));this.UNREALIZED_PROFIT=g;this.BASIS_OF_UNREALIZED_AMOUNT=i;this.GAIN_LOSS=c;this.REPORTABLE_GAIN_OR_LOSS=b};KJE.RepoPersonalInstallCalc.prototype.formatReport=function(b){var c=KJE;var a=this.iDecimal;var d=b;if(this.REPORTABLE_GAIN_OR_LOSS>0){d=KJE.replace("MSG2_GAIN_OR_LOSS",c.dollars(this.REPORTABLE_GAIN_OR_LOSS,2),d);d=KJE.replace("MSG1_GAIN_OR_LOSS","gain",d)}else{d=KJE.replace("MSG2_GAIN_OR_LOSS",c.dollars(this.REPORTABLE_GAIN_OR_LOSS*(-1),2),d);d=KJE.replace("MSG1_GAIN_OR_LOSS","loss",d)}d=KJE.replace("GROSS_PROFIT_ON_ORIGINAL_SALE",c.percent(this.GROSS_PROFIT_ON_ORIGINAL_SALE/100,2),d);d=KJE.replace("BALANCE_DUE_AT_REPOSSESSION",c.dollars(this.BALANCE_DUE_AT_REPOSSESSION,2),d);d=KJE.replace("UNREALIZED_PROFIT",c.dollars(this.UNREALIZED_PROFIT,2),d);d=KJE.replace("BASIS_OF_UNREALIZED_AMOUNT",c.dollars(this.BASIS_OF_UNREALIZED_AMOUNT,2),d);d=KJE.replace("FAIR_MARKET_VALUE",c.dollars(this.FAIR_MARKET_VALUE,2),d);d=KJE.replace("GAIN_LOSS",c.dollars(this.GAIN_LOSS,2),d);d=KJE.replace("REPOSSESSION_COST",c.dollars(this.REPOSSESSION_COST,2),d);d=KJE.replace("REPORTABLE_GAIN_OR_LOSS",c.dollars(this.REPORTABLE_GAIN_OR_LOSS,2),d);return d};KJE.CalcName="Repossession of Personal Property from an Installment Payment Sale Calculator";KJE.CalcType="RepoPersonalInstall";KJE.CalculatorTitle="Repossession of Personal Property - Installment Sale";KJE.initialize=function(){KJE.CalcControl=new KJE.RepoPersonalInstallCalc();KJE.GuiControl=new KJE.RepoPersonalInstall(KJE.CalcControl)};KJE.RepoPersonalInstall=function(f){var e=KJE;var c=KJE.gLegend;var b=KJE.inputs.items;KJE.PercentSlider("GROSS_PROFIT_ON_ORIGINAL_SALE","Gross Profit on Original Sale",0,100,2,2);KJE.DollarSlider("BALANCE_DUE_AT_REPOSSESSION","Balance Due at Repossession",0,10000000,0,0,2);KJE.DollarSlider("FAIR_MARKET_VALUE","Fair Market Value",0,10000000,0,0,2);KJE.DollarSlider("REPOSSESSION_COST","Repossession Cost",0,10000000,0,0,2);var a=KJE.gNewGraph(KJE.gCATEGORIES,"GRAPH1",true,false,KJE.colorList[1],"Realized Gain");a._legend.setVisible(false);a._legend._iOrientation=(c.TOP_RIGHT);a._axisX.setVisible(false);var d=KJE.parameters.get("MSG_DROPPER_TITLE","Repossession inputs:");KJE.addDropper(new KJE.Dropper("INPUTS",true,d,d),KJE.colorList[0])};KJE.RepoPersonalInstall.prototype.setValues=function(b){var a=KJE.inputs.items;b.GROSS_PROFIT_ON_ORIGINAL_SALE=a.GROSS_PROFIT_ON_ORIGINAL_SALE.getValue();b.BALANCE_DUE_AT_REPOSSESSION=a.BALANCE_DUE_AT_REPOSSESSION.getValue();b.FAIR_MARKET_VALUE=a.FAIR_MARKET_VALUE.getValue();b.REPOSSESSION_COST=a.REPOSSESSION_COST.getValue()};KJE.RepoPersonalInstall.prototype.refresh=function(e){var d=KJE;var c=KJE.gLegend;var b=KJE.inputs.items;var a=KJE.gGraphs[0];a.removeAll();a.setGraphCategories(e.cats);a.add(new KJE.gGraphDataSeries(e.DS_NEW,"Monthly expenses",a.getColor(1)));a.setTitle((e.REPORTABLE_GAIN_OR_LOSS<0?"Reportable Loss "+d.dollars(e.REPORTABLE_GAIN_OR_LOSS*-1):"Reportable Gain "+d.dollars(e.REPORTABLE_GAIN_OR_LOSS)));a.paint()};KJE.InputScreenText="
Gross Profit on Original Sale (%) | GROSS_PROFIT_ON_ORIGINAL_SALE |
---|---|
Balance Due at Repossession | BALANCE_DUE_AT_REPOSSESSION |
Unrealized Profit | UNREALIZED_PROFIT |
Basis of Unrealized Amount | BASIS_OF_UNREALIZED_AMOUNT |
Fair Market Value | FAIR_MARKET_VALUE |
Gain/Loss | GAIN_LOSS |
Repossession Cost | REPOSSESSION_COST |
Reportable Gain or Loss | REPORTABLE_GAIN_OR_LOSS |