/**
 * @author rybalchenko
 */
var currentDate = new Date();
var c_month = parseInt(currentDate.getMonth())+1, c_year = currentDate.getFullYear(), c_month_ru = currentDate.getMonth()+1, c_day = currentDate.getDate();

function reloadCalendar(selected_date) {
	// загружает AJAX календарь
	
	var tmp = new Array();      // два вспомагательных
	var tmp2 = new Array();     // массива
	var param = new Array();		
	var get = location.search;  // строка GET запроса
	if(get != '') {
		tmp = (get.substr(1)).split('&');   // разделяем переменные
		for(var i=0; i < tmp.length; i++) {
			tmp2 = tmp[i].split('=');       // массив param будет содержать
			param[tmp2[0]] = tmp2[1];       // пары ключ(имя переменной)->значение
		}
	}		
		
	// get_date - текущая дата, указанная в GET запросе
	var get_date = null;		
	if (param.date) {		
		// инициируем дату как указаную в GET
		var tt = param.date.split('.');
		get_date = new Date(tt[2],parseInt(tt[1])-1,tt[0]);
	} else {
		// инициируем дату как сегодняшний день
		get_date = new Date();
	}
	
	// формируем selected_date - запрос календаря на сервер
	if (selected_date == 'next') {
		var d = '15';
		var m = c_month <=11 ? (parseInt(c_month)+1) : 1;
		var y = c_month <=11 ? c_year : (parseInt(c_year)+1);
		selected_date = d + '.' + m + '.' + y;
	} else if (selected_date == 'prev') {
		var d = '15';
		var m = c_month >=2 ? (parseInt(c_month)-1) : 12;
		var y = c_month >=2 ? c_year : (parseInt(c_year)-1);
		selected_date = d + '.' + m + '.' + y;
	} else if (selected_date){
		// указана дата
		
	} else {
		// берём из GET
		selected_date = param.date ? param.date : new Date().format('dd.mm.yyyy');
	}  
	
				
    $.ajax({
        type: "POST",
        url: "/calendar.php?sub=get_calendar",
		dataType: "json",
        data: {
			date : selected_date
		},
	success: function(res){
		c_month = res.month;
		c_year = res.year;
		c_month_ru = '';
		
		switch (parseInt(res.month)) {
			case 1: c_month_ru = 'Январь'; break;
			case 2: c_month_ru = 'Февраль'; break;
			case 3: c_month_ru = 'Март'; break;
			case 4: c_month_ru = 'Апрель'; break;
			case 5: c_month_ru = 'Май'; break;
			case 6: c_month_ru = 'Июнь'; break;
			case 7: c_month_ru = 'Июль'; break;
			case 8: c_month_ru = 'Август'; break;
			case 9: c_month_ru = 'Сентябрь'; break;
			case 10: c_month_ru = 'Октябрь'; break;
			case 11: c_month_ru = 'Ноябрь'; break;
			case 12: c_month_ru = 'Декабрь'; break;
		}
						
		if (res.days.length > 0) {
			$('.calendar-days div.calendar:not(.header)').remove();

			for(var key in res.days) {
				var cal_class = '';
				
				if (res.days[key].income_class) {
					cal_class += ' ' + res.days[key].income_class; 
				}
				
				var date_income = new Date(parseInt(res.days[key].year), parseInt(res.days[key].month)-1, parseInt(res.days[key].day));							
				
				if (date_income.format('dd.mm.yyyy') == get_date.format('dd.mm.yyyy')) {
					cal_class += ' current';
				}
					
				if (date_income.format('dd.mm.yyyy') == new Date().format('dd.mm.yyyy')) {
					cal_class += ' today';
				}													
		
				var item = '';
				var a_href = '/calendar.php?date='+ res.days[key].day +'.'+ res.days[key].month +'.'+ res.days[key].year; 
				
				item += '<div class="calendar'+ cal_class +'" onclick="location.href=\''+ a_href +'\'">';
				item += '<a href="'+ a_href +'">';
				item += res.days[key].day;
				item += '</a>';
				item += '</div>';
				$('.calendar-days').append(item);	
			}
			$("#datepicker_month option, #datepicker_year option").removeAttr('selected');
			$("#datepicker_year").val(res.year);		
			$("#datepicker_month").val(res.month);
			
		}
	}
    });		
}
		
$(document).ready(function(){
	reloadCalendar();
	$('.calendar-checkbox').change(function(){
		reloadCalendar();
	});
	
	$('#datepicker_month, #datepicker_year').change(function(){
		var month = parseInt($('#datepicker_month').val());
		var year = $('#datepicker_year').val();
		var day = c_day;
		var picked_date = day + '.' + month + '.' + year;
		reloadCalendar(picked_date);
	});
	
	$("#datepicker_month [value='"+ c_month +"']").attr('selected','selected'); 
	$("#datepicker_year [value='"+ c_year+"']").attr('selected','selected');		
	
});
