+ proceed(transport, json);
+ }).bind(this);
+
+ $super(url, options);
+ },
+
+ request: function($super, url) {
+ this.timeout = (function() {
+ this.options.onFailure(null);
+ this.abort();
+ }).bind(this).delay(this.delay);
+ $super(url);
+ }
+});
+
+Ajax.Responders.register({
+ // needed for Ajax.TimedRequest.abort to work: see
+ // http://blog.pothoven.net/2007/12/aborting-ajax-requests-for-prototypejs.html
+ // again
+ onComplete: function() {
+ Ajax.activeRequestCount--;
+ if (Ajax.activeRequestCount < 0) {
+ Ajax.activeRequestCount = 0;