var Remote = {
	call: function(uri, callback)
	{
		var strArgs = '';
		var args = '';
		var data = null; 
		
		for ( var i = 2; i < arguments.length; i++ )
		{
			if(typeof arguments[i] == 'object')
				strArgs+= (strArgs=='' ?'' :',') + 'arguments['+i+']';
			else
				strArgs+= (strArgs=='' ?'' :',') + arguments[i];
		}
		
		if ( strArgs!='' )
		{
			eval('args = [' + strArgs + '];');
			
			data = {_args: args}
		}
		 
		var options = {
			onComplete: callback,
			url: 'http://'+location.hostname+Remote.site_url( uri.replace(/\./, '/') ),
			method: 'post',
			data: data
		};
		
		new Request.JSON(options).send();
	},
	
	base_url: function()
	{
		return __base_url;
	},
	
	site_url: function(uri)
	{
		uri = (uri != null ? uri :'');
		
		var url = Remote.base_url() + __index_page;
		
		url+= ( url.substring(url.length-1, url.length) == '/' ?'' :( uri != '' ?'/' :'' ) ) + uri;

		return url;
	}
};
