
<!--
//-------------------------------------------
// Generic functions
//-------------------------------------------

//-------------------------------------------
// Make an Array Object
// Javascript "Array" object not used for Netscape 2 compatibility
function fnMakeArray (nElements) {
this.length = nElements;
}

//-------------------------------------------
// Convert String to Integer
function fnStrToInt (sString) {
var sInt = "";
for (i=0; i<=sString.length; i++)
  { 
  if (sString.charAt(i) == ".") break;
  var cChar = sString.charAt(i);
  if ("-0123456789".indexOf(cChar) != -1) sInt += cChar;
  }
if (sInt == "")
  return(0)
else
  return (parseInt(sInt, 10));
}
//-------------------------------------------
// Convert Integer to dollars 
function fnIntToDollars (nInt) {
var neg_switch = 0;
if (nInt < 0)
  {
  nInt = 0 - nInt;
  neg_switch = 1;
  }
var sString="" + nInt;
var sDollars="";
var i=0; var j = 0;
for (i=sString.length - 1; i>=0; --i)
  {
  sDollars = sString.charAt(i) + sDollars; j++;
  if ((j % 3 == 0) && (i > 0))
  sDollars = "," + sDollars;
  }
sDollars = "$" + sDollars;
if (neg_switch == 1)
  {
  sDollars = "-" + sDollars;
  }
return sDollars;
}

//-------------------------------------------
// Page Specific functions
//-------------------------------------------

function fnOSBud(form) {

var OSB_Inc_Annual
  = fnStrToInt(form.OSB_Inc_Student.value)
  + fnStrToInt(form.OSB_Inc_Spouse.value)
  + fnStrToInt(form.OSB_Inc_Other.value);

form.OSB_Inc_Annual_1.value
  = fnIntToDollars(OSB_Inc_Annual);

var OSB_Inc_Monthly
  = Math.round(
    OSB_Inc_Annual
  / 12.);

form.OSB_Inc_Monthly_1.value
  = fnIntToDollars(OSB_Inc_Monthly);

form.OSB_Mth_Exp_Non_Disc_1.value
  = fnIntToDollars(OSB_Mth_Exp_Non_Disc);

var OSB_Mth_Exp_Non_Disc
  = fnStrToInt(form.OSB_Taxes.value)
  + fnStrToInt(form.OSB_Employment.value)
  + fnStrToInt(form.OSB_Pay_Student.value)
  + fnStrToInt(form.OSB_Pay_Spouse.value);

form.OSB_Mth_Exp_Non_Disc_1.value
  = fnIntToDollars(OSB_Mth_Exp_Non_Disc);

// Calculate Monthly/Annual Expense SubTotals

var OSB_Tot_Monthly
  = fnStrToInt(form.OSB_Rent.value)
  + fnStrToInt(form.OSB_Elec.value)
  + fnStrToInt(form.OSB_Tel.value)
  + fnStrToInt(form.OSB_Cable.value)
  + fnStrToInt(form.OSB_Util_Other.value)
  + fnStrToInt(form.OSB_Groc.value)
  + fnStrToInt(form.OSB_Din.value)
  + fnStrToInt(form.OSB_Trans_Public.value)
  + fnStrToInt(form.OSB_Trans_Car_Pmt.value)
  + fnStrToInt(form.OSB_Trans_Car_Maint.value)
  + fnStrToInt(form.OSB_Trans_Car_Gas.value)
  + fnStrToInt(form.OSB_Trans_Car_Park.value)
  + fnStrToInt(form.OSB_Trans_Other.value)
  + fnStrToInt(form.OSB_Ins_Auto.value)
  + fnStrToInt(form.OSB_Ins_Med.value)
  + fnStrToInt(form.OSB_Ins_Home.value)
  + fnStrToInt(form.OSB_Ins_Oth.value)
  + fnStrToInt(form.OSB_Clothing.value)
  + fnStrToInt(form.OSB_Personal.value)
  + fnStrToInt(form.OSB_Rec.value)
  + fnStrToInt(form.OSB_Sub.value)
  + fnStrToInt(form.OSB_Hshld.value)
  + fnStrToInt(form.OSB_Gifts.value)
  + fnStrToInt(form.OSB_CC_Pmt.value)
  + fnStrToInt(form.OSB_Oth_Loan.value)
  + fnStrToInt(form.OSB_Dep_Care.value)
  + fnStrToInt(form.OSB_Interview.value)
  + fnStrToInt(form.OSB_Other.value);

form.OSB_Tot_Monthly_1.value
  = fnIntToDollars(OSB_Tot_Monthly);

}

function fnOSBudTotal(form) {

var OSB_Inc_Annual
  = fnStrToInt(form.OSB_Inc_Student.value)
  + fnStrToInt(form.OSB_Inc_Spouse.value)
  + fnStrToInt(form.OSB_Inc_Other.value);

form.OSB_Inc_Annual_1.value
  = fnIntToDollars(OSB_Inc_Annual);
form.OSB_Inc_Annual_2.value
  = fnIntToDollars(OSB_Inc_Annual);

var OSB_Inc_Monthly
  = Math.round(
    OSB_Inc_Annual
  / 12.);

form.OSB_Inc_Monthly_1.value
  = fnIntToDollars(OSB_Inc_Monthly);
form.OSB_Inc_Monthly_3.value
  = fnIntToDollars(OSB_Inc_Monthly);

form.OSB_Mth_Exp_Non_Disc_1.value
  = fnIntToDollars(OSB_Mth_Exp_Non_Disc);

var OSB_Mth_Exp_Non_Disc
  = fnStrToInt(form.OSB_Taxes.value)
  + fnStrToInt(form.OSB_Employment.value)
  + fnStrToInt(form.OSB_Pay_Student.value)
  + fnStrToInt(form.OSB_Pay_Spouse.value);

form.OSB_Mth_Exp_Non_Disc_1.value
  = fnIntToDollars(OSB_Mth_Exp_Non_Disc);
form.OSB_Mth_Exp_Non_Disc_3.value
  = fnIntToDollars(OSB_Mth_Exp_Non_Disc);

var OSB_Ann_Exp_Non_Disc
  = OSB_Mth_Exp_Non_Disc
  * 12;
form.OSB_Ann_Exp_Non_Disc_1.value
  = fnIntToDollars(OSB_Ann_Exp_Non_Disc);

// Calculate Monthly/Annual Expense SubTotals

var OSB_Tot_Monthly
  = fnStrToInt(form.OSB_Rent.value)
  + fnStrToInt(form.OSB_Elec.value)
  + fnStrToInt(form.OSB_Tel.value)
  + fnStrToInt(form.OSB_Cable.value)
  + fnStrToInt(form.OSB_Util_Other.value)
  + fnStrToInt(form.OSB_Groc.value)
  + fnStrToInt(form.OSB_Din.value)
  + fnStrToInt(form.OSB_Trans_Public.value)
  + fnStrToInt(form.OSB_Trans_Car_Pmt.value)
  + fnStrToInt(form.OSB_Trans_Car_Maint.value)
  + fnStrToInt(form.OSB_Trans_Car_Gas.value)
  + fnStrToInt(form.OSB_Trans_Car_Park.value)
  + fnStrToInt(form.OSB_Trans_Other.value)
  + fnStrToInt(form.OSB_Ins_Auto.value)
  + fnStrToInt(form.OSB_Ins_Med.value)
  + fnStrToInt(form.OSB_Ins_Home.value)
  + fnStrToInt(form.OSB_Ins_Oth.value)
  + fnStrToInt(form.OSB_Clothing.value)
  + fnStrToInt(form.OSB_Personal.value)
  + fnStrToInt(form.OSB_Rec.value)
  + fnStrToInt(form.OSB_Sub.value)
  + fnStrToInt(form.OSB_Hshld.value)
  + fnStrToInt(form.OSB_Gifts.value)
  + fnStrToInt(form.OSB_CC_Pmt.value)
  + fnStrToInt(form.OSB_Oth_Loan.value)
  + fnStrToInt(form.OSB_Dep_Care.value)
  + fnStrToInt(form.OSB_Interview.value)
  + fnStrToInt(form.OSB_Other.value);

form.OSB_Tot_Monthly_1.value
  = fnIntToDollars(OSB_Tot_Monthly);
form.OSB_Tot_Monthly_2.value
  = fnIntToDollars(OSB_Tot_Monthly);

var OSB_Tot_Annual
  = OSB_Tot_Monthly
  * 12;

form.OSB_Tot_Annual_1.value
  = fnIntToDollars(OSB_Tot_Annual);

var OSB_Mth_Inc_Avail
  = OSB_Inc_Monthly
  - OSB_Mth_Exp_Non_Disc
  - OSB_Tot_Monthly;
form.OSB_Mth_Inc_Avail.value
  = fnIntToDollars(OSB_Mth_Inc_Avail);

var OSB_Ann_Inc_Avail
  = OSB_Inc_Annual
  - OSB_Ann_Exp_Non_Disc
  - OSB_Tot_Annual;
form.OSB_Ann_Inc_Avail.value
  = fnIntToDollars(OSB_Ann_Inc_Avail);

var OSB_AInc_After_Tax
  = Math.round(
    OSB_Inc_Annual
  * .6666667);

form.OSB_AInc_After_Tax.value
  = fnIntToDollars(OSB_AInc_After_Tax);
  
var OSB_MInc_After_Tax
  = Math.round(
    OSB_AInc_After_Tax
  / 12.);

form.OSB_MInc_After_Tax.value
  = fnIntToDollars(OSB_MInc_After_Tax);
  
var OSB_Mth_Loan_Pay
  = fnStrToInt(form.OSB_Pay_Student.value)
  + fnStrToInt(form.OSB_Pay_Spouse.value);
form.OSB_Mth_Loan_Pay.value
  = fnIntToDollars(OSB_Mth_Loan_Pay);
  
var OSB_Tot_Loan_Pay
  = OSB_Mth_Loan_Pay
  * 12;
form.OSB_Tot_Loan_Pay.value
  = fnIntToDollars(OSB_Tot_Loan_Pay);
  
if (OSB_MInc_After_Tax > 0)
  {
  var OSB_IDR
    = Math.round(
      OSB_Mth_Loan_Pay
    / OSB_MInc_After_Tax
    * 100);
  form.OSB_IDR.value
    = OSB_IDR+"%";
  }
else
  {
  form.OSB_IDR.value
    = "";
  }
}


//-->
