/**
 * calendar.js -- 
 *  Javascript used to display a calendar and respond to users 
 *  selecting new dates by showing the events for that date.
 */                

/**
 * Handle the user selecting a new date
 */
function selectDateHandler( type, args, obj )
{
	var selection = args[0] ;
	var selDate = selection[0] ;
	var selMonth = selDate[1] ;
	var selDay = selDate[2] ;
	var selYear = selDate[0] ;
	sendRequest( selMonth, selDay, selYear ) ;
}

/**
 * Initialize the events calendar
 */
function initEventsCalendar()
{
	// Set up the calendar
	var todaysDate = new Date() ;
	var selectedDate = (todaysDate.getMonth() + 1) + "/" + todaysDate.getDate() + "/" + todaysDate.getFullYear() ;
	YAHOO.idahocityevents.calendar.newCal = new YAHOO.widget.CalendarGroup( "newCal", "calendarContainer", 
		{selected:selectedDate, LOCALE_WEEKDAYS:"medium", HIDE_BLANK_WEEKS:true, pages:3} ) ;
	YAHOO.idahocityevents.calendar.newCal.selectEvent.subscribe( selectDateHandler, YAHOO.idahocityevents.calendar.newCal, true ) ;
	YAHOO.idahocityevents.calendar.newCal.select( todaysDate ) ;
	YAHOO.idahocityevents.calendar.newCal.addRenderer( YAHOO.idahocityevents.calendar.eventDates, YAHOO.idahocityevents.calendar.newCal.renderCellStyleHighlight2 ) ;

	// Draw it
	YAHOO.idahocityevents.calendar.newCal.render() ;
}

/**
 * Send a request for the given date to the server
 */
function sendRequest( month, day, year )
{
	var params = "month=" + month + "&day=" + day + "&year=" + year ;
	var myAjax = new Ajax.Updater( 'eventInformation', YAHOO.idahocityevents.calendar.serverURL,
								{ method: "get", parameters: params } ) ;
}

// Initialize
YAHOO.namespace( "idahocityevents.calendar" ) ;
YAHOO.util.Event.addListener( window, "load", initEventsCalendar ) ;
