/**
 * Inicializace kalendare
 */
$(document).ready( function() {
	$.dpText = datePickerCS;

	$('.calendar')
		.datePicker({
			inline:true,
			startDate:'01.01.1990'
		}).bind(
			'dateSelected', 
			function(e, date, $td) {
				window.location = "web/kalendar/day/" + date.getDate() + "." + 
									(date.getMonth() + 1) + "." + date.getFullYear();  
			}
		).bind(
			'dpMonthChanged',
			_load
		);
			
	function _load(event, displayedMonth, displayedYear) {
		loadCalendarData(displayedMonth + 1, displayedYear);
		window.calendarM = displayedMonth;
		window.calendarY = displayedYear;
	}
	
	_load(null, new Date().getMonth(), new Date().getFullYear());	
});

/**
 * Natahne data pro kalendar ze serveru
 */
function loadCalendarData(m, y) {
	CalService.getEventsForMonth(m, y, {
		callback : function(events) {
			for (var i = 0; i < events.length; i++) {				
				$('.jCalendar td').filter(function (index) {
					
					var calendarD = parseInt($(this).text());
					var calM = window.calendarM;
					
					if ($(this).hasClass("other-month")) {
						if (calendarD < 8) {
							var calM = calM + 1;
						} else {
							var calM = calM - 1;
						}
					}
					
					var thisDay = new Date(window.calendarY, 
							calM, 
							calendarD
						);
					
					return thisDay >= events[i].start - 86400000 && 
							thisDay <= events[i].end;
							
				}).each(
					function() {						
						$(this).css("background-color", "white");
						$(this).css("color", "#96c300");
					}
				);
			}
		}
	});					
}