const monthNames = [
    "Январ", "Феврал", "Март", "Апрел", "Май", "Июн",
    "Июл", "Август", "Сентябр", "Октябр", "Ноябр", "Декабр"
];

const worldHolidays = {
    // ҷашнҳои январ 
    "1-1": "Оғози Соли Нав (Дар тамоми ҷаҳон)",
    "1-30": "Иди Сада",
    //  ҷашнҳои феврал 
    "2-14": "Рӯзи Ошиқон",
    "2-23": "Рӯзи Қувваҳои Мусаллаҳи Ҷумҳурии Тоҷикистон",
    // ҷашнҳои март
    "3-8": "Рӯзи Занон",
    "3-21": "Иди байналмилалии Наврӯз",
    "3-22": "Иди байналмилалии Наврӯз",
    "3-23": "Иди байналмилалии Наврӯз",
    "3-24": "Иди байналмилалии Наврӯз",
    // ҷашнҳои апрел 
    "4-1": "Рузи дуруғгуён",
    //ҷашнҳои май
    "5-1": "Рӯзи Меҳнаткашон",
    "5-9": "Рӯзи Ғалабa дар  Ҷанги Бузурги Ватанӣ (1941-1945)",
    //ҷашнҳои июн
    "6-27": "Рӯзи Ваҳдати миллӣ",
    //ҷашнҳои июл
    //"7-25": "Рождество (католическое)",
    // ҷашнҳои август
    //"8-31": "Новый год (канун)",
    //ҷашҳои сентябр 
    "9-9": "Рӯзи Истиқлолияти давлатии Ҷумҳурии Тоҷикистон",
    //ҷашнҳои октябр 
    "10-5": "Рӯзи забони давлатии Ҷумҳурии Тоҷикистон",
    "10-8": "Иди Меҳргон",
    //ҷашнҳои ноябр
    "11-6": "Рӯзи Конститутсияи Ҷумҳурии Тоҷикистон",
    "11-16": "Рӯзи Президенти Ҷумҳурии Тоҷикистон",
    "11-24": "Рӯзи Парчами миллии Ҷумҳурии Тоҷикистон",
    //ҷашнҳои декабр 
    //"12-31": "Новый год (канун)",
};

let currentDate = new Date();

function renderYearOptions() {
    const yearSelect = document.getElementById('year-select');
    const currentYear = currentDate.getFullYear();

    // 
    for (let i = currentYear - 500; i <= currentYear + 500; i++) {
        const option = document.createElement('option');
        option.value = i;
        option.textContent = i;
        if (i === currentYear) {
            option.selected = true;
        }
        yearSelect.appendChild(option);
    }
}

function renderCalendar() {
    const daysContainer = document.getElementById('calendar-days');
    const monthYearDisplay = document.getElementById('month-year');
    const holidayListContainer = document.getElementById('holiday-list');
    daysContainer.innerHTML = ''; // тоза кардани календар 
    holidayListContainer.innerHTML = ''; // тоза кардани рӯйхати ҷашнҳо

    const year = currentDate.getFullYear();
    const month = currentDate.getMonth();

    monthYearDisplay.textContent = `${monthNames[month]} ${year}`;

    const firstDay = new Date(year, month, 1).getDay();
    const daysInMonth = new Date(year, month + 1, 0).getDate();

    for (let i = 0; i < (firstDay === 0 ? 6 : firstDay - 1); i++) {
        const emptyCell = document.createElement('div');
        emptyCell.classList.add('day');
        daysContainer.appendChild(emptyCell);
    }

    for (let day = 1; day <= daysInMonth; day++) {
        const dayElement = document.createElement('div');
        dayElement.classList.add('day');
        dayElement.textContent = day;

        if (
            day === new Date().getDate() &&
            month === new Date().getMonth() &&
            year === new Date().getFullYear()
        ) {
            dayElement.classList.add('today');
        }

        const holidayKey = `${month + 1}-${day}`;
        if (worldHolidays[holidayKey]) {
            dayElement.classList.add('holiday');
            dayElement.title = worldHolidays[holidayKey];

            const holidayItem = document.createElement('li');
            holidayItem.textContent = `${day} ${monthNames[month]}: ${worldHolidays[holidayKey]}`;
            holidayListContainer.appendChild(holidayItem);
        }

        daysContainer.appendChild(dayElement);
    }
}

function changeYear() {
    const selectedYear = document.getElementById('year-select').value;
    currentDate.setFullYear(parseInt(selectedYear));
    renderCalendar();
}

function prevMonth() {
    currentDate.setMonth(currentDate.getMonth() - 1);
    renderCalendar();
}

function nextMonth() {
    currentDate.setMonth(currentDate.getMonth() + 1);
    renderCalendar();
}

document.addEventListener('DOMContentLoaded', () => {
    renderYearOptions();
    renderCalendar();
});