var prev_start_dates = new Array();

function init() {
	search_form = $('calendarhome');
	// Watch checkboxes
	var checkboxes = search_form.getInputs('checkbox');
	checkboxes.each(function(element) {
		element.observe('click', submitForm);
		element.checked = 1;
	});
	// Watch radio buttons
	var radios = search_form.getInputs('radio');
	radios.each(function(element) {
		element.observe('click', submitForm);
	});
	$('search').value = '';
	Event.observe("calendarhome", "submit", function(e){submitForm();Event.stop(e);});
}

function submitForm() {
	var url = '/calendarhome/refresh_events/';
	var container_div = $('content');
	var form_data = $('calendarhome').serialize();	
	new Ajax.Request(url, {
		method: 'post',
		parameters: form_data,
		onSuccess: function(transport) {
			container_div.hide();
			container_div.update(transport.responseText);
			container_div.appear();
		}
	});
}

function resetForm() {
	location.reload(true);
	return false;
}

function viewEvent(url) {	 
	eventwindow = window.open(url, 'event', 'width=550,height=460,scrollbars=yes,resizable=yes,location=yes');
	if (window.focus) {eventwindow.focus()};
	return false;
}

function nextPage(new_date, old_date) {
	document.calendarhome.eventdate.value = new_date;
	document.calendarhome.prev_link.value = 'True';
	// Add a value to prev_start_dates array
	prev_start_dates.push(old_date);
	submitForm();
}

function prevPage() {
	document.calendarhome.eventdate.value = prev_start_dates.pop();
	// Check if prev_start_dates is empty and communicate with PHP via post parameter
	if (prev_start_dates.length > 0) {
		document.calendarhome.prev_link.value = 'True';
	} else {
		document.calendarhome.prev_link.value = 'False';
	}
	submitForm();
}

Event.observe(window, "load", init);