
var TotalPaymentFactored;

function EREmoneyFormat(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
	if(mnt == Math.floor(mnt)){
		mnt = mnt + '.00';
	} else {
		if(mnt*10 == Math.floor(mnt*10)){
			mnt = mnt + '0';
		}
	}
	return '$' + mnt;
}

function moneyFormat(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num);
}


function fmtMoney(number) {
	floatPoint = 2;
	decimalSep = '.';
	thousandsSep = ',';
	( number+'' ).match( /(\d+)(?:\.(\d+)|)/ );
	with( RegExp ) {
 		var frac = floatPoint ? decimalSep + Number( '.'+ $2 ).toFixed( floatPoint ).substr( 2 ) : '';
		alert('$ ' + ( ( x = $1.length % 3 ) ? $1.substr( 0, x )+thousandsSep :'' ) + $1.substr( x ).replace( /(\d{3})(?=\d)/g, '$1'+thousandsSep ) + frac);
 		return '$ ' + ( ( x = $1.length % 3 ) ? $1.substr( 0, x )+thousandsSep :'' ) + $1.substr( x ).replace( /(\d{3})(?=\d)/g, '$1'+thousandsSep ) + frac;
	}
}

function SetHeight(big,small,element,info){
	imageHeight = Math.round((small/big)*100);
	growImage(element,imageHeight);
	$(element).title = info;
	$(element).alt = info;
}

function growImage(element,goal){
		if(parseInt($(element).style.height) < goal && parseInt($(element).style.height) < 100) {
			$(element).style.height = Number(parseInt($(element).style.height) + 1) + 'px';
			my_timeout = setTimeout('growImage(\''+element+'\',\''+goal+'\');', 25);
		}
		if(parseInt($(element).style.height) > goal){
			$(element).style.height = Number(parseInt($(element).style.height) - 1) + 'px';
			my_timeout = setTimeout('growImage(\''+element+'\',\''+goal+'\');',25);
		}
}

function CalcCycle(debt,interest,min){
	TotalPaymentFactored = 0;
	TotalCycles = 0;
	currentDebt = debt;
	monthInterest = interest/12;
	while(currentDebt > 0){
		payment = currentDebt*min;
		if(payment < 25){
			payment = 25;
		}
		TotalPaymentFactored += payment;
		waste = currentDebt * monthInterest;
		currentDebt = currentDebt - (payment - waste);
		TotalCycles++;

	}
	return TotalCycles;
}

function calcForm(){
	TotalUnsecuredDebt = $('userTotalUnsecuredDebt').value.replace('$','');
	TotalUnsecuredDebt = TotalUnsecuredDebt.replace(',','');
	AvgInterestRate = $('userAvgInterestRate').value.replace('%','') / 100;

	if($('creditorDuration').value == 1){
		if(TotalUnsecuredDebt <= 20000){
			ProgramPeriod = 30;
		} else {
			ProgramPeriod = 32;
		}
	} else {
		if(TotalUnsecuredDebt <= 8000){
			ProgramPeriod = 21;
		}
		if(TotalUnsecuredDebt <= 9000 && TotalUnsecuredDebt > 8000){
			ProgramPeriod = 23;
		}
		if(TotalUnsecuredDebt <= 10000 && TotalUnsecuredDebt > 9000){
			ProgramPeriod = 26;
		}
		if(TotalUnsecuredDebt <= 11999 && TotalUnsecuredDebt > 10000){
			ProgramPeriod = 28;
		}
		if(TotalUnsecuredDebt <= 20999 && TotalUnsecuredDebt >= 12000){
			ProgramPeriod = 30;
		}
		if(TotalUnsecuredDebt <= 30999 && TotalUnsecuredDebt >=21000){
			ProgramPeriod = 32;
		}
		if(TotalUnsecuredDebt <= 40999 && TotalUnsecuredDebt >= 31000){
			ProgramPeriod = 34;
		}
		if(TotalUnsecuredDebt >= 41000){
			ProgramPeriod = 36;
		}
	}

	// Prep the standard fields
	$('afsTotalUnsecuredDebt').innerHTML = moneyFormat(TotalUnsecuredDebt);
	$('dcTotalUnsecuredDebt').innerHTML = moneyFormat(TotalUnsecuredDebt);
	$('ccTotalUnsecuredDebt').innerHTML = moneyFormat(TotalUnsecuredDebt);
	$('dnTotalUnsecuredDebt').innerHTML = moneyFormat(TotalUnsecuredDebt);
	$('afsMonthsToPayOff').innerHTML = ProgramPeriod;

	if(AvgInterestRate*100 == Math.floor(AvgInterestRate*100)){
		displayInterestRate = AvgInterestRate*100 + '.0';
	} else {
		displayInterestRate = AvgInterestRate * 100;
	}
	$('dnInterestRate').innerHTML = Math.round(displayInterestRate*100)/100 + '%';

	nothingDuration = CalcCycle(TotalUnsecuredDebt,AvgInterestRate,0.025);
	//alert(nothingDuration + ' cycles and ' + TotalPaymentFactored);

	// Changed September 26, 2007
	afs_fee = TotalUnsecuredDebt * 0.15;
	TotalCost = (TotalUnsecuredDebt * 0.4) + afs_fee;
	TotalMonthlyPayment = TotalCost/ProgramPeriod;

	$('afsYourTotalCost').innerHTML = moneyFormat(TotalCost);
	$('afsMonthlyPayment').innerHTML = moneyFormat(TotalMonthlyPayment);


	MonthlyPayment = (TotalUnsecuredDebt * (AvgInterestRate/12)) / (1 - Math.pow(1 + (AvgInterestRate/12),-1 * ProgramPeriod));
	IntrestPaid = (MonthlyPayment * ProgramPeriod) - TotalUnsecuredDebt;


//
// Debt Consolodation
//
	dccInterestRate = 0.11;

	dccMonthlyPayment = (TotalUnsecuredDebt * (dccInterestRate/12))/(1 - Math.pow(1 + (dccInterestRate/12),-1 * 60));
	$('dcMonthlyPayment').innerHTML = moneyFormat(dccMonthlyPayment);

	dccExtraInterestPaid = (dccMonthlyPayment * 60) - TotalUnsecuredDebt;
	$('dcExtraInterestPaid').innerHTML = moneyFormat(dccExtraInterestPaid);

	dccTotalCost = (dccMonthlyPayment * 60);
	$('dcYourTotalCost').innerHTML = moneyFormat(dccTotalCost);

	//dccTotalSavings = dccTotalCost - TotalCost;
	//$('dcTotalSavings').innerHTML = moneyFormat(dccTotalSavings);


//
// Do Nothing
//

	dnnMonthlyPayment = TotalUnsecuredDebt*0.03;
	$('dnMonthlyPayment').innerHTML = moneyFormat(dnnMonthlyPayment);

	dnnExtraInterestPaid = TotalPaymentFactored - TotalUnsecuredDebt;
	//dnnExtraInterestPaid = (dnnMonthlyPayment * 270) - TotalUnsecuredDebt;
	$('dnExtraInterestPaid').innerHTML = moneyFormat(dnnExtraInterestPaid);

	dnnTotalCost = TotalPaymentFactored;
	//dnnTotalCost = (dnnMonthlyPayment * 270);
	$('dnYourTotalCost').innerHTML = moneyFormat(dnnTotalCost);

	$('dnMonthsToPayOff').innerHTML = nothingDuration;
	//dnnTotalSavings = dnnTotalCost - TotalCost;
	//$('dnTotalSavings').innerHTML = moneyFormat(dnnTotalSavings);

////
////	CC Fields
////
	cccRate = Math.round((AvgInterestRate * 0.95)*100)/100;

	//$('ccInterestRate').innerHTML = cccRate*100 + '.0%';

	//cccMonthlyPayment = (TotalUnsecuredDebt * (cccRate/12))/(1- Math.pow(1 + (0.09/12),-60));
	cccMonthlyPayment = dnnMonthlyPayment * 0.95;
	$('ccMonthlyPayment').innerHTML = moneyFormat(cccMonthlyPayment);

	cccExtraInterestPaid = (cccMonthlyPayment * 60) - TotalUnsecuredDebt;
	$('ccExtraInterestPaid').innerHTML = moneyFormat(cccExtraInterestPaid);

	cccTotalCost = (cccMonthlyPayment * 60);
	$('ccYourTotalCost').innerHTML = moneyFormat(cccTotalCost);

	//cccTotalSavings = cccTotalCost - TotalCost;
	//$('ccTotalSavings').innerHTML = moneyFormat(cccTotalSavings);
////////////////////////////////////////////////////////////
	DrawChart('totalinterestpaid','Total Interest Paid','1',dccExtraInterestPaid,cccExtraInterestPaid,dnnExtraInterestPaid,'0')
	DrawChart('monthlypayments','Monthly Payments','1',dccMonthlyPayment,cccMonthlyPayment,dnnMonthlyPayment,TotalMonthlyPayment);
	DrawChart('monthstopayoff','Total Months to Pay Off','0','60','60','270',ProgramPeriod)
	DrawChart('totalpaid','Total Paid','1',dccTotalCost,cccTotalCost,dnnTotalCost,TotalCost);

}