Zfse = {
	_settings : new Object(),	
		
	init : function(settings){
		Zfse._settings = settings;
	},

	loadModule : function(module, params){
		var arr, path, uri;

		if(typeof(params) == 'object'){
			for(var key in params){
				eval(key+' = params[key];');
			}
		}
		
		if(typeof(module) != 'Array'){
			arr = [module];
		}

		for(var i=0;i<arr.length;i++){
			path = Zfse._parseClassPath(arr[i]);
			uri = Zfse.getSetting('libUri')+'/'+path;
			
			Zfse.requireOnce(uri);
		}
	},
	
	requireOnce : function(uri){
		document.write('<script src="', uri, '" type="text/JavaScript"><\/script>');
	},
	
	getSetting : function(setting){
		switch(setting){
			case 'imageUri':
				return this.getSetting('libUri') + '/../images'
				break;
			case 'mediaUri':
				return this.getSetting('libUri') + '/../media'
				break;
			default:
				return Zfse._settings[setting];
				break;
		}
	},
	
	_parseClassPath : function(className){
		var items = className.split('_');
		
		if(items[0]){
			return items.join('/') + '.js';
		}
		else{
			return className + '.js';
		}
		
	}
}
