var Component = new Class({
	moduleName : "",
	cmpName : "",
	responderName : "",

	initialize : function(cmpName) {
		this.cmpName = cmpName;
	},

	setResponderName : function(respName) {
		this.responderName = respName;
	},

	callService : function(objRef, serviceName, parameters) {
		//alert("callService =" + window.location.pathname);
		var PHPFilename = getPHPFilename(window.location.pathname);
		var myObj = this;
		var responderName = this.responderName;
		var cmpName = this.cmpName;
		var params = parameters;
		var ctx = getUrlParams();
		for (var i in ctx) {
			params["context_" + i] = ctx[i];
		}
		var urlParams = getUrlParams();
		var req = new Request.JSON({
			url : PHPFilename + "?mode=ajax&service=" + serviceName + "&responder=" + responderName,
			method : "post",
			data : params,
			onSuccess : function(responseJSON) {
				objRef.success(responseJSON, objRef, serviceName);
			},
			onFailure : myObj.failed,
			async: false
		});
		req.send();
		//alert("end callService mode=ajax&service=" + serviceName + "&responder=" + responderName);
	},

	success : function(json, objRef, serviceName) {
	//alert("success"+objRef.getName());
		objRef.handleServices(serviceName, json);
	},

	failed : function() {
		alert("Request failed");
	}
});

