Request.HTML = Class.refactor(Request.HTML, {
  options: {
      evalExternalScripts: true
  },
  success: function(text) {
    if (this.options.evalExternalScripts) {
      var regex = /<script.*src=('|")([^>'"\r\n]*)('|")[^>]*><\/script>/gi;
      var matches = scripts = [];
      while (matches = regex.exec(text)) {
          scripts.push(matches[2]);
      }
      if (scripts.length > 0) {
        var h = document.getElementsByTagName('head')[0];
        var sobjects = [];
        scripts.each(function(script){
          sobjects.push(new Element('script', {type: 'text/javascript', src: script}));
          h.grab(sobjects[sobjects.length-1]);
        });
        var fn = this.previous;
        var group = new Group(sobjects);
        group.addEvent('load', function() {fn.apply(this,[text]);}.bind(this));
      } else
        this.previous(text);
    } else
      this.previous(text);
  }
});
