    
    $(document).ready(function() {
        let onlyThisTrainingToggle = 0;

        let mounthsArray = [
            'Январь',
            'Февраль',
            'Март',
            'Апрель',
            'Май',
            'Июнь',
            'Июль',
            'Август',
            'Сентябрь',
            'Октябрь',
            'Ноябрь',
            'Декабрь'
        ];

        let mounthsAbbreviatedArray = [
            'Янв',
            'Фев',
            'Мар',
            'Апр',
            'Май',
            'Июн',
            'Июл',
            'Авг',
            'Сен',
            'Окт',
            'Ноя',
            'Дек'
        ];

        Date.prototype.daysInMonth = function() {
            return 32 - new Date(this.getFullYear(), this.getMonth(), 32).getDate();
        };

        let currentDay = new Date(),
            currentYear,
            currentMounth,
            currentMounthDays,
            prevMonthDays,
            firstWeekDayMounth;

        let scheduleDaysArray = [],
            today = Date.now();

        $('.schedule-block .day').each(function(index, elem) {
            let scheduleDay,
                scheduleDayRecord = [];
            if ($(elem).hasClass('today')) {
                scheduleDay = `${("0" + new Date(today).getDate()).slice(-2)}/${new Date(today).getMonth() + 1}/${new Date(today).getFullYear()}`;
            } else if ($(elem).find('.day-label').text().indexOf('Завтра') !== -1) {
                let tomorrow = new Date(today + 86400000);
                scheduleDay = `${("0" + tomorrow.getDate()).slice(-2)}/${tomorrow.getMonth() + 1}/${tomorrow.getFullYear()}`;
            } else if ($(elem).find('.day-label').text().indexOf('Вчера') !== -1) {
                let yesterday = new Date(today - 86400000);
                scheduleDay = `${("0" + yesterday.getDate()).slice(-2)}/${yesterday.getMonth() + 1}/${yesterday.getFullYear()}`;
            } else {
                let dayArray = $(elem).find('.day-label').text().replace(',', '').split(' '),
                    correctDay = dayArray[0].substr(0, 1) !== '0' ? dayArray[0] : dayArray[0].substr(1, 2),
                    correctMounth = mounthsAbbreviatedArray.indexOf(dayArray[1]),
                    correctYear = new Date(today).getFullYear();
                if (new Date(today).getMonth() === 11 && correctMounth === 0) {
                    correctYear = new Date(today).getFullYear() + 1;
                } else if (new Date(today).getMonth() === 0 && correctMounth === 11) {
                    correctYear = new Date(today).getFullYear() - 1;
                }
                scheduleDay = `${correctDay}/${correctMounth + 1}/${correctYear}`;
            }
            $(elem).attr('data-date', scheduleDay.trim());
            scheduleDaysArray.push(scheduleDay.trim());
        });

        /*console.log('массив scheduleDayRecord = ' + scheduleDayRecord);*/
        console.log('массив scheduleDaysArray = ' + scheduleDaysArray);


        let aboutMounth = function(currentDay) {
            currentYear = currentDay.getFullYear();
            currentMounth = currentDay.getMonth();
            currentMounthDays = currentDay.daysInMonth();
            prevMonthDays = new Date(currentMounth === 0 ? currentYear - 1 : currentYear, currentMounth === 0 ? 11 : currentMounth - 1, 1).daysInMonth();
            firstWeekDayMounth = new Date(currentYear, currentMounth, 1).getDay() === 0 ? 6 : new Date(currentYear, currentMounth, 1).getDay() - 1;

            $('.timetable-head-mounth').text(`${mounthsArray[currentMounth]}`);
            $('.timetable-head-year').text(`${currentDay.getFullYear().toString()}`);

            let sumDays = 1,
                nextMounthSumDays = 1,
                prevMounthSumDays = prevMonthDays - firstWeekDayMounth + 1;

            $('.timetable-body-week td').each(function(index, elem) {
                $(elem).removeClass('current');
                $(elem).removeClass('active');
                $(elem).removeClass('today');
                $(elem).find('.schedule-records').remove();
                $(elem).attr('data-date', '');

                if (index < firstWeekDayMounth) {
                    $(elem).text(prevMounthSumDays);
                    prevMounthSumDays++;
                } else if (index >= firstWeekDayMounth && index < currentMounthDays + firstWeekDayMounth) {
                    $(elem).html(`<span>${sumDays}</span>`);
                    $(elem).addClass('current');
                    $(elem).attr('data-date', `${("0" + sumDays).slice(-2)}/${currentMounth + 1}/${currentYear}`);
                    sumDays++;
                } else if (index >= currentMounthDays) {
                    $(elem).text(nextMounthSumDays);
                    nextMounthSumDays++;
                }


                if ($(elem).attr('data-date') == `${("0" + new Date(today).getDate()).slice(-2)}/${new Date(today).getMonth() + 1}/${new Date(today).getFullYear()}`) {
                    $(elem).addClass('today');
                }



                if (onlyThisTrainingToggle != 1) {
                    if (scheduleDaysArray.indexOf($(elem).attr('data-date')) !== -1) {
                        console.log('$(elem).data("date") = ' + $(elem).data('date'));
                        $(elem).addClass('active');
                        $(elem).append('<ul class="schedule-records"></ul>');
                        $(`.schedule-block .day[data-date="${$(elem).data('date')}"] .record`).each(function(i, el) {
                            $(elem).find('.schedule-records').append(`
                            <li>
                                <span class="time">${$(el).find('.time').text()}</span>
                                <span class="event">${$(el).find('.event').html()}</span>
                            </li>
                            `);
                        });
                    }
                } else {
                    if (scheduleDaysArray.indexOf($(elem).attr('data-date')) !== -1) {
                        $(`.schedule-block .day[data-date="${$(elem).data('date')}"] .record`).each(function(i, el) {
                            let reg = /(.*<\/a>)\n\t*(<br>)(.*)/gi
                            let trScheduleName = $(el).find('.event').html().replace(reg, '$3').trim();
                            let trName = '';
                            if ($('.page-header h1').length){
                                trName = $('.page-header h1').text().trim();
                            } else {         
                                trName = $('head title').html().trim();
                            }



                            if (trScheduleName.includes(trName) > 0) {
                                $(elem).addClass('active');
                                $(elem).not(':has(.schedule-records)').append('<ul class="schedule-records"></ul>');
                                $(elem).find('.schedule-records').append(`
                                <li>
                                <span class="time">${$(el).find('.time').text()}</span>
                                <span class="event">${$(el).find('.event').html()}</span>
                                </li>
                                `);
                            }
                        });
                    }
                }
            });
            if ($('.timetable-body-week:last-child').find('.current').length === 0) {
                $('.timetable-body-week:last-child').addClass('hide');
            } else {
                $('.timetable-body-week:last-child').removeClass('hide');
            }
        };

        aboutMounth(currentDay);

        $('.timetable-head-arrow-prev').click(function() {
            currentDay = new Date(currentMounth === 0 ? currentYear - 1 : currentYear, currentMounth === 0 ? 11 : currentMounth - 1, 1);
            aboutMounth(currentDay);
        });

        $('.timetable-head-arrow-next').click(function() {
            currentDay = new Date(currentMounth === 11 ? currentYear + 1 : currentYear, currentMounth === 11 ? 0 : currentMounth + 1, 1);
            aboutMounth(currentDay);
        });
    });
