private JMenu createAnimationMenu() {

		String s = getInternationalText("Animation");
		JMenu menu = new JMenu(s != null ? s : "Animation");

		s = getInternationalText("NextScene");
		final JMenuItem miNext = new JMenuItem(s != null ? s : "Next Scene");
		miNext.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.moveOneStep(true);
			}
		});
		menu.add(miNext);

		s = getInternationalText("PreviousScene");
		final JMenuItem miPrev = new JMenuItem(s != null ? s : "Previous Scene");
		miPrev.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.moveOneStep(false);
			}
		});
		menu.add(miPrev);

		s = getInternationalText("FirstScene");
		final JMenuItem miFirst = new JMenuItem(s != null ? s : "First Scene");
		miFirst.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (!jmolContainer.scenes.isEmpty())
					jmolContainer.moveToScene(0, false);
			}
		});
		menu.add(miFirst);

		s = getInternationalText("LastScene");
		final JMenuItem miLast = new JMenuItem(s != null ? s : "Last Scene");
		miLast.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (!jmolContainer.scenes.isEmpty())
					jmolContainer.moveToScene(jmolContainer.scenes.size() - 1, false);
			}
		});
		menu.add(miLast);
		menu.addSeparator();

		s = getInternationalText("NonstopTour");
		final JMenuItem miNonstop = new JMenuItem(s != null ? s : "Nonstop Tour");
		miNonstop.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.moveNonstop();
			}
		});
		menu.add(miNonstop);

		s = getInternationalText("RequestStop");
		final JMenuItem miStop = new JMenuItem(s != null ? s : "Request Stop At Next Scene");
		miStop.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.requestStopMoveTo();
			}
		});
		menu.add(miStop);
		menu.addSeparator();

		s = getInternationalText("SaveScene");
		final JMenuItem miSaveScene = new JMenuItem(s != null ? s : "Save Scene");
		miSaveScene.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.saveScene();
				jmolContainer.notifyChange();
			}
		});
		menu.add(miSaveScene);

		s = getInternationalText("SaveAsNewScene");
		JMenuItem mi = new JMenuItem(s != null ? s : "Save As New Scene");
		mi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.saveAsNewScene();
				jmolContainer.notifyChange();
			}
		});
		menu.add(mi);

		s = getInternationalText("ClearScenes");
		final JMenuItem miClear = new JMenuItem(s != null ? s : "Clear Scenes");
		miClear.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (JOptionPane.showConfirmDialog(JOptionPane.getFrameForComponent(jmolContainer),
						"Are you sure you want to remove all scenes?", "Clear", JOptionPane.YES_NO_OPTION,
						JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
					jmolContainer.scenes.clear();
					jmolContainer.notifyChange();
					jmolContainer.notifyNavigationListeners(new NavigationEvent(jmolContainer, NavigationEvent.ARRIVAL,
							-1, -1, 0, null, null));
				}
			}
		});
		menu.add(miClear);
		menu.addSeparator();

		s = getInternationalText("EditTitle");
		mi = new JMenuItem((s != null ? s : "Edit Title") + "...");
		mi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.editInformation();
			}
		});
		menu.add(mi);

		s = getInternationalText("EditItinerary");
		final JMenuItem miEdit = new JMenuItem((s != null ? s : "Edit Itinerary") + "...");
		miEdit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.editItinerary();
			}
		});
		menu.add(miEdit);

		menu.getPopupMenu().addPopupMenuListener(new PopupMenuListener() {
			public void popupMenuCanceled(PopupMenuEvent e) {
			}

			public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
				int n = jmolContainer.scenes.size();
				if (n == 0) {
					miClear.setEnabled(false);
					miNext.setEnabled(false);
					miPrev.setEnabled(false);
					miLast.setEnabled(false);
					miFirst.setEnabled(false);
					miNonstop.setEnabled(false);
					miEdit.setEnabled(false);
					miStop.setEnabled(false);
				}
				else {
					miClear.setEnabled(true);
					int index = jmolContainer.scenes.indexOf(jmolContainer.getCurrentScene());
					miNext.setEnabled(index < n - 1);
					miLast.setEnabled(index < n - 1);
					miNonstop.setEnabled(index < n - 1);
					miPrev.setEnabled(index > 0);
					miFirst.setEnabled(index > 0);
					miEdit.setEnabled(true);
					miStop.setEnabled(true);
				}
				miSaveScene.setEnabled(n != 0 && jmolContainer.getCurrentScene() != null);
			}

			public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
			}
		});

		return menu;

	}