     // meridian
     private static const AM:String = "am";
     private static const PM:String = "pm";
-    
+
     // default min/max date
     private static const MIN_DATE_DEFAULT:Date = new Date(1601, 0, 1);
     private static const MAX_DATE_DEFAULT:Date = new Date(9999, 11, 31, 23, 59, 59, 999);

        return null;
    }
    
    private function updateListsToSelectedDate(listsNewlyCreated:Boolean):void
    {
        var newIndex:int;
        if (yearList)
        {
            dateTimeFormatter.dateTimePattern = dateTimeFormatterEx.getYearPattern();
            newIndex = yearList.dataProvider.getItemIndex( generateDateItemObject(dateTimeFormatter.format(selectedDate), selectedDate.fullYear) );
            goToIndex(yearList, newIndex, listsNewlyCreated);
        }
        
        if (monthList)
            goToIndex(monthList, selectedDate.month, listsNewlyCreated);
        
        if (dateList)
        {
            if (displayMode == DateSelectorDisplayMode.DATE)
            {
                goToIndex(dateList, selectedDate.date - 1, listsNewlyCreated);
            }
            else // DATE_AND_TIME mode
            {
                newIndex = dateList.dataProvider.getItemIndex( generateDateItemObject(dayMonthDateFormatter.format(selectedDate), selectedDate.time) );
                goToIndex(dateList, newIndex, listsNewlyCreated);
            }
        }
        if (hourList)
        {
            // TODO: double-check the math
            newIndex = use24HourTime ? selectedDate.hours : (selectedDate.hours + 11) % 12;
            goToIndex(hourList, newIndex, listsNewlyCreated);
        }
        if (minuteList)
        {
            // TODO: calculate instead of iterate?
            newIndex = findDateItemIndexInDataProvider(selectedDate.minutes, minuteList.dataProvider);
            goToIndex(minuteList, newIndex, listsNewlyCreated);
        }
        if (!use24HourTime && meridianList)
        {
            newIndex = selectedDate.hours < 12 ? 0 : 1;
            goToIndex(meridianList, newIndex, listsNewlyCreated);
        }
        
        if (hasEventListener(FlexEvent.VALUE_COMMIT))
            dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
    }
    
    // modify existing date item spinner list data providers to mark

                        tempDate = new Date(newValue.data, selectedDate.month, 1);
                        cd = new CalendarDate(tempDate);
                        if (dateList.selectedItem.data > cd.numDaysInMonth)
                        {
                            newDate.date = cd.numDaysInMonth;
                            dateRolledBack = true;
                        }
                    }
                    newDate.fullYear = newValue.data;
                    break;
