var ReqRepeater = new Class({

	options: {
		onStart: Class.empty,
		onStop: Class.empty,
		delay: 60000
	},

	initialize: function(AjaxObject, options) {
		this.setOptions(options);
		if (this.options.initialize) this.options.initialize.call(this);

		this.timeout = 0;
		this.req = AjaxObject; 		// instanceof Ajax
		this.req.addEvent('onFailure', this.stop.bind(this));
	},
	
	start: function() {
		this.fireEvent('onStart');
		this.timeout = this.request.periodical(this.options.delay, this);
	},

	request: function(){
//		if (this.timeout) return;
		this.req.request();
//		this.observeTimeout();
	},
/*
	observeTimeout: function() {
		if (this.timeout) this.timeout = $clear(this.timeout);
		else this.timeout = this.observeTimeout.delay(200, this);
	},
*/
	stop: function() {
		$clear(this.timeout);
		this.fireEvent('onStop');
	}
})

ReqRepeater.implement(new Events, new Options);
