	send: function(options){		var old = this.options;		options = $extend({data: old.data, url: old.url, method: old.method}, options);		var data = options.data, url = options.url, method = options.method;				if (this.options.autoCancel) this.cancel();		else if (this.running) return this;		this.running = true;				switch($type(data)){			case 'element': data = $(data).toQueryString(); break;			case 'object': case 'hash': data = Hash.toQueryString(data);		}				if (this.options.emulation && ['put', 'delete'].contains(method)){			var _method = '_method=' + method;			data = (data) ? _method + '&' + data : _method;			method = 'post';		}				if (this.options.urlEncoded && method == 'post'){			var encoding = (this.options.encoding) ? '; charset=' + this.options.encoding : '';			this.headers.set('Content-type', 'application/x-www-form-urlencoded' + encoding);		}				if (data && method == 'get'){			url = url + (url.contains('?') ? '&' : '?') + data;			data = null;		}				this.xhr.open(method.toUpperCase(), url, this.options.async);				this.xhr.onreadystatechange = this.onStateChange.bind(this);				this.headers.each(function(value, key){			try{				this.xhr.setRequestHeader(key, value);			} catch(e){				this.fireEvent('onException', [e, key, value]);			}		}, this);				this.fireEvent('onRequest');		this.xhr.send(data);		if (!this.options.async) this.onStateChange();		return this;	},
6991	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6991/bb7ba4f85620c5ad07e48227c0a1b87153a9c92a/Request.js/buggy/Source/Request/Request.js