private HyperlinkListener getLinkListener() {
		return new HyperlinkListener() {
			public void hyperlinkUpdate(HyperlinkEvent e) { 
				if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 
					if (e instanceof HTMLFrameHyperlinkEvent) { 
						((HTMLDocument)html.getDocument()).processHTMLFrameHyperlinkEvent((HTMLFrameHyperlinkEvent)e);  
					} else { 
						try { 
							currentURL = e.getURL();
							String s = currentURL.toString();
							int offset = s.indexOf(".html");
							if(offset > 0) { // .html is in the string
								s = s.substring(0, offset + 5);
								s += "?help";
								if(currentURL.getRef() != null) {
									s += "#" + currentURL.getRef();
								}
								currentURL = new URL(s);
								HelpDialog.this.setEnabled(true);
								if(menuDlg != null) {
									menuDlg.setVisible(false);
									menuDlg = null;
								}
						}
							html.setPage(currentURL); 
						} catch (IOException e1) { 
							html.setText("Cannot display the page.\n" + e1.getMessage());
						} 
					} 
				} 
			}
		};
	}