     $("tfoot#selection").toggle(hasSelection)
 
   updateProgress = (current) ->
-    percent = current / parseInt($("#progress-inner").data("total")) * 100
-
+    # save the current state
+    $("#progress-inner").data("current", current)
+
+    # do the calculation
+    total = parseInt($("#progress-inner").data("total"))
+    percent = current / total * 100
     $("#progress-inner").width("#{percent}%")
 
   $(document).on "click", "#globalSelect i.fa-check-square-o", (event) ->

      .flatMap (x) -> moveGame x
      .subscribe (x) ->
        # TODO usefully calculate current progress instead of always using 100%
        updateProgress parseInt $("#progress-inner").data("total")
      , ((x) -> console.log "Error while moving: #{x}")
      , -> $("#progress-container").hide()
    console.log "Moving stuff"

        totalSize = _(games).pluck("size").reduce((a,b)->a+b)
        $("#progress-inner").data("total", totalSize)

        # set total to number of games because we're lazy
        $("#progress-inner").data("total", games.length)

        # make sure the progress bar starts at zero
        updateProgress 0

        # show the progress bar
        $("#progress-container").show()
