

TYPO3BE = function() {
			
	var mainMenuPanel, treePanel, contentPanel, extrasPanel;
	
	return {
		init : function() {
			var contentMenu = new Ext.menu.Menu({
				id: 'contentMenu',
				items: [
					new Ext.menu.Item({
						text: 'New',
						menu: {
							id: 'contentNewMenu',
							items: [
								new Ext.menu.Item({
									text: 'Page',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Folder',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Content Element',
									handler: clickHandler
								}),
								'-',
								new Ext.menu.Item({
									text: 'News',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'FAQ',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Cal Event',
									handler: clickHandler
								})
							]
						}
					}),
					new Ext.menu.Item({
						text: 'New with Wizard',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Used Documents',
						handler: clickHandler
					}),
					'-',
					new Ext.menu.Item({
						text: 'Close',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Save',
						handler: clickHandler
					}),
					'-',
					new Ext.menu.Item({
						text: 'Export',
						handler: clickHandler
					})
					
				]
			});
			
			var editMenu = new Ext.menu.Menu({
				id: 'editMenu',
				items: [
					new Ext.menu.Item({
						text: 'Undo',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Redo',
						handler: clickHandler
					}),
					'-',
					new Ext.menu.Item({
						text: 'Cut',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Copy',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Paste',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Delete',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Select All',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Unselect',
						handler: clickHandler
					}),
					'-',
					new Ext.menu.Item({
						text: 'Search',
						handler: clickHandler
					})
				]
			});
			
			var viewMenu = new Ext.menu.Menu({
				id: 'viewMenu',
				items: [
					new Ext.menu.Item({
						text: 'Tree',
						menu: {
							id: 'viewTreeMenu',
							items: [
								new Ext.menu.Item({
									text: 'Expand All',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Collapse All',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Expand Row',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Collapse Row',
									handler: clickHandler
								})
							]
						}
					}),
					'-',
					new Ext.menu.Item({
						text: 'Page',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Preview',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'List',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Access Control',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Media',
						menu: {
							id: 'viewMediaMenu',
							items: [
								new Ext.menu.Item({
									text: 'Files',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'List',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Categories',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Indexing',
									handler: clickHandler
								})
							]
						}
					}),
					'-',
					new Ext.menu.Item({
						text: 'Open Documents',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'History',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Show/Hide Sidebar',
						handler: clickHandler
					})
				]
			});
			
			var toolsMenu = new Ext.menu.Menu({
				id: 'toolsMenu',
				items: [
					new Ext.menu.Item({
						text: 'Info',
						menu: {
							id: 'toolsInfoMenu',
							items: [
								new Ext.menu.Item({
									text: 'Tree Overview',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Translations Overview',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Page TSconfig',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Indexed Search',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Indexed Search Statistics',
									handler: clickHandler
								})
							]
						}
					}),
					new Ext.menu.Item({
						text: 'Extensions',
						menu: {
							id: 'toolsExtensionsMenu',
							items: [
								new Ext.menu.Item({
									text: 'News Category Manager',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'TIMTAB Blog Manager',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Templavoilą Wizard',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Direct Mail',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Speaking URL Management',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Statistics',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Recycler',
									handler: clickHandler
								})
							]
						}
					}),
					new Ext.menu.Item({
						text: 'Logs',
						menu: {
							id: 'toolsLogsMenu',
							items: [
								new Ext.menu.Item({
									text: 'System Log',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Error Log',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Cron Log',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Dev Log',
									handler: clickHandler
								})
							]
						}
					}),
					new Ext.menu.Item({
						text: 'Admin Tools',
						menu: {
							id: 'toolsAdminToolsMenu',
							items: [
								new Ext.menu.Item({
									text: 'Templates',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'BE Users',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Extension Manager',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'DB Check',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Configuration',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Installation',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Indexing',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'phpMyAdmin',
									handler: clickHandler
								}),
								new Ext.menu.Item({
									text: 'Caching',
									handler: clickHandler,
								})
							]
						}
					})
				]
			});
			
			var userMenu = new Ext.menu.Menu({
				id: 'userMenu',
				items: [
					new Ext.menu.Item({
						text: 'Task Center',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Settings',
						handler: clickHandler
					})
				]
			});
			
			var helpMenu = new Ext.menu.Menu({
				id: 'helpMenu',
				items: [
					new Ext.menu.Item({
						text: 'Editors Manual',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Admin Guide',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'Give Feedback',
						handler: clickHandler
					}),
					new Ext.menu.Item({
						text: 'About TYPO3',
						handler: clickHandler
					})
				]
			});
			
			var mainMenuBar = new Ext.ux.Menubar({
				orientation: 'horizontal'
			});
			
			mainMenuBar.add(
				new Ext.menu.TextItem('<img src="typo3-logo.gif">'),
				new Ext.menu.Item({
					text: 'Content',
					menu: contentMenu
				}),
				new Ext.menu.Item({
					text: 'Edit',
					menu: editMenu
				}),
				new Ext.menu.Item({
					text: 'View',
					menu: viewMenu
				}),
				new Ext.menu.Item({
					text: 'Tools',
					menu: toolsMenu
				}),
				new Ext.menu.Item({
					text: 'User',
					menu: userMenu
				}),
				new Ext.menu.Item({
					text: 'Help',
					menu: helpMenu
				}),
				new Ext.menu.Item({
					text: '[Livesearch Icon]',
					align: 'right'
				}),
				new Ext.menu.Item({
					text: '[Dashboard Icon]',
					align: 'right'
				}),
				new Ext.menu.Item({
					text: 'Logout',
					align: 'right'
				}),
				new Ext.menu.Item({
					text: '[red trash]',
					align: 'right',
					icon: 'clear_cache_files_in_typo3c.gif'
				}),
				new Ext.menu.Item({
					text: '[blue trash]',
					align: 'right',
					icon: 'clear_all_cache.gif'
				})
			);
			
			mainMenuBar.show(Ext.get('mainMenu'), 'bl-bl');
			
			var pageTree = new Ext.tree.TreePanel(
				'tree',
				{
					loader: new Ext.tree.TreeLoader(),
					containerScroll: true,
					animate: false,
					enableDD: true,
					rootVisible: true
				}
			);
			
			var pageTreeRoot = new Ext.tree.AsyncTreeNode(
			{
				text: 'World',
				id:'world',
				draggable: false,
				children: [
					{
						text: 'Europe',
						id: 'europe',
						children: [
							{
								text: 'Germany',
								id: 'de',
								leaf: true
							},
							{
								text: 'Denmark',
								id: 'dk',
								leaf: true
							},
							{
								text: 'Switzerland',
								id: 'ch',
								leaf: true
							},
							{
								text: 'Austria',
								id: 'at',
								leaf: true
							},
							{
								text: 'Italy',
								id: 'it',
								leaf: true
							},
							{
								text: 'France',
								id: 'fr',
								leaf: true
							},
							{
								text: 'Spain',
								id: 'es',
								leaf: true
							},
							{
								text: 'Great Britain',
								id: 'uk',
								leaf: true
							}
						]
					},
					{
						text: 'North America',
						id: 'northAmerica',
						children: [
							{
								text: 'Bahamas',
								id: 'ba',
								leaf: true
							},
							{
								text: 'Barbados',
								id: 'bar',
								leaf: true
							},
							{
								text: 'Canada',
								id: 'ca',
								leaf: true
							},
							{
								text: 'Costa Rica',
								id: 'cr',
								leaf: true
							},
							{
								text: 'Domincan Republic',
								id: 'dr',
								leaf: true
							},
							{
								text: 'Mexico',
								id: 'me',
								leaf: true
							},
							{
								text: 'Puerto Rico',
								id: 'pr',
								leaf: true
							},
							{
								text: 'USA',
								id: 'us',
								leaf: true
							},
							{
								text: 'U.S. Virgin Islands',
								id: 'usvi',
								leaf: true
							}
						]
					},
					{
						text: 'South America',
						id: 'southAmerica',
						children: [
							{
								text: 'Argentina',
								id: 'ar',
								leaf: true
							},
							{
								text: 'Brazil',
								id: 'br',
								leaf: true
							},
							{
								text: 'Chile',
								id: 'chi',
								leaf: true
							},
							{
								text: 'Ecuador',
								id: 'ec',
								leaf: true
							},
							{
								text: 'Peru',
								id: 'pe',
								leaf: true
							},
							{
								text: 'Panama',
								id: 'pa',
								leaf: true
							}
						]
					},
					{
						text: 'Asia',
						id: 'asia',
						children: [
							{
								text: 'Kazakhstan',
								id: 'ka',
								leaf: true
							},
							{
								text: 'Uzbekistan',
								id: 'uz',
								leaf: true
							},
							{
								text: 'China',
								id: 'vr',
								leaf: true
							},
							{
								text: 'Japan',
								id: 'jp',
								leaf: true
							},
							{
								text: 'South Korea',
								id: 'sk',
								leaf: true
							},
							{
								text: 'Taiwan',
								id: 'tw',
								leaf: true
							},
							{
								text: 'Laos',
								id: 'la',
								leaf: true
							},
							{
								text: 'Malaysia',
								id: 'ma',
								leaf: true
							},
							{
								text: 'Philippines',
								id: 'ph',
								leaf: true
							}
						]
					},
					{
						text: 'Australia',
						id: 'australia',
						leaf: true
					},
					{
						text: 'Africa',
						id: 'africa',
						children: [
							{
								text: 'Egypt',
								id: 'eg',
								leaf: true
							},
							{
								text: 'Kenya',
								id: 'ke',
								leaf: true
							},
							{
								text: 'Madagaskar',
								id: 'ma',
								leaf: true
							},
							{
								text: 'Uganda',
								id: 'ug',
								leaf: true
							},
							{
								text: 'Angola',
								id: 'an',
								leaf: true
							},
							{
								text: 'South Africa',
								id: 'sa',
								leaf: true
							},
							{
								text: 'Nigeria',
								id: 'ni',
								leaf: true
							}
						]
					},
					{
						text: 'Antarctica',
						id: 'antarctica',
						leaf: true
					}
				]
			});
			pageTree.setRootNode(pageTreeRoot);
			pageTree.render();
			pageTree.on('contextmenu', prepareClickMenu);
			pageTreeRoot.expand(false, false);
			
			var clickMenu = new Ext.menu.Menu({
				id: 'clickMenu',
				item: [
					new Ext.menu.Item({
						text: 'Show'
					}),
					new Ext.menu.Item({
						text: 'Edit'
					}),
					new Ext.menu.Item({
						text: 'New'
					}),
					new Ext.menu.Item({
						text: 'Info'
					}),
					'-',
					new Ext.menu.Item({
						text: 'Cut'
					}),
					new Ext.menu.Item({
						text: 'Copy'
					}),
					new Ext.menu.Item({
						text: 'Paste'
					}),
					'-',
					new Ext.menu.Item({
						text: 'Versioning'
					}),
					new Ext.menu.Item({
						text: 'Send to Review/Pub'
					}),
					'-',
					new Ext.menu.Item({
						text: 'Hide'
					}),
					new Ext.menu.Item({
						text: 'Visibility Settings'
					}),
					new Ext.menu.Item({
						text: 'Edit Page Properties'
					}),
					'-',
					new Ext.menu.Item({
						text: 'History/Undo'
					}),
					new Ext.menu.Item({
						text: 'Delete'
					})
				]
			});
			
			var sm = pageTree.getSelectionModel();
			
			function prepareClickMenu(node, e){
				node.select();
				clickMenu.showAt(e.getXY());
			}
			
			function clickHandler() {
				alert('Clicked on a menu item');
			}
			
			var mainLayout = new Ext.BorderLayout(
				document.body,
				{
					north: {
						initialSize: 26
					},
					west: {
						split: true,
						titlebar: false,
						collapsible: true,
						initialSize: 245
					},
					center: {
						autoScroll: true
					},
					east: {
						split: true,
						titlebar: false,
						collapsible: true,
						initialSize: 150
					}
				}
			);
			mainLayout.beginUpdate();
			mainLayout.add('north', mainMenuPanel = new Ext.ContentPanel('mainMenu', 
					{
						fitToFrame: true,
						closable: false
					}
				)
			);
			mainLayout.add('west', treePanel = new Ext.ContentPanel('tree', 
					{
						fitToFrame: true,
						title: 'Tree'
					}
				)
			);
			mainLayout.add('center', contentPanel = new Ext.ContentPanel('content', 
					{
						fitToFrame: true
					}
				)
			);
			mainLayout.add('east', extrasPanel = new Ext.ContentPanel('extras', 
					{
						fitToFrame: true,
						title: 'Extras'
					}
				)
			);
			mainLayout.endUpdate();
			
//			contentPanel.setUrl('ext/docs/output/ContentPanels.jss.html');
//			contentPanel.refresh();
		}
	};
}();

Ext.BLANK_IMAGE_URL = 'clear.gif';

Ext.EventManager.onDocumentReady(
	function() {
		TYPO3BE.init();
		Ext.QuickTips.init();
	}, 
	TYPO3BE, 
	true
);
		
		
		
		