﻿function updateDays(Day, Month, Year) {
    var ddlDays = document.getElementById(Day);
    var iMonth = document.getElementById(Month).value;
    var iYear = Number(document.getElementById(Year).value);

    if (ddlDays) {

        switch (Number(iMonth)) {

            case 1: case 3: case 5: case 7: case 8: case 10: case 12:
                {
                    setDays(ddlDays, 31);

                    break;
                }
            case 2:
                {
                    if (iYear) {
                        if (checkYear(iYear)) {
                            setDays(ddlDays, 29);
                        }
                        else {
                            setDays(ddlDays, 28);
                        }
                    }
                    else {
                        setDays(ddlDays, 29);
                    }

                    break;
                }
            case 4: case 6: case 9: case 11:
                {
                    setDays(ddlDays, 30);

                    break;
                }

        }

    }
}

function updateDayFromYear(Day, Month, Year) {

    var ddlDays = document.getElementById(Day);
    var iMonth = Number(document.getElementById(Month).value);
    var iYear = Number(document.getElementById(Year).value);

    if (ddlDays) {

        if (iMonth == 2) {
            if (checkYear(iYear)) {
                setDays(ddlDays, 29);
            }
            else {
                setDays(ddlDays, 28);
            }
        }

    }
}

function checkYear(year) {
    return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? true : false;
}

function setDays(ddlDays, Days) {
    var iCount = ddlDays.options.length - 1;

    while (iCount > Days) {

        ddlDays.options.remove(iCount);

        iCount--;
    }

    while (iCount < Days) {

        var sDay = (iCount + 1).toString();
        var oOption = document.createElement("option");
        oOption.appendChild(document.createTextNode(sDay));
        oOption.setAttribute("value", sDay);

        ddlDays.options.appendChild(oOption);

        iCount++;
    }
}
