{
    self.spinner.style.display = "none";
  }
  //reset on returning to beginning
  if (self.lastTime > player.currentTime && player.currentTime == 0) {
    self.loops += 1;
    self.lastTime = null;
  }

  //if we returned to beginning, or it's been 5 seconds
  if (self.loops > self.lastReportedLoop) {
    if (self.loops <= 10) {
      self.recordStat("play", {
        loops: self.loops,
        progress: player.duration ? (player.currentTime / player.duration).toFixed(2) : 0
      })
      self.lastRepor