var EventCalendar = {
    activeEventDates : [],
    getActiveEventDates : function(year, month)
    {
        $.ajax({
            type: 'POST',
            url: '/subpage/get-event-dates/month/'+month+'/year/'+year,
            dataType: 'json',
            success: function(data) {
                EventCalendar.activeEventDates = data;
            },
            async:   false
        });
    },
    insertEventContent : function(data)
    {
        var content = '';
        for(var key in data)
        {
            var title = 'Brak tytułu wydarzenia';
            if(data[key].title_event)
                title = data[key].title_event;
            content += '<div class="eventRow"><a href="/aktualnosc/'+data[key].title_link+'/'+data[key].id+'">'+title+'</a> <span>('+data[key].event_date+')</span></div>';
        }
        $('#eventsContent').html(content);
    },
    _getActiveContent : function(suffix)
    {
        $.ajax({
            type: 'POST',
            url: '/subpage/get-event-content/'+suffix,
            dataType: 'json',
            success: function(data) {
                EventCalendar.insertEventContent(data);
            },
            async:   false
        });
    },
    getActiveEventContentForMonth : function(year,month)
    {
        this._getActiveContent('month/'+month+'/year/'+year);
    },
    getActiveEventContent : function(date)
    {
        this._getActiveContent('date/'+date);
    },
    init : function()
    {
        var todayDate = new Date();
        EventCalendar.getActiveEventDates(todayDate.getFullYear(), parseInt(todayDate.getMonth())+1);
        EventCalendar.getActiveEventContentForMonth(todayDate.getFullYear(),parseInt(todayDate.getMonth())+1);
        $('#eventsCallendar').datepicker({
            onChangeMonthYear: function(year, month, inst) {
                EventCalendar.getActiveEventDates(year, month);
                EventCalendar.getActiveEventContentForMonth(year,month);
            },
            onSelect: function(dateText, inst) {
                EventCalendar.getActiveEventContent(dateText);
            },
            beforeShowDay: function(date) {
                var resp= [false, '', ''];
                for (var key in EventCalendar.activeEventDates) 
                {
                    if(parseInt(EventCalendar.activeEventDates[key].day) == date.getDate())
                    {
                        resp[0] = true;
                        return resp;
                    }
                }
                return resp;
            },
            maxDate: '+6m'
        });
    }
}



$(document).ready(function(){
    EventCalendar.init();
});



