function requestData(template, callback, variables, onlyReturnFirstElement) {
	var link = dir;
	var parameters = '_resource=' + escape(template) + (sid ? '&' + sid : '');
	
	$each(variables, function(v, k){
		parameters += '&' + k + '=' + escape(v);
	});
		
	var request = new Request.JSON({
		url: link,
		data: '_ajax=1&'+parameters,
		onComplete: (function(data){
			if (this.onlyReturnFirstElement && data && data.length == 1) {
				callback(data[0]);
				return;
			}
			
			callback(data);
			
		}).bind({cb: callback, onlyReturnFirstElement: onlyReturnFirstElement})
	}).send();
}

//requestData('data.xml', function(data){alert(data[5].beginn);}, {'id1': 4, 'id2': 5});