var creyle = function(){

	var serverRpcRelay = '/gadgets/files/container/rpc_relay.html';

	function retrieveSecurityToken(src) {
		var st = src.split('?')[1].match(/&st=(.*?)&/);
		if (st) {
			return decodeURIComponent(st[1]);
		}
		return null;
	}

	var baseUrl = gadgets.rpc.getOrigin(window.location.href);
	gadgets.rpc.setRelayUrl('..', baseUrl + serverRpcRelay);

	return {

		config: {
			serverBase: baseUrl,
			gadgets: {}
		},

		getSecurityToken: function(name) {
			if (creyle.config.gadgets[name]) {
				return creyle.config.gadgets[name].securityToken;
			}
			return null;
		},

		getRpcUrl: function(name) {
			if (creyle.config.gadgets[name]) {
				return creyle.config.gadgets[name].baseUrl + '/social/rpc';
			}
			return null;
		},

		init: function(from) {
			var baseUrl = gadgets.rpc.getOrigin(document.getElementById(from).src);
			var st = retrieveSecurityToken(document.getElementById(from).src);
			creyle.config.gadgets[from] = {
				baseUrl: baseUrl,
				securityToken: st
			};
			gadgets.rpc.setRelayUrl(from,
				baseUrl + '/gadgets/files/container/rpc_relay.html');
			gadgets.rpc.setAuthToken(from, 0);
		}
	};

}();

