// Календарь
var Calendar = function()
{
	// Переменные
	var _path_ajax = "/calendar";
	
	// Константы
	var _MESSAGE =
	{
		"loading" : "Загрузка",
		"error"   : "Произошла непредвиденная ошибка или слишком долго выполнялась операция"
	}
	
	// Формирование ошибки
	var _BuildError = function()
	{
		//alert( _MESSAGE["error"] );
	}
	
	// Формирование календаря
	var _BuildCalendar = function( data )
	{
		var str = "";
		var str2 = "";
		
		if( data.calendar != null && data.calendar.length > 0 )	
		{
			str = "<tr>";
			for( var i=0; i < data.calendar.length; i++ )
			{
				var _class = "class=\"";
				if( data.calendar[i].today ) _class += "active today";
				if( data.calendar[i].day_title ) _class += " hover";
				_class += "\"";

				if(data.calendar[i].event)
				{
					str += "<td><span id=\"calendar-date-"+data.calendar[i].day_number+"\" "+_class+" onclick=\"calendar.ShowDay('"+data.calendar[i].day_number+"')\">"+data.calendar[i].day_number+"</span></td>";
					
					if(data.calendar[i].today)
					str2 += "<div id=\"calendar-message-"+data.calendar[i].day_number+"\" class=\"rc-content calendar-content\">";
					else str2 += "<div id=\"calendar-message-"+data.calendar[i].day_number+"\" class=\"rc-content calendar-content\" style=\"display:none;\">";
					
					var image = "";
					if(data.calendar[i].image != "")
					{
						if(data.calendar[i].linkimage != "")
							 image = '<a href="'+data.calendar[i].linkimage+'" target="_blank" style="display:block;margin-top:10px;"><img src="/sfiles/calendar/'+data.calendar[i].image+'"/></a>'; 
						else image = '<img src="/sfiles/calendar/'+data.calendar[i].image+'" style="margin-top:10px;"/>'; 
					}
					
					str2 += "<div class=\"rcbl-head\"><span>"+data.calendar[i].day_title+"</span></div>"+data.calendar[i].text+image+"</div>";
				}
				else str += "<td><span id=\"calendar-date-"+data.calendar[i].day_number+"\" "+_class+">"+data.calendar[i].day_number+"</span></td>";
				
				if(data.calendar[i].tr) str += "</tr><tr>";
			}
			str += "</tr>";
		}
		
		$('.calendar-days').html(str);
		$('#calendar-messages').html(str2);
		
		var str3 = "";
		str3 = "<a href=\"javascript:void(0);\" class=\"calendar-prev\" onclick=\"calendar.Previos('"+data.previosmonth+"','"+data.previosyear+"')\"><-</a>";
		str3 += data.monthname+", "+data.year;
		str3 += "<a class=\"calendar-next\" href=\"javascript:void(0);\" onclick=\"calendar.Next('"+data.nextmonth+"','"+data.nextyear+"')\">-></a>";		
		
		$('.calendar-title').html(str3);
	}
	
	// Назад ( AJAX )
	this.Previos = function( month, year )
	{
		var jqxhr = $.ajax({ url: _path_ajax, type: "post", dataType: "json", cache: false, data:{ month: month, year: year, action: 'previos' }});
		jqxhr.success(function( resp )
		{
			_BuildCalendar( resp.calendar ); 
		});
		jqxhr.error(function(){ _BuildError(); });
	}
	
	// Вперёд ( AJAX )
	this.Next = function( month, year )
	{
		var jqxhr = $.ajax({ url: _path_ajax, type: "post", dataType: "json", cache: false, data:{ month: month, year: year, action: 'next' }});
		jqxhr.success(function( resp )
		{
			_BuildCalendar( resp.calendar ); 
		});
		jqxhr.error(function(){ _BuildError(); });

	}
	
	// Показать день
	this.ShowDay = function( day_number )
	{
		$(".calendar-content").hide();		
		$(".active").removeClass('active');
		$("#calendar-message-"+day_number).show();
		$("#calendar-date-"+day_number).addClass('active');
	}
}

var calendar = new Calendar();
