var selectedMonth = new Date().getMonth(); // 0-11
var selectedYear = new Date().getFullYear(); // 4-digit year
    
jQuery('#year-prev').bind('click', function() {
	//
	selectedMonth--;
    if (selectedMonth < 0) {
        selectedMonth = 11;
        selectedYear--;
    }
    //
    makeCalendar();
	//
	return false;
});

jQuery('#year-next').bind('click', function() {
	//
	selectedMonth++;
    if (selectedMonth > 11) {
        selectedMonth = 0;
        selectedYear++;
    }
    //
    makeCalendar();
	//
	return false;
});

function makeCalendar() {
	var todayDay = new Date().getDate();
    var todayMonth = new Date().getMonth(); // 0-11
	var todayYear = new Date().getFullYear(); // 4-digit year
	//
    jQuery('#cal_title').html(getMonthName(selectedMonth) + ', ' + selectedYear);
    //
    var firstDay = getFirstDayofMonth(selectedYear, selectedMonth);
    var countDay = getDaysInMonth(selectedYear, selectedMonth);
    var i = 0;
    var id = '';
    for (i = 0; i <= 41; i++) {
    	id = '#d'+i;
    	var day = i - firstDay + 1;
    	//
    	if (jQuery(id).hasClass('current')) {
    		jQuery(id).removeClass('current');
    	}
    	if (jQuery(id).hasClass('event')) {
    		jQuery(id).removeClass('event');
    	}
    	//
    	if ((i >= firstDay) && (day <= countDay)) {
    		if ((todayDay == day) && (todayMonth == selectedMonth) && (todayYear == selectedYear)) {
    			jQuery(id).html(day);
    			jQuery(id).addClass('current');
    		} 
    		jQuery(id).html(day);
       	} else {
       		jQuery(id).html('&nbsp;');
       	}
    }
    //
    $.getScript("/calendar/loadevent/?month="+selectedMonth+"&year="+selectedYear+"&fd="+firstDay);
    //
}

function getDaysInMonth(year, month) {
    return 32 - new Date(year, month, 32).getDate();
}

function getFirstDayofMonth(year, month) {
    var day;
    day = new Date(year, month, 0).getDay();
    return day;
}

function getMonthName(month) {
    var monthNames = new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
    return monthNames[month];
}

function getDayName(day) {
    var dayNames = new Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')
    return dayNames[day];
}

// init
makeCalendar(selectedMonth, selectedYear);
