private boolean openPage() {
		File lastFile = fileChooser.getSelectedFile();
		boolean success = false;
		Frame frame = JOptionPane.getFrameForComponent(this);
		fileChooser.setAcceptAllFileFilterUsed(false);
		fileChooser.addChoosableFileFilters(new String[] { "png", "gif", "jpg", "txt", "mws", "pdb", "xyz", "cml" });
		fileChooser.setFileFilter(FileFilterFactory.getFilter("cml"));
		fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
		String s = Modeler.getInternationalText("OpenPage");
		fileChooser.setDialogTitle(s != null ? s : "Open page");
		fileChooser.setApproveButtonMnemonic('O');
		String latestPath = fileChooser.getLastVisitedPath();
		if (latestPath != null)
			fileChooser.setCurrentDirectory(new File(latestPath));
		if (lastFile != null && !lastFile.isDirectory())
			fileChooser.handleFileTypeSwitching(lastFile);
		fileChooser.setAccessory(null);
		if (fileChooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
			File file = fileChooser.getSelectedFile();
			FileFilter ff = fileChooser.getFileFilter();
			if (ff != null && !ff.accept(file))
				file = new File(file.getAbsolutePath() + "." + ff);
			if (file.exists()) {
				if (navigator != null) {
					navigator.visitLocation(file.getAbsolutePath());
				} else {
					visit(file.getAbsolutePath());
				}
				fileChooser.rememberPath(fileChooser.getCurrentDirectory().toString());
				fileChooser.rememberFile(file.getAbsolutePath(), recentFilesMenu);
				success = true;
			} else {
				JOptionPane.showMessageDialog(frame, file + " does not exist.\n" + "If you meant to create a new file, please use the <New> menu or button, then save it.", "File does not exist", JOptionPane.ERROR_MESSAGE);
				fileChooser.resetChoosableFileFilters();
				return false;
			}

		}
		fileChooser.resetChoosableFileFilters();
		return success;
	}