whole_func_string: function setupInput(input, opts) {
  
          if (!FileReaderJS.enabled) {
              return;
          }
          var instanceOptions = extend(extend({}, FileReaderJS.opts), opts);
  
          input.addEventListener("change", inputChange, false);
          input.addEventListener("drop", inputDrop, false);
  
          function inputChange(e) {
              processFileList(e, input.files, instanceOptions);
          }
  
          function inputDrop(e) {
              e.stopPropagation();
              e.preventDefault();
              processFileList(e, e.dataTransfer.files, instanceOptions);
          }
      }
func_code_string: function setupInput(input, opts) {
  
          if (!FileReaderJS.enabled) {
              return;
          }
          var instanceOptions = extend(extend({}, FileReaderJS.opts), opts);
  
          input.addEventListener("change", inputChange, false);
          input.addEventListener("drop", inputDrop, false);
  
          function inputChange(e) {
              processFileList(e, input.files, instanceOptions);
          }
  
          function inputDrop(e) {
              e.stopPropagation();
              e.preventDefault();
              processFileList(e, e.dataTransfer.files, instanceOptions);
          }
      }
func_documentation_string: setupInput: bind the 'change' event to an input[type=file]