$(document).ready(function(){
	$('#calendar_prev').click(function(){
		var date_str = $('#calendar_date').html();
		$.getJSON('/calendar/days_json/' + date_str + '/prev', function(json){
			calendar_populate_days(json);
		});
	});

	$('#calendar_next').click(function(){
		var date_str = $('#calendar_date').html();
		$.getJSON('/calendar/days_json/' + date_str + '/next', function(json){
			calendar_populate_days(json);
		});
	});
});

function calendar_init(date_str)
{
	$.getJSON('/calendar/days_json/' + date_str, function(json){
		calendar_populate_days(json);
	});

	$.getJSON('/calendar/events_json', function(json) {
		calendar_populate_events(json);
	});
}

function calendar_populate_events(data)
{
	var html = '';
	if (data.events.length == 0)
	{
		html += '<p>No events scheduled.</p>';
	}
	else
	{
		for(var day in data.events)
		{
			if(html != '')
			{
				html += '<hr class="eventSeparator" />';
			}

			if(data.events[day].title != '')
			{
				html += '<div class="eventTitle">' + data.events[day].title + '</div>';
			}
			html += '<div class="eventTime">' + data.events[day].start + '</div>';
			if(data.events[day].location != '')
			{
				html += '<div class="eventLocation">' + data.events[day].location + '</div>';
			}

			if(data.events[day].presenter != '')
			{
				html += '<div class="eventPresenter">' + data.events[day].presenter + '</div>';
				if(data.events[day].presenter_position != '')
				{
					html += '<div class="eventPresenterPosition">' + data.events[day].presenter_position + '</div>';
				}
				if(data.events[day].presenter_company != '')
				{
					if(data.events[day].presenter_department != '')
					{
						html += '<div class="eventPresenterDepartment">' + data.events[day].presenter_department + '</div>';
					}
					html += '<div class="eventPresenterCompany">' + data.events[day].presenter_company + '</div>';
				}
			}

			if(data.events[day].description != '')
			{
				html += '<div class="eventDesc">' + data.events[day].description + '</div>';
			}

			if(data.events[day].host != '')
			{	
				html += '<div class="eventHost">The CCBB Faculty host is ' + data.events[day].host + '.</div>';
			}
		}
	}

	$('#calendar_events').html(html);

	html = '';
	if(data.events.length == 0)
	{
		html += '<div class="sidebar_event">No events scheduled.</div>';
	}
	else
	{
		for(var day in data.events)
		{
			html += '<div class="sidebar_event">';
			html += '<div class="sidebar_event_title">' + data.events[day].title + '</div>';
			html += '<div class="sidebar_event_date">' + data.events[day].start + '</div>';
			html += '</div>';
		}
	}

	$('#sidebar_events').html(html);

	html = '';
	if (data.events.length == 0)
	{
		html += '<p>No events scheduled.</p>';
	}
	else
	{
		for(var day in data.events)
		{
			if(html != '')
			{
				html += '<hr class="eventSeparator" />';
			}

			if(data.events[day].title != '')
			{
				html += '<div class="eventTitle">' + data.events[day].title + '</div>';
			}
			if(data.events[day].presenter != '')
			{
				html += '<div>' + data.events[day].presenter + '</div>';
			}
			html += '<div>' + data.events[day].start + '</div>';
		}
	}

	$('#calendar_events_list').html(html);
}

function calendar_populate_days(data)
{
	$('#calendar_date').html(data.date);

	$('.calendar_week').hide();

	for(var week in data.calendar)
	{
		for(var day in data.calendar[week])
		{
			$('#calendar_' + week + '_' + day).html(data.calendar[week][day]);
			$('#calendar_' + week + '_' + day).attr('class', 'calendar_day');

			if(data.calendar[week][day] == '')
			{
				$('#calendar_' + week + '_' + day).attr('class', 'calendar_day calendar_blank');
			}
		}

		$('#calendar_' + week).show();
	}
}
