function calendar() {
	var cal_links = $$('p#calnav a');
	cal_links.each(function(l) {
		l.observe('click', function(e) {
			var params = l.href.toQueryParams();
			params.tmpl = '/seattle/search';
			params.letters = '1';
			new Ajax.Request('Includes/_Calendar', {
				method: 'get',
				parameters: params,
				onCreate: function() {
					$('cal').update('<p style="text-align:center;margin:45px auto;"><img src="/images/loading/spinner.gif" \/><\/p>');
				},
				onComplete: function(transport) {
					$('cal').update(transport.responseText);
					var paramsHash = $H(params);
					paramsHash.unset('tmpl');
					paramsHash.unset('letters');
					var dateparts = paramsHash.get('calmon').split('-');
					var prevMonth = (dateparts[1] == 01) ? 12 : ((parseInt(dateparts[1]) - 1).toPaddedString(2));
					var prevYear = (dateparts[1] == 01) ? ((parseInt(dateparts[0]) - 1).toPaddedString(4)) : dateparts[0];
					var nextMonth = (dateparts[1] == 12) ? (1).toPaddedString(2) : ((parseInt(dateparts[1]) + 1).toPaddedString(2));
					var nextYear = (dateparts[1] == 12) ? ((parseInt(dateparts[0]) + 1).toPaddedString(2)) : dateparts[0];
					var nextDate = ''+nextYear+'-'+nextMonth+'-01';
					var prevDate = ''+prevYear+'-'+prevMonth+'-01';
					paramsHash.set('calmon', prevDate);
					$('calprev').setAttribute('href','?'+paramsHash.toQueryString());
					paramsHash.set('calmon', nextDate);
					$('calnext').setAttribute('href','?'+paramsHash.toQueryString());
				}
			});
			e.stop();
		});
	});
}
document.observe("dom:loaded", function() {
	calendar();
});