Vn.HttpRequest = new Class
({
	kvPairs: {}

	,add: function (map)
	{
		for (var key in map)
			this.kvPairs[key] = map[key];
	}
	
	,send: function (file, callback)
	{
		this.request = new XMLHttpRequest ();
		this.request.open ('post', file, true);
		this.request.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
		this.request.onreadystatechange = this.requestStateChanged.bind (this, callback);
		this.request.send (Vn.Url.makeUri (this.kvPairs));
	}
	
	,requestStateChanged: function (callback)
	{
		if (this.request.readyState == 4 && callback)
			callback (this, this.request.status == 200);
	}
	
	,getJson: function ()
	{
		return eval ('('+ this.request.responseText +')');
	}
});
