function dollar_format(passed_item){
  	passed_item = passed_item*1;
  	passed_item = passed_item.toFixed(2);
  	passed_item = addCommas(passed_item);
  	passed_item = "$"+passed_item;
  	return passed_item;
  	}
  function addCommas(nStr){
  	nStr += '';
  	x = nStr.split('.');
  	x1 = x[0];
  	x2 = x.length > 1 ? '.'+x[1] : '';
  	var rgx = /(\d+)(\d{3})/;
  	while (rgx.test(x1)) {
    	x1 = x1.replace(rgx,'$1'+','+'$2');
  		}
  	return x1+x2;
		}
	function stripNonNumeric(str){
  	str += '';
  	var rgx = /^\d|\.|-$/;
  	var out = '';
  	for(var i = 0; i < str.length; i++ ){
  	  if( rgx.test(str.charAt(i))){
  	    if(!((str.charAt(i) == '.' && out.indexOf('.') != -1 ) || (str.charAt(i) == '-' && out.length != 0))){
  	      out += str.charAt(i);
  	    	}
  	  	}
  		}
  	return out;
		}
	function setup_wheel(owner, origin, prop){
		$('#wheel_owner').val(owner);
		$('#prop').val(origin);
		$('#origin_box').val(prop);
		$('#colorpicker').css('display', '');
		get_color();
		}
	function get_color(){
		var color = $('#origin_box').val();
		color = "#"+color;
		color = $(color).val();
		var property = $('#prop').val();
		var to_change = $('#wheel_owner').val();
		to_change = "#"+to_change;
		$(to_change).css(property, color);
		$.farbtastic('#colorpicker').setColor(color);
		}
	function check_checked(){
		var version = $('[name=widget_does]:checked').val();
		if (version == "redirect"){
			$('#calculate_text').css('display', 'none');
			$('#redirect_text').css('display', '');
			} else {
				$('#calculate_text').css('display', '');
				$('#redirect_text').css('display', 'none');
				}
		$('#widget_div').redrawShadow();
		}
	function toggle_units(version){
		//ins
		//pmi
		if (version == "tax-dollars"){
			$('#tax_followup_percent').css('display', 'none');
			$('#tax_followup_dollars').css('display', '');
			$('#property_taxes_percent').css('display', 'none');
			$('#property_taxes_dollars').css('display', '');
			} else if (version == "tax-percent"){
				$('#tax_followup_dollars').css('display', 'none');
				$('#tax_followup_percent').css('display', '');
				$('#property_taxes_dollars').css('display', 'none');
				$('#property_taxes_percent').css('display', '');
				} else if (version == "pmi-dollars"){
					$('#pmi_followup_percent').css('display', 'none');
					$('#pmi_followup_dollars').css('display', '');
					$('#pmi_percent').css('display', 'none');
					$('#pmi_dollars').css('display', '');
					} else if (version == "pmi-percent"){
						$('#pmi_followup_dollars').css('display', 'none');
						$('#pmi_followup_percent').css('display', '');
						$('#pmi_dollars').css('display', 'none');
						$('#pmi_percent').css('display', '');
						} else if (version == "ins-dollars"){
							$('#ins_followup_percent').css('display', 'none');
							$('#ins_followup_dollars').css('display', '');
							$('#property_insurance_percent').css('display', 'none');
							$('#property_insurance_dollars').css('display', '');
							} else if (version == "ins-percent"){
								$('#ins_followup_dollars').css('display', 'none');
								$('#ins_followup_percent').css('display', '');
								$('#property_insurance_dollars').css('display', 'none');
								$('#property_insurance_percent').css('display', '');
								}
		}
	function switch_terms(one_to_show){
		$('#year_numbers').css('display', 'none');
		$('#term_numbers').css('display', 'none');
		$('#month_numbers').css('display', 'none');
		$('#year_click').css('font-weight', 'normal');
		$('#term_click').css('font-weight', 'normal');
		$('#month_click').css('font-weight', 'normal');
		var text_color = $('#label_color').val();
		var link_color = $('#widget_border_color').val();
		$('#year_click').removeClass('clickable non_clickable');
		$('#term_click').removeClass('clickable non_clickable');
		$('#month_click').removeClass('clickable non_clickable');
		$('#year_click').addClass('clickable');
		$('#term_click').addClass('clickable');
		$('#month_click').addClass('clickable');
		var one_to_show_div = "#"+one_to_show+"_numbers";
		var one_to_show_click = "#"+one_to_show+"_click";
		$(one_to_show_div).css('display', '');
		$(one_to_show_click).removeClass('clickable');
		$(one_to_show_click).addClass('non_clickable');
		$(one_to_show_click).css('font-weight', 'bold');
		}
	function calculate_loan(){
		//We multiply the numbers by 1 so that way javascript knows they are numbers.
		var interest_rate = $('#interest_rate').val()*1;
		var discount_point_rate = $('#discount_point_rate').val()*1;
		var discount_points = $('#discount_points').val()*1;
		var mortgage_term = $('#mortgage_term').val()*1;
		var purchase_price = $('#purchase_price').val()*1;
		var down_payment = $('#down_payment').val()*1;
		var pmi = $('#pmi').val()*1;
		var yearly_property_taxes = $('#property_taxes').val()*1;
		var yearly_property_insurance = $('#property_insurance').val()*1;
		if (interest_rate > 1) interest_rate = interest_rate / 100;
		if (discount_point_rate > .001) discount_point_rate = discount_point_rate / 100;
		var big_rate = interest_rate - (discount_points*discount_point_rate);
		var i = big_rate / 12;
		var n = mortgage_term*12;
		var pv = purchase_price - down_payment;
		var top_part = i * Math.pow((1+i), n);
		var bottom_part = Math.pow((1+i), n) - 1;
		var installment = (top_part / bottom_part) * pv;
		installment = installment * 100;
		installment = Math.round(installment);
		installment = installment / 100;
		installment = installment.toFixed(2);
		var monthly_installment = installment;
		var yearly_installment = installment*12;
		var term_installment = yearly_installment*mortgage_term;
		
		var yearly_taxes_insurance = yearly_property_taxes+yearly_property_insurance;
		var monthly_taxes_insurance = (yearly_taxes_insurance / 12);
		var term_taxes_insurance = yearly_taxes_insurance*mortgage_term;
		
		var monthly_pmi = pmi;
		var yearly_pmi = 0;
		var term_pmi = 0;
		
		var a = 1;
		var interest_paid = 0;
		var principal_paid = 0;
		var pmi_paid = 0;
		var periods_interest = 0;
		var periods_principal = 0;
		var dif = 0;
		var last_installment = 0;
		for (a = 1; a <= n; a++){
				periods_interest = Math.round(((pv - principal_paid)*i)*100) / 100;
				interest_paid += Math.round((periods_interest)*100) / 100;
				periods_principal = installment - periods_interest;
				principal_paid += Math.round((periods_principal)*100) / 100;
				last_installment = installment;
				if ((pv - principal_paid) < 0){
					dif = (pv - principal_paid)*-1;
					principal_paid -= dif;
					periods_principal -= dif;
					last_installment = installment - dif;
					}
				if (((principal_paid + down_payment) / purchase_price) > .2) pmi = 0;
				pmi_paid += pmi;
				if (a == 12) yearly_pmi = pmi_paid;
				}
				
		term_installment -= dif;
		term_pmi = pmi_paid;
		
		var monthly_total = 0;
		monthly_total += monthly_installment*1;
		monthly_total += monthly_pmi*1;
		monthly_total += monthly_taxes_insurance*1;
		var yearly_total = yearly_installment+yearly_pmi+yearly_taxes_insurance;
		var term_total = term_installment+term_pmi+term_taxes_insurance;

		$('#monthly_payment').text(dollar_format(monthly_installment));
		$('#monthly_pmi').text(dollar_format(monthly_pmi));
		$('#monthly_other').text(dollar_format(monthly_taxes_insurance));
		$('#monthly_total').text(dollar_format(monthly_total));
		
		$('#yearly_payment').text(dollar_format(yearly_installment));
		$('#yearly_pmi').text(dollar_format(yearly_pmi));
		$('#yearly_other').text(dollar_format(yearly_taxes_insurance));
		$('#yearly_total').text(dollar_format(yearly_total));
		
		$('#term_payment').text(dollar_format(term_installment));
		$('#term_pmi').text(dollar_format(term_pmi));
		$('#term_other').text(dollar_format(term_taxes_insurance));
		$('#term_total').text(dollar_format(term_total));
		switch_terms('month');
		}
	function check_idle(){
  	$.idleTimer('destroy');
  	$.idleTimer(500);
		$(document).bind("idle.idleTimer", function(){refresh_information();});
  	}
	function check_pmi(){
		var dp = document.getElementById('down_payment').value;
		var pp = document.getElementById('purchase_price').value;
		var term = document.getElementById('mortgage_term').value;
		var loan_amount = pp - dp;
		var ltv = loan_amount / pp;
		var temp_pmi = 0;
		if (ltv <= .8) {
			temp_pmi = 0;
			} else if (ltv <= .85){
				if (term >= 20) temp_pmi = .0032 * loan_amount;
				if (term < 20) temp_pmi = .0019 * loan_amount;
				} else if (ltv <= .95){
					if (term >= 20) temp_pmi = .0052 * loan_amount;
					if (term < 20) temp_pmi = .0023 * loan_amount;
					} else {
						if (term >= 20) temp_pmi = .0090 * loan_amount;
						if (term < 20) temp_pmi = .0079 * loan_amount;
						}
		temp_pmi = temp_pmi / 12;
		temp_pmi = temp_pmi.toFixed(2);
		document.getElementById('pmi').value = temp_pmi;
		$('#pmi_dollars').val(temp_pmi);
		$('#pmi_percent').val((temp_pmi/loan_amount)*100);
		}
	function refresh_information(){
	$('#tabs').tabs('select', 0);
	var long_url = "purchase_price="+$("#purchase_price").val()+"&down_payment="+$("#down_payment").val()+"&mortgage_term="+$("#mortgage_term").val()+"&interest_rate="+$("#interest_rate").val()+"&discount_points="+$("#discount_points").val()+"&discount_point_rate="+$("#discount_point_rate").val()+"&property_taxes="+$("#property_taxes").val()+"&property_insurance="+$("#property_insurance").val()+"&pmi="+$("#pmi").val();
	
	$('#term_payment').load("single_val.php?show=term_payment&"+long_url);
	$('#monthly_payment').load("single_val.php?show=mortgage_payment&"+long_url);
	$('#yearly_payment').load("single_val.php?show=yearly_payment&"+long_url);
	$('#pmi_total').load("single_val.php?show=pmi_total&"+long_url);
	$('#pmi_month').load("single_val.php?show=pmi&"+long_url);
	$('#pmi_year').load("single_val.php?show=pmi_year&"+long_url);
	$('#other_total').load("single_val.php?show=other_total&"+long_url);
	$('#other_month').load("single_val.php?show=other_month&"+long_url);
	$('#other_year').load("single_val.php?show=other_year&"+long_url);
	
	$('#bterm_payment').load("single_val.php?biweekly=1&show=term_payment&"+long_url);
	$('#bmonthly_payment').load("single_val.php?biweekly=1&show=mortgage_payment&"+long_url);
	$('#byearly_payment').load("single_val.php?biweekly=1&show=yearly_payment&"+long_url);
	$('#bpmi_total').load("single_val.php?biweekly=1&show=pmi_total&"+long_url);
	$('#bpmi_month').load("single_val.php?biweekly=1&show=pmi&"+long_url);
	$('#bpmi_year').load("single_val.php?biweekly=1&show=pmi_year&"+long_url);
	$('#bother_total').load("single_val.php?biweekly=1&show=other_total&"+long_url);
	$('#bother_month').load("single_val.php?biweekly=1&show=other_month&"+long_url);
	$('#bother_year').load("single_val.php?biweekly=1&show=other_year&"+long_url);
	$('#payment_savings').load("single_val.php?biweekly=1&show=payment_savings&"+long_url);
	$('#paid_off').load("single_val.php?biweekly=1&show=paid_off&"+long_url);
	$('#ma_payment').load("single_val.php?show=term_payment&"+long_url);
	$('#ma_principal').load("single_val.php?show=principal_total&"+long_url)
	$('#ma_interest').load("single_val.php?show=total_interest&"+long_url)
	$('#ma_other').load("single_val.php?show=term_pmi_tax_ins&"+long_url)
	$('#ma_total').load("single_val.php?show=total_cost&"+long_url)
	$('#ya_payment').load("single_val.php?show=term_payment&"+long_url);
	$('#ya_principal').load("single_val.php?show=principal_total&"+long_url)
	$('#ya_interest').load("single_val.php?show=total_interest&"+long_url)
	$('#ya_other').load("single_val.php?show=term_pmi_tax_ins&"+long_url)
	$('#ya_total').load("single_val.php?show=total_cost&"+long_url)

	
	$('#dp_break_1').load("discount_points.php?"+long_url);
	//$('#codebox').text("discount_points.php?point_question=1&"+long_url);
	var month_url = "return_xml.php?type=month&purchase_price="+$("#purchase_price").val()+"&down_payment="+$("#down_payment").val()+"&mortgage_term="+$("#mortgage_term").val()+"&interest_rate="+$("#interest_rate").val()+"&discount_points="+$("#discount_points").val()+"&discount_point_rate="+$("#discount_point_rate").val()+"&property_taxes="+$("#property_taxes").val()+"&property_insurance="+$("#property_insurance").val()+"&pmi="+$("#pmi").val();
	month_url = escape(month_url);
	var monthly_chart = new FusionCharts("Charts/StackedArea2D.swf", "Chart1", "600", "350");
	monthly_chart.setDataURL(month_url);
	monthly_chart.render("month_chart");
	$('#mamortization').load("amortization.php?type=month&"+long_url);
	$('#mamortization').css("display", "");
	var year_url = "return_xml.php?type=year&purchase_price="+$("#purchase_price").val()+"&down_payment="+$("#down_payment").val()+"&mortgage_term="+$("#mortgage_term").val()+"&interest_rate="+$("#interest_rate").val()+"&discount_points="+$("#discount_points").val()+"&discount_point_rate="+$("#discount_point_rate").val()+"&property_taxes="+$("#property_taxes").val()+"&property_insurance="+$("#property_insurance").val()+"&pmi="+$("#pmi").val();
	year_url = escape(year_url);
	var yearly_chart = new FusionCharts("Charts/StackedColumn3D.swf", "Chart2", "600", "350");
	yearly_chart.setDataURL(year_url);		   
	yearly_chart.render("year_chart");
	$('#yamortization').load("amortization.php?type=year&"+long_url);
	$('#yamortization').css("display", "");
	var pie_url = "return_xml.php?type=breakdown&"+long_url;
	pie_url = escape(pie_url);
	var pie_chart = new FusionCharts("Charts/Pie2D.swf", "Chart3", "320", "200");
	pie_chart.setDataURL(pie_url);
	pie_chart.render("breakdown");
	}
