window.addEvent('domready', function(){
	$$('.search_date').each(function(search){
		var months = ['January', 'February', 'March', 'April',' May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
		var date = new Date();
		var year = date.getFullYear();
		var month = date.getMonth()+1;
		var json = new Request.JSON({
			url: '/search/date',
			link: 'cancel',
			onComplete: function(weeks){
				if ($defined(weeks)) {
					search.getElement('.heading .text span').set('text', months[month-1]+' '+year);
					search.getElement('table tbody').empty();
					for (var i = 0; i < weeks.length; i++) {
						var tr = new Element('tr').inject(search.getElement('table tbody'));
						for (var j = 0; j < weeks[i].length; j++) {
							var td = new Element('td').inject(tr);
							if (weeks[i][j] !== null) {
								td.addClass(weeks[i][j].class);
								new Element('a').setProperty('href', '/search/index/date/'+weeks[i][j].date).set('text', weeks[i][j].day).inject(td);
							} else {
								td.set('html', '&nbsp;');
							}
						}
					}
				}
			}.bind(this)
		});
		search.getElements('.heading .text a').each(function(a){
			a.addEvent('click', function(e){
				new Event(e).stop();
				if (a.get('text') == '<') {
					month = month-1;
					if (month < 1) {
						month = 12;
						year = year-1;
					}
				} else {
					month = month+1;
					if (month > 12) {
						month = 1;
						year = year+1;
					}
				}
				json.post({
					year: JSON.encode(year),
					month: JSON.encode(month)
				});
			});
		});
		json.post({
			year: JSON.encode(year),
			month: JSON.encode(month)
		});
	});
});