


/*
Poverty Line Data From HHS used for IBR Calculator
Array Index 1-8 holds the number of children for the state
Array Index 0 holds the amount to add per child after 8
*/


var ArrContStatePovLine2009 =new Array();
ArrContStatePovLine2009[0]="3740";
ArrContStatePovLine2009[1]="10830";
ArrContStatePovLine2009[2]="14570";
ArrContStatePovLine2009[3]="18310";
ArrContStatePovLine2009[4]="22050";
ArrContStatePovLine2009[5]="25790";
ArrContStatePovLine2009[6]="29530";
ArrContStatePovLine2009[7]="33270";
ArrContStatePovLine2009[8]="37010";


var ArrAkPovLine2009 =new Array();
ArrAkPovLine2009[0]="4680";
ArrAkPovLine2009[1]="13530";
ArrAkPovLine2009[2]="18210";
ArrAkPovLine2009[3]="22890";
ArrAkPovLine2009[4]="27570";
ArrAkPovLine2009[5]="32250";
ArrAkPovLine2009[6]="36930";
ArrAkPovLine2009[7]="41610";
ArrAkPovLine2009[8]="46290";


var ArrHiPovLine2009 =new Array();
ArrHiPovLine2009[0]="4300";
ArrHiPovLine2009[1]="12460";
ArrHiPovLine2009[2]="16760";
ArrHiPovLine2009[3]="21060";
ArrHiPovLine2009[4]="25360";
ArrHiPovLine2009[5]="29660";
ArrHiPovLine2009[6]="33960"; 
ArrHiPovLine2009[7]="38260";
ArrHiPovLine2009[8]="42560";

function RunIBRCalc(){

	var PovArrayName = "";
	var NumOfDep = 1;
	var PovertyLine = 0;
	var TotalIncome = 0;
	var TotalYearPayment = 0;
	var DiscretionaryIncome = 0;
	var IBRPayment = 0;



	if (parseInt(document.frmIBRCalc.txtYourLoanAmt.value)==0)
	{
		alert("You must enter a loan amount");
		return;
	}
	
	if (parseInt(document.frmIBRCalc.txtNumOfDep.value)==0)
	{
		alert("Your family size must be at least 1.");
		document.frmIBRCalc.txtNumOfDep.value = 1;
		return;
	}

	
	//set up state table
	if (getCheckedValue(document.frmIBRCalc.radState) == "Alaska"){
		PovArrayName = ArrAkPovLine2009
	} else if (getCheckedValue(document.frmIBRCalc.radState) == "Hawaii"){
		PovArrayName = ArrHiPovLine2009
	} else {
		PovArrayName = ArrContStatePovLine2009
	}
	
	//Number of dependants
	NumOfDep = parseInt(document.frmIBRCalc.txtNumOfDep.value);
	document.frmIBRCalc.txtHouseHold.value =  NumOfDep;


	//Poverty Line
	if (NumOfDep > 8 )
	{


		PovertyLine = parseInt(PovArrayName[8]) + parseInt((NumOfDep - 8) *  PovArrayName[0]);
	}else{
		PovertyLine = PovArrayName[NumOfDep];
	}
	PovertyLine = PovertyLine * 1.5;
	document.frmIBRCalc.txtPovertyLine.value =  PovertyLine;


	
	//Total Income
	TotalIncome = parseInt(document.frmIBRCalc.txtYourIncome.value);
	document.frmIBRCalc.txtTotalIncome.value =  TotalIncome;

	//Total Yearly Loan Payment
	TotalYearPayment = YearlyLoanPayment();
	document.frmIBRCalc.txtAnnualLoanPayment.value =  Math.round(TotalYearPayment);

	//Discretionary Income
	DiscretionaryIncome = TotalIncome - PovertyLine;


	//Loan Payment rounded to nearest 5, if under 5 then 0
	IBRPayment = Math.round((DiscretionaryIncome * .15)/12);

	if (IBRPayment < 5){
		IBRPayment = 0;
	} else if (IBRPayment >= 5 && IBRPayment <= 10) {
		IBRPayment = 10;
	} else {	
		IBRPayment = Math.round(parseInt(IBRPayment)/5)*5	;	
	}

	//calculate eligibility
	if (TotalYearPayment > (DiscretionaryIncome * .15))
	{
		document.frmIBRCalc.txtStatus.value = "1";
		document.frmIBRCalc.txtIBRPayment.value =  IBRPayment;
	}else{
		document.frmIBRCalc.txtStatus.value ="0";
		document.frmIBRCalc.txtIBRPayment.value =  "N/A";
	}

	document.frmIBRCalc.submit();

}


function RunIBRCalcOld(){
	//alert(getCheckedValue(document.frmIBRCalc.radState))
	var PovArrayName = "";
	var NumOfDep = 1;
	var PovertyLine = 0;
	var TotalIncome = 0;
	var TotalYearPayment = 0;
	var DiscretionaryIncome = 0;
	var IBRPayment = 0;

	var SinglePovArrayName = "";
	var SingleNumOfDep = 1;
	var SinvlePovertyLine = 0;
	var SingleIncome = 0;
	var SingleYearPayment = 0;
	var SingleDiscretionaryIncome = 0;
	var SingleIBRPayment = 0;
	

if (parseInt(document.frmIBRCalc.txtYourLoanAmt.value)==0)
{
	alert("You must enter a loan amount");
	return;
}
	
	//set up state table
	if (getCheckedValue(document.frmIBRCalc.radWhatState) == 0 ){
		PovArrayName = ArrContStatePovLine2009
	}else{
		if (getCheckedValue(document.frmIBRCalc.radState) == "Alaska"){
			PovArrayName = ArrAkPovLine2009
		} else if (getCheckedValue(document.frmIBRCalc.radState) == "Hawaii"){
			PovArrayName = ArrHiPovLine2009
		} else {
			PovArrayName = ArrContStatePovLine2009
		}
	}
	
	//Number of dependants
		if (getCheckedValue(document.frmIBRCalc.radDependants) == "1"){
			NumOfDep = parseInt(document.frmIBRCalc.txtNumOfDep.value) + NumOfDep;
			SingleNumOfDep = parseInt(document.frmIBRCalc.txtNumOfDep.value) + SingleNumOfDep;
		}

		if (getCheckedValue(document.frmIBRCalc.radMarried) == "1"){
			NumOfDep = NumOfDep + 1;
		}

		//alert(NumOfDep)

		document.frmIBRCalc.txtHouseHold.value =  NumOfDep;

	//Poverty Line
		if (NumOfDep > 8 )
		{
			PovertyLine = PovArrayName[8] + ((NumOfDep - 8) *  PovArrayName[0]);
		}else{
			PovertyLine = PovArrayName[NumOfDep];
		}
		PovertyLine = PovertyLine * 1.5;

		document.frmIBRCalc.txtPovertyLine.value =  PovertyLine;

		if (SingleNumOfDep > 8 )
		{
			SinglePovertyLine = PovArrayName[8] + ((SingleNumOfDep - 8) *  SinglePovArrayName[0]);
		}else{
			SinglePovertyLine = PovArrayName[SingleNumOfDep];
		}
		SinglePovertyLine = SinglePovertyLine * 1.5;

	
	//Total Income
		TotalIncome = parseInt(document.frmIBRCalc.txtYourIncome.value);
		SingleIncome = parseInt(document.frmIBRCalc.txtYourIncome.value);

		if (getCheckedValue(document.frmIBRCalc.radMarried)==1){
			if (getCheckedValue(document.frmIBRCalc.radSpouseIncome)==1)
			{
				TotalIncome = TotalIncome + parseInt(document.frmIBRCalc.txtSpouseIncomeAmt.value);

			}
		}


		document.frmIBRCalc.txtTotalIncome.value =  TotalIncome;

		TotalYearPayment = YearlyLoanPayment();
		SingleYearPayment = SingleYearlyLoanPayment();

		document.frmIBRCalc.txtAnnualLoanPayment.value =  Math.round(TotalYearPayment);

		DiscretionaryIncome = TotalIncome - PovertyLine;
		SingleDiscretionaryIncome = SingleIncome - PovertyLine;



		IBRPayment = Math.round((DiscretionaryIncome * .15)/12);

		if (IBRPayment < 5){
			IBRPayment = 0;
		} else if (IBRPayment >= 5 && IBRPayment <= 10) {
			IBRPayment = 10;
		} else {	
			IBRPayment = Math.round(parseInt(IBRPayment)/5)*5	;	
		}



		if (TotalYearPayment > (DiscretionaryIncome * .15))
		{
			document.frmIBRCalc.txtStatus.value = "1";
			document.frmIBRCalc.txtIBRPayment.value =  IBRPayment;
		}else{
			document.frmIBRCalc.txtStatus.value ="0";
			document.frmIBRCalc.txtIBRPayment.value =  "N/A";
		}

		document.frmIBRCalc.submit();

}

function IBRShow(oControl){
	document.getElementById(oControl).style.display = 'block';

}

function IBRHide(oControl){
	document.getElementById(oControl).style.display = 'none'; //'none' removed, no dynamic content for 508
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function YearlyLoanPaymentOLD() {
	var YourPayment = 0;
	var SpousePayment = 0;
	var term  = 120; // 10 years

	var princ = document.frmIBRCalc.txtYourLoanAmt.value;
	var intr   = document.frmIBRCalc.txtYourRate.value / 1200;
	YourPayment = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));
	YourPayment = YourPayment * 12;


	princ = document.frmIBRCalc.txtSpouseLoanAmt.value;
	intr   = document.frmIBRCalc.txtSpouseRate.value / 1200;
	SpousePayment = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));
	SpousePayment = SpousePayment * 12;


	if (getCheckedValue(document.frmIBRCalc.radSpouseLoan)==1)
	{
		return YourPayment + SpousePayment;
	} else {
		return YourPayment ;
	}

}

function YearlyLoanPayment() {
	var YourPayment = 0;

	var term  = 120; // 10 years

	var princ = document.frmIBRCalc.txtYourLoanAmt.value;
	var intr   = document.frmIBRCalc.txtYourRate.value / 1200;
	YourPayment = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));
	YourPayment = YourPayment * 12;

	return YourPayment ;
}

  function isNumberKey(evt)
  {
	 var charCode = (evt.which) ? evt.which : event.keyCode
	 if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46 )
		return false;

	 return true;
  }