text: if (typeof Function.prototype.bind != 'function') {
    Function.prototype.bind = function bind(obj) {
      var args = Array.prototype.slice.call(arguments, 1),
      self = this,
      nop = function() {
      },
      bound = function() {
        return self.apply(
            this instanceof nop ? this : (obj || {}), args.concat(
              Array.prototype.slice.call(arguments)
              )
            );
      };
      nop.prototype = this.prototype || {};
      bound.prototype = new nop();
      return bound;
    };
  }
  