dist/b-datepicker.js
function(year, month)
        {
            var opts   = this._o,
                now    = new Date(),
                days   = getDaysInMonth(year, month),
                before = new Date(year, month, 1).getDay(),
                data   = [],
                row    = [];
            setToStartOfDay(now);
            if (opts.firstDay > 0) {
                before -= opts.firstDay;
                if (before < 0) {
                    before += 7;
                }
            }
            var cells = days + before,
                after = cells;
            while(after > 7) {
                after -= 7;
            }
            cells += 7 - after;
            for (var i = 0, r = 0; i < cells; i++)
            {
                var day = new Date(year, month, 1 + (i - before)),
                    isDisabled = (opts.minDate && day < opts.minDate) || (opts.maxDate && day > opts.maxDate),
                    isSelected = isDate(this._d) ? compareDates(day, this._d) : false,
                    isToday = compareDates(day, now),
                    isEmpty = i < before || i >= (days + before);

                row.push(renderDay(1 + (i - before), isSelected, isToday, isDisabled, isEmpty));

                if (++r === 7) {
                    data.push(renderRow(row, opts.isRTL));
                    row = [];
                    r = 0;
                }
            }
            return renderTable(opts, data);
        }
function(year, month)
        {
            var opts   = this._o,
                now    = new Date(),
                days   = getDaysInMonth(year, month),
                before = new Date(year, month, 1).getDay(),
                data   = [],
                row    = [];
            setToStartOfDay(now);
            if (opts.firstDay > 0) {
                before -= opts.firstDay;
                if (before < 0) {
                    before += 7;
                }
            }
            var cells = days + before,
                after = cells;
            while(after > 7) {
                after -= 7;
            }
            cells += 7 - after;
            for (var i = 0, r = 0; i < cells; i++)
            {
                var day = new Date(year, month, 1 + (i - before)),
                    isDisabled = (opts.minDate && day < opts.minDate) || (opts.maxDate && day > opts.maxDate),
                    isSelected = isDate(this._d) ? compareDates(day, this._d) : false,
                    isToday = compareDates(day, now),
                    isEmpty = i < before || i >= (days + before);

                row.push(renderDay(1 + (i - before), isSelected, isToday, isDisabled, isEmpty));

                if (++r === 7) {
                    data.push(renderRow(row, opts.isRTL));
                    row = [];
                    r = 0;
                }
            }
            return renderTable(opts, data);
        }
function ( year , month ) { var opts = this . _o , now = new Date ( ) , days = getDaysInMonth ( year , month ) , before = new Date ( year , month , 1 ) . getDay ( ) , data = [ ] , row = [ ] ; setToStartOfDay ( now ) ; if ( opts . firstDay > 0 ) { before -= opts . firstDay ; if ( before < 0 ) { before += 7 ; } } var cells = days + before , after = cells ; while ( after > 7 ) { after -= 7 ; } cells += 7 - after ; for ( var i = 0 , r = 0 ; i < cells ; i ++ ) { var day = new Date ( year , month , 1 + ( i - before ) ) , isDisabled = ( opts . minDate && day < opts . minDate ) || ( opts . maxDate && day > opts . maxDate ) , isSelected = isDate ( this . _d ) ? compareDates ( day , this . _d ) : false , isToday = compareDates ( day , now ) , isEmpty = i < before || i >= ( days + before ) ; row . push ( renderDay ( 1 + ( i - before ) , isSelected , isToday , isDisabled , isEmpty ) ) ; if ( ++ r === 7 ) { data . push ( renderRow ( row , opts . isRTL ) ) ; row = [ ] ; r = 0 ; } } return renderTable ( opts , data ) ; }
render HTML for a particular month
render HTML for a particular month