anchor.diff:      this.input = input;
       this.url = url;
       this.helperClass = "type_helper" + new Date().valueOf();
  +    this.helperSelector = "." + this.helperClass;
  +    this.spinnerClass = this.helperClass + "_spinner";
  +    this.spinnerSelector = "img." + this.helperClass + "_spinner";
       this.minLength = (minLength || 1);
   
       bindEvents.call(this);
  
positive.code:       });
      }).blur(function() {
        // if the dropdown is clicked
        if ($("." + self.helperClass).length > 0) return;
        self.input.animate({width:"150px"}, 500);
      })
  
      $("body").click(function(e){
        if (e.target == self.input[0]) return;
        if ( $("." + self.helperClass).has(e.target).length > 0) return;
        $("." + self.helperClass).remove();
        self.input.animate({width:"150px"}, 500);
      });
    }
  
negative.code: 
    function bindEvents() {
      var self = this;
      this.input.keyup(function(e) {
        if (self.input.val() == self.last_value) return;
        self.last_value = self.input.val();
  
        // if input is task num
        if (parseInt(self.input.val()) > 0) {
          show.call(self, { term: self.input.val()});
        } else if (self.input.val().length < self.minLength) {
          $(self.spinnerSelector).remove();
          $(self.helperSelector).remove();
          return;
        } else {
          show.call(self, { term: self.input.val()});
        }
      }).focusin(function() {
        if ($(self.helperSelector).length > 0) return;
  
        self.input.animate({width:"250px"}, 500, function() {
          if (self.input.val().length < self.minLength) return;
  