var Showings = {
  calendar: null,

  init_calendar: function(){
    this.calendar = new calendar2($('showing_preferred_time'));
    this.calendar.time_comp = true;
  }
};

// Routines for working with the payment calculator.
//
var Mortgage = {

 	update_payment_info_for_listings: function(interest, term, down_payment){
		// Get all of the listing monthly payments displayed on the page
		payment_displays = document.getElementsByClassName("paymentdisplay")
		for(var i = 0; i < payment_displays.length; i++){
			// Get the list price
			listing_id = payment_displays[i].id.match(/\d+/)
			// Following line takes an amount such as $90,000 and turns it into 90000
			list_price = parseInt($("list_price_" + listing_id).innerHTML.match(/\d+,\d+/)[0].replace(/,/, ''));
			new_payment = this.calculate_payment(list_price, interest, term, down_payment);
			payment_displays[i].innerHTML = Utility.format_currency(new_payment);
			new Effect.Highlight(payment_displays[i]);
			
			//alert("Listing ID: " + listing_id + " Price: " + list_price + " Current Payment Amount: " + payment_displays[i].innerHTML);
		}
	
	},

  update_payment_info: function(){
    var pr = $('principal').value;
    var it = $('interest').value
    var t = $('term').value
    var dp = $('down_payment').value;
    var p = this.calculate_payment(pr, it, t, dp);
		$('calculated_montly_payment').innerHTML = Utility.format_currency(p);
  },

  // Calculates the montly payment for the given principal, interest and term
  calculate_payment: function(principal, interest, term, down_payment){
    principal = principal - down_payment;
    var monthly_interest = (interest/100.0) / 12;
    var term_in_months = term * 12;
    var payment = (principal * monthly_interest) / (1 - Math.pow(1 + monthly_interest, -term_in_months));
    return payment;
  }
};

var Utility = {

	// Formats a number as USD
	// Web Site:  http://www7.ewebcity.com/cyanide7 
	format_currency: function (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 ('$' + num + '/mo*');
	},

};