       invalidDate = $input.nextAll('.datetime_suggest').hasClass('invalid_datetime')
       !($input.val() == '') && !invalidDate
 
+    rowIsBlank: (row) ->
+      blank = true
+      for i in $(row).find('input')
+        blank = false if i.value != ''
+      blank
+
     blocks: () ->
       ary = []
       for range in @blocksManager.blocks

      input = event.target
      $input = $(input)
      unless @validField(input)
        # blank rows are OK
        allBlank = true
        for i in $input.closest('tr').find('input')
          allBlank = false if i.value != ''

        $input.addClass 'error' unless allBlank
      else
        $input.val $input.nextAll('.datetime_suggest').text()


      valid = true

      @blocksManager.reset()

      @div.find('.time-block-list-body').find('tr').each (i, row) =>
        return if @rowIsBlank(row)

        $row = $(row)
        for fieldName in ['date', 'start_time', 'end_time']
