private JMenu createOptionMenu() {

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

		s = getInternationalText("ShowAnimationControls");
		final JMenuItem miAnimationPanel = new JCheckBoxMenuItem(s != null ? s : "Show Animation Controls");
		miAnimationPanel.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				jmolContainer.showAnimationPanel(e.getStateChange() == ItemEvent.SELECTED);
			}
		});
		menu.add(miAnimationPanel);
		menu.addSeparator();

		final JMenuItem miHover = new JCheckBoxMenuItem(jmolContainer.jmol.getActionMap().get("hover"));
		s = getInternationalText("EnableHoverText");
		if (s != null)
			miHover.setText(s);
		menu.add(miHover);

		final JMenuItem miAxes = new JCheckBoxMenuItem(jmolContainer.jmol.getActionMap().get("axes"));
		s = getInternationalText("ShowAxes");
		if (s != null)
			miAxes.setText(s);
		menu.add(miAxes);

		final JMenuItem miBoundBox = new JCheckBoxMenuItem(jmolContainer.jmol.getActionMap().get("bound box"));
		s = getInternationalText("ShowBoundBox");
		if (s != null)
			miBoundBox.setText(s);
		menu.add(miBoundBox);

		final JMenuItem miShowHBonds = new JCheckBoxMenuItem(jmolContainer.jmol.getActionMap().get("show hbonds"));
		s = getInternationalText("ShowHBonds");
		if (s != null)
			miShowHBonds.setText(s);
		menu.add(miShowHBonds);

		final JMenuItem miShowSSBonds = new JCheckBoxMenuItem(jmolContainer.jmol.getActionMap().get("show ssbonds"));
		s = getInternationalText("ShowSSBonds");
		if (s != null)
			miShowSSBonds.setText(s);
		menu.add(miShowSSBonds);
		menu.addSeparator();

		s = getInternationalText("AxisPosition");
		JMenu subMenu = new JMenu(s != null ? s : "Axis Position");
		menu.add(subMenu);

		ButtonGroup bg = new ButtonGroup();
		s = getInternationalText("Center");
		final JMenuItem miCenter = new JRadioButtonMenuItem(s != null ? s : "Center");
		miCenter.setSelected(true);
		miCenter.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.jmol.viewer.setAxisStyle((byte) 0);
				jmolContainer.jmol.repaint();
				jmolContainer.notifyChange();
			}
		});
		subMenu.add(miCenter);
		bg.add(miCenter);

		s = getInternationalText("Corner");
		final JMenuItem miCorner = new JRadioButtonMenuItem(s != null ? s : "Corner");
		miCorner.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jmolContainer.jmol.viewer.setAxisStyle((byte) 1);
				jmolContainer.jmol.repaint();
				jmolContainer.notifyChange();
			}
		});
		subMenu.add(miCorner);
		bg.add(miCorner);

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

			public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
				ModelerUtilities.setWithoutNotifyingListeners(miAnimationPanel, jmolContainer.hasAnimationPanel());
				ModelerUtilities.setWithoutNotifyingListeners(miShowHBonds, jmolContainer.areHydrogenBondsShown());
				ModelerUtilities.setWithoutNotifyingListeners(miShowSSBonds, jmolContainer.areSSBondsShown());
				ModelerUtilities.setWithoutNotifyingListeners(miHover, jmolContainer.isHoverEnabled());
				ModelerUtilities.setWithoutNotifyingListeners(miAxes, jmolContainer.areAxesShown());
				ModelerUtilities.setWithoutNotifyingListeners(miBoundBox, jmolContainer.isBoundBoxShown());
				byte axisStyle = jmolContainer.jmol.viewer.getAxisStyle();
				ModelerUtilities.setWithoutNotifyingListeners(miCenter, axisStyle == 0);
				ModelerUtilities.setWithoutNotifyingListeners(miCorner, axisStyle == 1);
			}

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

		return menu;

	}