﻿function daysin(month, year) {
    var IsLeap = parseInt(year);
    IsLeap = !(IsLeap % 4) && ((IsLeap % 100) || !(IsLeap % 400));
    //find the number of days in that month
    IsLeap = [31, (IsLeap ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][parseInt(month) - 1];
    return IsLeap;
}

function regenerateDays(form, field) {
    var dayField = document.forms[form].elements[field + "dag"];
    var monthField = document.forms[form].elements[field + "maand"];
    var yearField = document.forms[form].elements[field + "jaar"];
    days = daysin(monthField[monthField.selectedIndex].value, yearField[yearField.selectedIndex].value);
    // Voeg dagen toe als er te weinig dagen woren weergegeven
    if (days >= dayField.length) {
        for (i = dayField.length; days > dayField.length; i++) {
            dayField.options[i] = new Option(i + 1, i + 1);
        }
    }
    // Verwijder dagen als er te veel dagen woren weergegeven
    if (days < dayField.length) {
        for (i = dayField.length; days < dayField.length; i--) {
            dayField.options[i] = null;
        }
    }

}

function append_day_script(form, field) {
    var dayField = document.forms[form].elements[field + "dag"];
    var monthField = document.forms[form].elements[field + "maand"];
    var yearField = document.forms[form].elements[field + "jaar"];
    monthField.onchange = function() {
        regenerateDays(form, field);
    }
    yearField.onchange = function() {
        regenerateDays(form, field);
    }
    regenerateDays(form, field);
}