if (typeof GG == 'undefined') {
	var GG = {};
}

GG.namespace = function(){
	var target;
	var args = arguments;
	for (var i = 0; i < arguments.length; i++) {
		target = GG;
		var namespaces = arguments[i].split(".");
		for (var j = (namespaces[0] == 'GG' ? 1 : 0); j < namespaces.length; j++) {
			target = (target[namespaces[j]] = target[namespaces[j]] || {});
		}
	}
	return target;
};

if (typeof ia == 'undefined') {
	var ia = {};
}

/**
* Register one or more namespace.
*/
ia.ns = function(){
	for (var i = 0; i < arguments.length; i++) {
		var node = ia;
		var ns = arguments[i].split('.');
		if (ns[0] == 'ia') {
			ns.shift();
		}
		for (var j = 0; j < ns.length; j++) {
			if (typeof node[ns[j]] == 'undefined') {
				node[ns[j]] = {};
			}
			node = node[ns[j]];
		}
	}
	return node;
};
