 
             if (!value.rangeStart && value.rangeEnd)
             {
-                selRangeMode = 3;
+                selRangeMode = END_ONLY;
                 _selectableRange.rangeEnd = value.rangeEnd;
                 
                 if (todaysYear <= _selectableRange.rangeEnd.getFullYear())

    public function get selectedRanges():Array
    {
        if (_selectableRange)
        {
            switch (selRangeMode)
            {
                case 1:
                {
                    removeRangeFromSelection(null, _selectableRange.rangeStart);
                    removeRangeFromSelection(_selectableRange.rangeEnd, null);
                    break;
                }

                case 2:
                case 3:
                {
                    removeRangeFromSelection(_selectableRange.rangeEnd,
                                             _selectableRange.rangeStart);
                    break;
                }

                case 4:
                {
                    removeRangeFromSelection(null, _selectableRange as Date);
                    removeRangeFromSelection(_selectableRange as Date, null);

            }
            
            switch (rangeMode)
            {	
                case START_END:
                {
                    if (value < dateRange.rangeStart ||
                        value > dateRange.rangeEnd)
