@SuppressWarnings("rawtypes")
	private JPanel createSelectionPanel()
	{
		JPanel masterPanel = new JPanel(new BorderLayout());
		JPanel panel = new JPanel(new FlowLayout());

		ArrayList<String> s = new ArrayList<String>();
		Map<String, EditorLevelInformation> tempLevels = frame.getLevels();
		if (tempLevels.size() > 0)
		{
			for (int i = 0; i < tempLevels.size(); i++)
			{
				s.add("Level " + (i + 1));
			}

			JComboBox<String[]> levelBox = new JComboBox(s.toArray());
			levelBox.setSelectedIndex(selectedLevel - 1);
			levelBox.addActionListener(new ActionListener()
			{
				@Override
				public void actionPerformed(ActionEvent e)
				{
					JComboBox<String> cb = (JComboBox<String>) e.getSource();
					selectedLevel = cb.getSelectedIndex() + 1;
					selectedMap = 0;
					frame.loadLevelAndMap(selectedLevel, selectedMap);
				}
			});
			panel.add(levelBox);
		}

		s = new ArrayList<String>();
		EditorLevelInformation tempMaps = frame.getLevels().get("level " + selectedLevel);
		if (tempMaps.getMaps().size() > 0)
		{
			for (int i = 0; i < tempMaps.getMaps().size(); i++)
			{
				s.add("Map " + i);
			}
			JComboBox<String> mapBox = new JComboBox(s.toArray());
			mapBox.setSelectedIndex(selectedMap);
			mapBox.addActionListener(new ActionListener()
			{
				@Override
				public void actionPerformed(ActionEvent e)
				{
					JComboBox cb = (JComboBox) e.getSource();
					selectedMap = cb.getSelectedIndex();
					frame.loadLevelAndMap(selectedLevel, selectedMap);
				}
			});
			panel.add(mapBox);
		}
		masterPanel.add(panel, BorderLayout.NORTH);

		panel = new JPanel(new GridLayout(4, 1));
		EditorMapInformation currentMap = frame.getLevels().get("level " + selectedLevel).getMaps().get("map " + selectedMap);
		JLabel label = new JLabel("       Fact String 1 :");
		panel.add(label);
		JTextField field = new JTextField(6);
		field.setText(currentMap.getLine1());
		field.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent arg0)
			{
				EditorMapInformation currentMap = frame.getLevels().get("level " + selectedLevel).getMaps().get("map " + selectedMap);
				String txt = ((JTextField) arg0.getSource()).getText();
				currentMap.setLine1(txt);
			}
		});
		panel.add(field);
		label = new JLabel("       Fact String 2 :");
		panel.add(label);
		field = new JTextField(6);
		field.setText(currentMap.getLine2());
		field.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent arg0)
			{
				EditorMapInformation currentMap = frame.getLevels().get("level " + selectedLevel).getMaps().get("map " + selectedMap);
				String txt = ((JTextField) arg0.getSource()).getText();
				currentMap.setLine2(txt);
			}
		});
		panel.add(field);
		masterPanel.add(panel, BorderLayout.SOUTH);

		return masterPanel;
	}