(function($) {
	$.fn.rianCalendarType2 = function(options) {
		// Обявляем дефолтные значения и переопределяем их , если они переданы в функцию
		var options = $.extend({
			daysBlock: "ul.days"
		}, options || {});

		var calendar = this;

		// Названия месяцев
		var calendarMonths = ['', 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
		var currentMonth = options.months[1];
		var currentYear = options.years[1];

		// Обновление дней
		var updateDays = function() {
			var currentMonthFormated = currentMonth;
			if (currentMonthFormated < 10) {
				currentMonthFormated = '0'+currentMonthFormated;
			}
			// Url с данным
			var jsonURL = '/'+options.url+'/'+currentYear+currentMonthFormated+'01/calendar.json';
			
			var params = [];
			
			if (typeof(options.ajaxHandler) == 'function') {
				params.push('url-suffix=index.json');
			}
			if(options.fromArticle) {
				params.push('fromArticle=1');
			}
			
			if(params.length) {
				jsonURL += '?'+params.join('&');
			}

			// Получаем новые дни с сервера
			$.ajax({
				url: jsonURL,
				dataType : "html",
				beforeSend: function(){
					$('#'+options.spinnerID).show();
				},
				success: function (data, textStatus) {
					$('#'+options.monthID).text(calendarMonths[currentMonth]);

					if (currentYear * 12 + currentMonth < options.years[2] * 12 + options.months[2]) $("#"+options.rightArr).removeClass("hidden");
					else  $("#"+options.rightArr).addClass("hidden");
					
					if (currentYear * 12 + currentMonth > options.years[0] * 12 + options.months[0]) $("#"+options.leftArr).removeClass("hidden");
					else $("#"+options.leftArr).addClass("hidden");
					
					$('#'+options.spinnerID).hide();
					$(options.daysBlock, calendar).empty().append(data);
					
					if (typeof(options.ajaxHandler) == 'function') {
						options.ajaxHandler();
					}
				}
			});
		}

		$("#"+options.leftArr).click(function(){
			if (currentMonth == 1) {
				currentMonth = 12;
				currentYear--;
			} else {
				currentMonth--;
			}
			updateDays();
		});

		$("#"+options.rightArr).click(function() {
			if (currentMonth == 12) {
				currentMonth = 1;
				currentYear++;
			} else {
				currentMonth++;
			}
			updateDays();
		});
		
		// Если определен - вместо перехода по ссылке статьи загружаются в указанный контейнер
		if (typeof(options.ajaxHandler) == 'function') {
			options.ajaxHandler();
		}
	}
})(jQuery);
