function RInstantiator(className)
{
	// the url in which instantiation is done
	this.REQUEST_URL = "./jsonrpc/instantiate.php";
	
	// name of the php class
	this.className = className;	


	this.instantiateWithParamsArray = function(constParams, callback)
	{
		
		var request = new AsyncRequest();
		request.setUrl(this.REQUEST_URL);
		request.setVariables("className=" + this.className + "&params=" + escape(JSON.stringify(constParams)));
		
		request.setMethod("POST");
	
		request.setSuccessCallback(function(o){var json = unescape(o.responseText.split("&returningObject=")[1]); var rObject = eval( "(" + unescape(json) + ")" ); callback(rObject); } );
		request.makeRequest();

	}

	this.instantiate = function(callback)
	{
		
		
		var constParams = arguments;
		
		for (var i = 0; i < arguments.length - 1 ; i++ )
		{
			constParams[i] = arguments[i];
		}
		
		this.instantiateWithParamsArray(constParams, callback);
	}



}								
