FR = {
	baseURL: URLRoot,
	lastSelectedFile: '',
	currentSelectedFile: '',
	myfilesBaseURL: URLRoot+'/?module=fileman_myfiles&section=ajax',
	logoutURL: URLRoot+'/?module=fileman&page=login&action=logout'+((Settings.logout_redirect) ? '&redirect='+encodeURIComponent(Settings.logout_redirect) : ''),
	actions: {},
	utils: {},
	tmp: {},
	UI: {
		xy: [],
		popups: [],
		tree: {
		},
		grid: {
			contextMenu: {
				options: {}
			},
			customColumns: [],
			highlightOnDisplay:false,
			loadParams: {},
			currentView: Settings.ui_default_view
		},
		toolbar: {
			items: {}
		},
		gridToolbar: {
			items: {}
		},
		translations: [],
		popImporterWindow: '',
		changePassWindow: '',
		uploadTabs: {
			java: false,
			html: false,
			flash: false
		},
		delConfirmWin: false,
		folderDelConfirmWin: false
	}
}

function FRExtonReady() {
	Ext.QuickTips.init();
	FR.cookieProvider = new Ext.state.CookieProvider();
	Ext.state.Manager.setProvider(FR.cookieProvider);
	Ext.override(Ext.Component, {
	    saveState : function(){
	        if(Ext.state.Manager && this.stateful !== false){
	            var state = this.getState();
	            if(this.fireEvent('beforestatesave', this, state) !== false){
	                Ext.state.Manager.set(this.stateId || this.id, state);
	                this.fireEvent('statesave', this, state);
	            }
	        }
	    },
	    stateful : false
	});
	Ext.QuickTips.init();
	FR.initToolbar();
	FR.UI.grid.initGrid();
	FR.UI.grid.initContextMenu();
	FR.initTree();
	FR.UI.tree.initContextMenu();
	FR.initTreeDD();
	FR.initLayout();
	
	if (FR.startFolder) {
		FR.UI.tree.panel.selectPath('/ROOT/HOME/'+FR.startFolder, 'pathname');
	} else {
		FR.UI.tree.homeFolderNode.select();
		FR.UI.tree.homeFolderNode.expand();
	}	if (Ext.isGecko) {
		window.captureEvents(Event.DRAGDROP);
		window.addEventListener("dragdrop", function(e) {
			alert('To upload files drag them over the upload pane.');
			FR.UI.showUploadForm();
			e.stopPropagation();
			return false;
		}, true);
	}
}
