@@ -157,7 +157,7 @@ $.fn.calendar = function(parameters) {
157
157
var onShow = function ( ) {
158
158
//reset the focus date onShow
159
159
module . set . focusDate ( module . get . date ( ) ) ;
160
- module . set . mode ( settings . startMode ) ;
160
+ module . set . mode ( module . get . validatedMode ( settings . startMode ) ) ;
161
161
return settings . onShow . apply ( $container , arguments ) ;
162
162
} ;
163
163
var on = module . setting ( 'on' ) ;
@@ -197,6 +197,7 @@ $.fn.calendar = function(parameters) {
197
197
date = parser . date ( $input . val ( ) , settings ) ;
198
198
}
199
199
module . set . date ( date , settings . formatInput , false ) ;
200
+ module . set . mode ( module . get . mode ( ) , false ) ;
200
201
}
201
202
} ,
202
203
@@ -622,6 +623,9 @@ $.fn.calendar = function(parameters) {
622
623
mode : function ( ) {
623
624
//only returns valid modes for the current settings
624
625
var mode = $module . data ( metadata . mode ) || settings . startMode ;
626
+ return module . get . validatedMode ( mode ) ;
627
+ } ,
628
+ validatedMode : function ( mode ) {
625
629
var validModes = module . get . validModes ( ) ;
626
630
if ( $ . inArray ( mode , validModes ) >= 0 ) {
627
631
return mode ;
@@ -739,7 +743,7 @@ $.fn.calendar = function(parameters) {
739
743
module . set . monthOffset ( monthOffset , false ) ;
740
744
}
741
745
}
742
- var changed = module . set . dataKeyValue ( metadata . focusDate , date , refreshCalendar ) ;
746
+ var changed = module . set . dataKeyValue ( metadata . focusDate , date , ! ! date && refreshCalendar ) ;
743
747
updateFocus = ( updateFocus !== false && changed && refreshCalendar === false ) || focusDateUsedForRange != updateRange ;
744
748
focusDateUsedForRange = updateRange ;
745
749
if ( updateFocus ) {
0 commit comments