$(document).ready(function(){
    var now = new Date();  
    ev = resetTimes(ev);
    now.setHours(0,0,0,0);
    $('.calendar_picker').css('position', 'relative');
    $('.calendar_picker').DatePicker({
        flat: true,
        date: [],
        format:'Y/m/d',
        mode: 'single',
        calendars: 1,
        monthYearSelector: false,
        onRender: function(date) {
            return {
                disabled: ($.inArray(date.valueOf(), ev) == -1),
                className: date.valueOf() == now.valueOf() ? (($.inArray(now.valueOf(), ev) > -1)? 'datepickerSpecialActive':'datepickerSpecial') : false
            }
        },
        onChange: function(formatted, dates){
                window.location.href = mYPath.replace(/\d+\/\d+/, formatted);
        },
        onMYSelector: function(formatted){
                window.location.href = mYPath.replace(/\d+\/\d+/, formatted);
        },
        onGoDays: function(formattedYear, formattedMonth){
            $('.calendar_picker').append('<div id="calendar_loading" style="position:absolute; top:3%; left:3%; z-index:9999; width:94%; height:94%; background: #fff url(/images/ajax-loader.gif) center no-repeat; overflow:hidden"></div>');
            $('#calendar_loading').css('opacity', 0.4);
            $.getJSON(gMPath, 'year=' + formattedYear + '&month=' + formattedMonth, function(data){
                    ev = resetTimes(data);
                    $('.calendar_picker').DatePickerClear();
                    $('#calendar_loading').remove();
                });
        },
        starts: 1,
        locale: {
            days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"],
            daysShort: ["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob", "Nie"],
            daysMin: ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "Nd"],
            months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
            monthsShort: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"],
            weekMin: 'ty'
        }
    });
    function resetTimes(dates){
        $.each(dates, function(i, val){
                val = val.split('-');
                var date = new Date(val[0], val[1] - 1, val[2]);
                date.setHours(0,0,0,0);
                dates[i] = date.valueOf();
        });
        return dates;
    }
});
