DataService = function() {
	var me = this;
	me._url = 'api/'
	
	me.init = function() {
	}
		
	me.destroy = function() {
	}
	
	me.query = function(query, callback, errorcb) {
		me._performCall('query', query, callback, errorcb);
	}
	
	me.getDeclinations = function(callback, errorcb) {
		me._performCall('declinations', null, callback, errorcb);
	}
	
	me._performCall = function(opName, args, callback, errorcb) {
		var data = null;
		
		if (args != null) {
			method = 'POST';
			data = JSON.stringify(args);
		} else {
			method = 'GET';
		}
		
		$.ajax({
			url: me._url + opName,
			type: method,
			data: data,
			dataType: 'json',
			contentType: 'application/json',
			success: function(result) {
				if (callback != undefined) {
					callback(result);
				}
			},
			error: function(result) {
				if (errorcb != undefined) {
					errorcb(result);
				}
			}
		});
	}
	
	me.init();
}
