anchor.diff:        });
         // handle uploads - when user clicks submit button
         $('#submit_btn').on('click', function (ev) {
  +        disableSubmit();
           // if there are some local files to upload
           if (localFilesToUpload.length > 0) {
             // throw an error if the upload size is too big
  
positive.code:               alertUploadTooLarge();
                tooLargeAlerted = true;
              }
            // otherwise, disable the submit button and kick off the upload of the first file (subsequent ones will be kicked off by the 'done' callback)
            } else {
              disableSubmit();
              firstFile = localFilesToUpload.shift();
              // add in a post parameter to indicate that this is the first file of an upload (which can be used to delete any previous uploads)
              firstFile.formData["first"] = 1;
  
negative.code:       var disableSubmit = function () {
          $("#submit_btn").attr("disabled", true);
          $("#submit_btn").html("Please wait...");
          $("#file_upload_btn").attr("disabled", true);
          $("#dir_upload_btn").attr("disabled", true);
          $("#google-drive-btn").attr("disabled", true);
        };
        var enableSubmit = function () {
          $("#submit_btn").attr("disabled", false);
          $("#submit_btn").html("Submit");
          $("#file_upload_btn").attr("disabled", false);
          $("#dir_upload_btn").attr("disabled", false);
          $("#google-drive-btn").attr("disabled", false);
        };
        var finishUpload = function () {
          // submit the main form
  