var empty_string = new String("");

	function get_housing_ratio(obj) {
		gmi = get_number("gross_monthly_income");
		dpm = get_number("debt_payments");
		mre = get_number("homeowners_insurance");
		mia = get_number("mortage_insurance");
		mra = get_number("maximum_ratio_allowed")/100;
		mtr = get_number("maximum_total_ratio_allowed")/100;
		if (mra >= mtr) { mra = mtr }

		var hidden = get_hidden(obj);
		hidden.value = (min(min(mra,mtr) * gmi,(max(mra,mtr)*gmi - dpm))/gmi * 100).toFixed(0);
		
		obj.innerText = hidden.value + "%";

		if ((obj.innerText == "NaN%" || obj.innerText.charAt(0)=="-") || Number(obj.innerText) <= 0) {obj.innerText = empty_string;hidden.value=0;}
	}
	function get_max_total_obligation_ratio(obj) {
		gmi = get_number("gross_monthly_income");
		dpm = get_number("debt_payments");
		mre = get_number("homeowners_insurance");
		mia = get_number("mortage_insurance");
		mra = get_number("maximum_ratio_allowed")/100;
		mtr = get_number("maximum_total_ratio_allowed")/100;
		if (mra >= mtr) { mra = mtr }

		var hidden = get_hidden(obj);
		hidden.value = (min((min(mra,mtr)*gmi+dpm)/gmi,mtr) * 100).toFixed(0);

		obj.innerText = hidden.value + "%";

		if ((obj.innerText == "NaN%" || obj.innerText.charAt(0)=="-") || Number(obj.innerText) == 0) {obj.innerText = empty_string;hidden.value=0;}
	}
	function get_max_monthly_payment(obj) {
		gmi = get_number("gross_monthly_income");
		mret = get_number("homeowners_insurance");
		mi = get_number("mortage_insurance");
		hr = get_calculated_number("housing_ratio");

		var hidden = get_hidden(obj);
		hidden.value = Math.round((hr/100) * gmi - mret -mi);

		obj.innerText = "$" + format(hidden.value);
		
		if (obj.innerText == "$NaN" || (obj.innerText.charAt(1) == "-")) {obj.innerText = empty_string;hidden.value=0;}
	}
	function get_amount_you_can_borrow(obj) {
		lt = get_number("loan_term") * 12;
		ir = get_number("interest_rate") / 1200;
		mmr = get_calculated_number("maximum_monthly_payment");

		//obj.innerText = "$" + format(Math.round((lt * 12 * mmr) - (lt * 12 * mmr * ir /100)));

		var hidden = get_hidden(obj);
		hidden.value = ( (1/ir) * (1 - Math.pow ( ( 1/(1+ir) ) , lt) ) * mmr  ).toFixed(0);

		obj.innerText = "$" + format( hidden.value );

		if (obj.innerText == "$NaN" || (obj.innerText.charAt(1) == "-")) {obj.innerText = empty_string;hidden.value=0;}
	}
	function get_available_for_down_payment(obj) {
		eech = get_number("estimated_equity");
		sc = get_number("selling_costs");
		cc = get_number("closing_costs");
		sycs = get_number("savings_to_spend");
		mmr = get_calculated_number("maximum_monthly_payment");
		
		var hidden = get_hidden(obj);

		if (eech - sc - cc + sycs > 0) 
			{
				hidden.value = Math.round(eech - sc - cc + sycs);
				obj.innerText = "$" + format(hidden.value);
			}
		else
			{
				hidden.value = 0
				obj.innerText = "$0"
			}
			
		if (obj.innerText == "$NaN" || (obj.innerText.charAt(1) == "-")) {obj.innerText = empty_string;hidden.value=0;}
	}

	function get_amount_of_house_you_can_afford(obj) {
		eech = get_number("estimated_equity");
		sc = get_number("selling_costs");
		cc = get_number("closing_costs");
		sycs = get_number("savings_to_spend");
		tadp = get_calculated_number("total_avalable_down_payment");
		aycb = get_calculated_number("ammount_you_borrow");

		var hidden = get_hidden(obj);
		hidden.value = Math.round(tadp + aycb);

		obj.innerText = "$" + format(hidden.value);

		if (obj.innerText == "$NaN" || (obj.innerText.charAt(1) == "-")) {obj.innerText = empty_string;hidden.value=0;}
	}
	function get_down_payment_as_percent_of_total(obj) {
		tadp = get_calculated_number("total_avalable_down_payment");
		ayca = get_calculated_number("ammount_house_you_afford");

		var hidden = get_hidden(obj);
		hidden.value = Math.round(tadp/ayca * 100);

		obj.innerText = hidden.value + "%";

		if ((obj.innerText == "NaN%") || (obj.innerText.charAt(0)=="-")) {obj.innerText = empty_string;hidden.value=0;}
	}
	function get_amount_of_house_you_can_buy(obj) {
		var tadp = new Number(get_calculated_number("total_avalable_down_payment"));
		var ayca =  new Number(get_calculated_number("ammount_house_you_afford"));
		var dptpp =  new Number(get_calculated_number("down_payment_total_price"));
		
		var prc = new Number(get_number("percent_amount_of_house"))

		var hidden = get_hidden(obj);
		hidden.value = Math.round(tadp * (100 / prc));

		
//		if (dptpp >= prc) 
//			{	
//				obj.innerText = "$" + format(Math.round(ayca));
//			}
//		else
//			{	
				obj.innerText = "$" + format(hidden.value);
//			}

		if (Math.round(tadp * (100 / prc)) > Number(get_calculated_number("ammount_house_you_afford"))) {
			var buffer = Math.round(tadp * (100 / prc)) - Number(get_calculated_number("ammount_house_you_afford"));
			if (!isNaN(buffer))	{
				document.all.exced_text.innerText = "But this amount exceeds what you can afford with:"
				document.all.h_exced.value = buffer;
				document.all.exced.innerText =  "$" + format(buffer);
				}
		} else {
			document.all.exced_text.innerText = "";
			document.all.exced.innerText = "";
			document.all.h_exced.value = 0;
			}
		
			
		if (obj.innerText == "$NaN" || (obj.innerText.charAt(1) == "-")) {obj.innerText = empty_string;hidden.value=0;}
	}

