<!DOCTYPE html>

<meta charset=="utf-8">

<script src="dist/dropzone.js"></script>

<link rel="stylesheet" href="dist/dropzone.css">

<script>

  Dropzone.options.newTheme = {
    maxFilesize: 1,
    parallelUploads: 1,
    uploadMultiple: true,
    addRemoveLinks: true,
    init: function() {

      var _this = this;
      this.on("addedfile", function(file) {
        file.previewElement.querySelector(".dz-remove").addEventListener("click", function() {
          console.log(file);
          //do some ajax
          _this.removeFile(file);
          // here it crashes

        });
      });

    }
  };

  var minSteps = 6,
          maxSteps = 60,
          timeBetweenSteps = 100,
          bytesPerStep = 100000;

  Dropzone.prototype.uploadFiles = function(files) {
    var self = this;

    for (var i = 0; i < files.length; i++) {

      var file = files[i];
      totalSteps = Math.round(Math.min(maxSteps, Math.max(minSteps, file.size / bytesPerStep)));

      for (var step = 0; step < totalSteps; step++) {
        var duration = timeBetweenSteps * (step + 1);
        setTimeout(function(file, totalSteps, step) {
          return function() {
            file.upload = {
              progress: 100 * (step + 1) / totalSteps,
              total: file.size,
              bytesSent: (step + 1) * file.size / totalSteps
            };

            self.emit('uploadprogress', file, file.upload.progress, file.upload.bytesSent);
            if (file.upload.progress == 100) {
              file.status = Dropzone.SUCCESS;
              self.emit("success", file, 'success', null);
              self.emit("complete", file);
              self.processQueue();
            }
          };
        }(file, totalSteps, step), duration);
      }
    }
  }



</script>

<div class="container" id="container">

  <form action="http://www.torrentplease.com/dropzone.php" class="dropzone" id="new-theme"></form>

</div>