﻿var monthArray = [
{ month: 'January', value:1, days: 31 },
{ month: 'February', value:2, days: 29 },
{ month: 'March', value:3, days: 31 },
{ month: 'April', value:4, days: 30 },
{ month: 'May', value:5, days: 31 },
{ month: 'June', value:6, days: 30 },
{ month: 'July', value:7, days: 31 },
{ month: 'August', value:8, days: 31 },
{ month: 'September', value:9, days: 30 },
{ month: 'October', value:10, days: 31 },
{ month: 'November', value:11, days: 30 },
{ month: 'December', value:12, days: 31 }
];

function populateMonthList(monthListID)
{
    var monthList = $(monthListID);
    clearList(monthList);
    
    addListItem(monthList, "", "Select Month");
    monthArray.each(function(item)
    {
        var listItem = addListItem(monthList, item.value, item.month);
        listItem.dayCount = item.days;
    });
}

function populateDays(monthListID, dayListID)
{
    var monthList = $(monthListID);
    var dayList = $(dayListID);
    var selectedIndex = dayList.selectedIndex; //save current selection
    
    clearList(dayList);
    addListItem(dayList, "", "---");
    
    for(var i=1;i<=monthList.options[monthList.selectedIndex].dayCount;i++)
    {
        addListItem(dayList, i, i);
    }
    
    //Restore previous selection
    if(dayList.options.length > selectedIndex)
        dayList.selectedIndex = selectedIndex
    else
        dayList.selectedIndex = dayList.options.length - 1;
}

function addListItem(list, value, innerHTML)
{
    var listItem = document.createElement("option");
    list.options.add(listItem);
    listItem.value = value;
    listItem.innerHTML = innerHTML;
    return listItem;
}

function clearList(list)
{
    while(list.options.length > 0)
    {
        list.options[0] = null; //remove item from list
    }
}

function setDate(monthListID, dayListID, month, day)
{
    var monthList = $(monthListID);
    var dayList = $(dayListID);
    
    monthList.selectedIndex = month;
    populateDays(monthListID, dayListID);
    dayList.selectedIndex = day;
}