function Socket(url){
	var self = this;
	var request = new AjaxRequest(url);
		request.onData = function(data_str){
			var data;
			try{
				data = eval(data_str);
			}catch(e){
				self.onError(data_str);
				return;
			}
			self.onData(data);
		};
	this.request = request;
	this.parameters = [];
}
Socket.prototype = {
	request:null,
	parameters:null,
	send:function(){
		this.request.reset();
		var params = "";
		for(paramname in this.parameters)
			params += "&"+paramname+"="+this.parameters[paramname];
		this.request.send(params);
	},
	onData:function(data){ },
	onError:function(str){ },
	setParameter:function(param, value){ this.parameters[param] = value; },
	getParameter:function(param){ return this.parameters[param]; },
	reset:function(){ this.parameters = []; this.request.reset();},
	toString:function(){ return "Socket["+this.paramString()+"]"; },
	paramString:function(){
		var str = "url="+this.request.url;
			str += ",parameters=[";
		for(name in this.parameters)
			str += ""+name+"="+this.parameters[name];
		str += ",";
		return str;
	}
}

