Index: applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/panels/PanelGeneral.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/panels/PanelGeneral.java	(revision 24397)
+++ applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/panels/PanelGeneral.java	(revision 24416)
@@ -1,3 +1,5 @@
 package harbour.panels;
+
+import harbour.widgets.Sheltergram;
 
 import javax.swing.BorderFactory;
@@ -6,5 +8,4 @@
 import java.awt.Color;
 import java.awt.Dimension;
-import javax.swing.JButton;
 import java.awt.Rectangle;
 import java.awt.Font;
@@ -12,9 +13,6 @@
 import javax.swing.JTextField;
 import javax.swing.JComboBox;
-import java.awt.Label;
 import javax.swing.JCheckBox;
 import java.awt.Cursor;
-import java.awt.GridBagLayout;
-import javax.swing.ImageIcon;
 
 public class PanelGeneral extends JPanel {
@@ -44,6 +42,8 @@
 	private JCheckBox desCheckBox = null;
 	private JCheckBox jCheckBox1 = null;
-	private JLabel shelterLabel = null;
 	private JLabel tshelterLabel = null;
+	private JPanel shelterPanel = null;
+	private JLabel sizeLabel = null;
+	private JLabel typeLabel = null;
 	public PanelGeneral() {
 		super();
@@ -58,10 +58,15 @@
 	 */
 	private void initialize() {
+        typeLabel = new JLabel();
+        typeLabel.setBounds(new Rectangle(270, 2, 43, 20));
+        typeLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+        typeLabel.setText("Type");
+        sizeLabel = new JLabel();
+        sizeLabel.setBounds(new Rectangle(210, 2, 34, 20));
+        sizeLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+        sizeLabel.setText("Size");
         tshelterLabel = new JLabel();
-        tshelterLabel.setBounds(new Rectangle(252, 145, 50, 20));
+        tshelterLabel.setBounds(new Rectangle(246, 144, 50, 20));
         tshelterLabel.setText("Schutz");
-        shelterLabel = new JLabel();
-        shelterLabel.setBounds(new Rectangle(235, 167, 80, 80));
-        shelterLabel.setIcon(new ImageIcon(getClass().getResource("/images/shelter.png")));
         qLabel = new JLabel();
         qLabel.setBounds(new Rectangle(50, 205, 85, 20));
@@ -76,5 +81,5 @@
         chartLabel.setBounds(new Rectangle(210, 50, 35, 20));
         chartLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
-        chartLabel.setText("Chart");
+        chartLabel.setText("Karte");
         pubLabel = new JLabel();
         pubLabel.setBounds(new Rectangle(53, 50, 70, 20));
@@ -82,6 +87,6 @@
         pubLabel.setText("Publication");
         harborLabel = new JLabel();
-        harborLabel.setBounds(new Rectangle(148, 2, 160, 20));
-        harborLabel.setText("Harbor : Size       Type");
+        harborLabel.setBounds(new Rectangle(148, 2, 55, 20));
+        harborLabel.setText("Harbor:");
         lonLabel = new JLabel();
         lonLabel.setBounds(new Rectangle(100, 25, 23, 20));
@@ -123,6 +128,8 @@
         this.add(getDesCheckBox(), null);
         this.add(getJCheckBox1(), null);
-        this.add(shelterLabel, null);
         this.add(tshelterLabel, null);
+        this.add(getShelterPanel(), null);
+        this.add(sizeLabel, null);
+        this.add(typeLabel, null);
 	}
 
@@ -282,5 +289,5 @@
 		if (jCheckBox2 == null) {
 			jCheckBox2 = new JCheckBox();
-			jCheckBox2.setBounds(new Rectangle(125, 117, 110, 21));
+			jCheckBox2.setBounds(new Rectangle(125, 117, 70, 21));
 			jCheckBox2.setFont(new Font("Dialog", Font.PLAIN, 12));
 			jCheckBox2.setText("ratsam");
@@ -301,5 +308,5 @@
 			tugCheckBox.setBounds(new Rectangle(5, 160, 121, 20));
 			tugCheckBox.setFont(new Font("Dialog", Font.PLAIN, 12));
-			tugCheckBox.setText("Rettungsdienst");
+			tugCheckBox.setText("Bergungsschiff");
 		}
 		return tugCheckBox;
@@ -374,3 +381,18 @@
 	}
 
+
+
+	/**
+	 * This method initializes shelterPanel	
+	 * 	
+	 * @return javax.swing.JPanel	
+	 */
+	private JPanel getShelterPanel() {
+		if (shelterPanel == null) {
+			shelterPanel = new Sheltergram();
+			shelterPanel.setBounds(new Rectangle(232, 170, 75, 75));
+		}
+		return shelterPanel;
+	}
+
 }
Index: applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/panels/PanelLimits.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/panels/PanelLimits.java	(revision 24397)
+++ 	(revision )
@@ -1,35 +1,0 @@
-package harbour.panels;
-
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-
-import java.awt.Color;
-import java.awt.GridBagLayout;
-import java.awt.Dimension;
-import javax.swing.JLabel;
-import java.awt.Rectangle;
-
-
-public class PanelLimits extends JPanel {
-
-	private JLabel limLabel = null;
-
-	public PanelLimits() {
-		super();
-		initialize();
-	}
-	
-	/**
-	 * This method initializes this
-	 * 
-	 */
-	private void initialize() {
-        limLabel = new JLabel();
-        limLabel.setBounds(new Rectangle(110, 18, 93, 30));
-        limLabel.setText("Limits");
-        this.setSize(new Dimension(330, 270));
-        this.setLayout(null);
-        this.setBorder(BorderFactory.createLineBorder(Color.black, 1));
-        this.add(limLabel, null);
-	}
-}
Index: applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/ExtTextField.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/ExtTextField.java	(revision 24416)
+++ applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/ExtTextField.java	(revision 24416)
@@ -0,0 +1,222 @@
+package harbour.widgets;
+
+import java.awt.GridBagLayout;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import java.awt.Rectangle;
+import javax.swing.JLabel;
+import java.awt.Font;
+import javax.swing.JRadioButton;
+import java.awt.Dimension;
+
+public class ExtTextField extends JPanel {
+
+	private static final long serialVersionUID = 1L;
+	private ButtonGroup buttons = new ButtonGroup();
+	private JTextField sizeTextField = null;
+	private JLabel sizeLabel = null;
+	private JRadioButton sizeRadioButton = null;
+	private JTextField chTextField = null;
+	private JLabel chLabel = null;
+	private JRadioButton chRadioButton = null;
+	private JTextField tieTextField = null;
+	private JLabel tieLabel = null;
+	private JRadioButton tieRadioButton = null;
+	private JTextField cargoTextField = null;
+	private JLabel cargoLabel = null;
+	private JRadioButton cargoRadioButton = null;
+	private JTextField oilTextField = null;
+	private JLabel oilLabel = null;
+	private JRadioButton oilRadioButton = null;
+	/**
+	 * This is the default constructor
+	 */
+	public ExtTextField() {
+		super();
+		initialize();
+	}
+
+	/**
+	 * This method initializes this
+	 * 
+	 * @return void
+	 */
+	private void initialize() {
+		oilLabel = new JLabel();
+		oilLabel.setBounds(new Rectangle(55, 94, 75, 16));
+		oilLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+		oilLabel.setText("Oelterminal");
+		cargoLabel = new JLabel();
+		cargoLabel.setBounds(new Rectangle(55, 71, 88, 16));
+		cargoLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+		cargoLabel.setText("Frachtanleger");
+		tieLabel = new JLabel();
+		tieLabel.setBounds(new Rectangle(55, 48, 70, 16));
+		tieLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+		tieLabel.setText("Ankerplatz");
+		chLabel = new JLabel();
+		chLabel.setBounds(new Rectangle(55, 25, 55, 16));
+		chLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+		chLabel.setText("Channel");
+		sizeLabel = new JLabel();
+		sizeLabel.setBounds(new Rectangle(55, 2, 92, 16));
+		sizeLabel.setFont(new Font("Dialog", Font.PLAIN, 12));
+		sizeLabel.setText("Schiffsgroesse");
+		this.setLayout(null);
+
+		this.setBounds(new Rectangle(0, 0, 165, 112));
+		this.add(getSizeTextField(), null);
+		this.add(sizeLabel, null);
+		this.add(getSizeRadioButton(), null);
+		this.add(getChTextField(), null);
+		this.add(chLabel, null);
+		this.add(getChRadioButton(), null);
+		this.add(getTieTextField(), null);
+		this.add(tieLabel, null);
+		this.add(getTieRadioButton(), null);
+		this.add(getCargoTextField(), null);
+		this.add(cargoLabel, null);
+		this.add(getCargoRadioButton(), null);
+		this.add(getOilTextField(), null);
+		this.add(oilLabel, null);
+		this.add(getOilRadioButton(), null);
+		
+		buttons.add(sizeRadioButton);
+		buttons.add(chRadioButton);
+		buttons.add(tieRadioButton);
+		buttons.add(tieRadioButton);
+	}
+
+	/**
+	 * This method initializes sizeTextField	
+	 * 	
+	 * @return javax.swing.JTextField	
+	 */
+	private JTextField getSizeTextField() {
+		if (sizeTextField == null) {
+			sizeTextField = new JTextField();
+			sizeTextField.setBounds(new Rectangle(0, 0, 55, 20));
+		}
+		return sizeTextField;
+	}
+
+	/**
+	 * This method initializes sizeRadioButton	
+	 * 	
+	 * @return javax.swing.JRadioButton	
+	 */
+	private JRadioButton getSizeRadioButton() {
+		if (sizeRadioButton == null) {
+			sizeRadioButton = new JRadioButton();
+			sizeRadioButton.setBounds(new Rectangle(145, 0, 20, 20));
+		}
+		return sizeRadioButton;
+	}
+
+	/**
+	 * This method initializes chTextField	
+	 * 	
+	 * @return javax.swing.JTextField	
+	 */
+	private JTextField getChTextField() {
+		if (chTextField == null) {
+			chTextField = new JTextField();
+			chTextField.setBounds(new Rectangle(0, 23, 55, 20));
+		}
+		return chTextField;
+	}
+
+	/**
+	 * This method initializes chRadioButton	
+	 * 	
+	 * @return javax.swing.JRadioButton	
+	 */
+	private JRadioButton getChRadioButton() {
+		if (chRadioButton == null) {
+			chRadioButton = new JRadioButton();
+			chRadioButton.setBounds(new Rectangle(145, 23, 20, 20));
+		}
+		return chRadioButton;
+	}
+
+	/**
+	 * This method initializes tieTextField	
+	 * 	
+	 * @return javax.swing.JTextField	
+	 */
+	private JTextField getTieTextField() {
+		if (tieTextField == null) {
+			tieTextField = new JTextField();
+			tieTextField.setBounds(new Rectangle(0, 46, 55, 20));
+		}
+		return tieTextField;
+	}
+
+	/**
+	 * This method initializes tieRadioButton	
+	 * 	
+	 * @return javax.swing.JRadioButton	
+	 */
+	private JRadioButton getTieRadioButton() {
+		if (tieRadioButton == null) {
+			tieRadioButton = new JRadioButton();
+			tieRadioButton.setBounds(new Rectangle(145, 46, 20, 20));
+		}
+		return tieRadioButton;
+	}
+
+	/**
+	 * This method initializes cargoTextField	
+	 * 	
+	 * @return javax.swing.JTextField	
+	 */
+	private JTextField getCargoTextField() {
+		if (cargoTextField == null) {
+			cargoTextField = new JTextField();
+			cargoTextField.setBounds(new Rectangle(0, 69, 55, 20));
+		}
+		return cargoTextField;
+	}
+
+	/**
+	 * This method initializes cargoRadioButton	
+	 * 	
+	 * @return javax.swing.JRadioButton	
+	 */
+	private JRadioButton getCargoRadioButton() {
+		if (cargoRadioButton == null) {
+			cargoRadioButton = new JRadioButton();
+			cargoRadioButton.setBounds(new Rectangle(145, 69, 20, 20));
+		}
+		return cargoRadioButton;
+	}
+
+	/**
+	 * This method initializes oilTextField	
+	 * 	
+	 * @return javax.swing.JTextField	
+	 */
+	private JTextField getOilTextField() {
+		if (oilTextField == null) {
+			oilTextField = new JTextField();
+			oilTextField.setBounds(new Rectangle(0, 92, 55, 20));
+		}
+		return oilTextField;
+	}
+
+	/**
+	 * This method initializes oilRadioButton	
+	 * 	
+	 * @return javax.swing.JRadioButton	
+	 */
+	private JRadioButton getOilRadioButton() {
+		if (oilRadioButton == null) {
+			oilRadioButton = new JRadioButton();
+			oilRadioButton.setBounds(new Rectangle(145, 92, 20, 20));
+		}
+		return oilRadioButton;
+	}
+
+}  //  @jve:decl-index=0:visual-constraint="10,10"
Index: applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/LightTile.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/LightTile.java	(revision 24416)
+++ applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/LightTile.java	(revision 24416)
@@ -0,0 +1,38 @@
+package harbour.widgets;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+
+public class LightTile extends JButton {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	
+	private JButton tile = null;
+	
+	public LightTile(String text) {
+		super(text);
+		
+		tile = this;
+		
+		tile.setBackground(Color.LIGHT_GRAY);
+		tile.setToolTipText("Click to change state");
+		tile.addActionListener(new ActionListener(){
+
+			@Override
+			public void actionPerformed(ActionEvent arg0) {
+				if(tile.getBackground() == Color.LIGHT_GRAY)	tile.setBackground(Color.GREEN);
+				else if(tile.getBackground() == Color.GREEN)	tile.setBackground(Color.YELLOW);
+				else if(tile.getBackground() == Color.YELLOW)	tile.setBackground(Color.RED);
+				else if(tile.getBackground() == Color.RED)		tile.setBackground(Color.LIGHT_GRAY);
+			}
+		});
+
+	}	
+}
Index: applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/Sheltergram.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/Sheltergram.java	(revision 24416)
+++ applications/editors/josm/plugins/smed/plugs/harbour/src/harbour/widgets/Sheltergram.java	(revision 24416)
@@ -0,0 +1,43 @@
+package harbour.widgets;
+
+import java.awt.Color;
+import java.awt.GridLayout;
+import java.awt.Rectangle;
+import java.util.List;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JPanel;
+
+public class Sheltergram extends JPanel {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	
+	private JButton  tile = null;
+	private String[] dirs = { "nw","n","ne","w","anker","e","sw","s","se" };
+	
+	public Sheltergram() {
+		super();
+		
+		setLayout(null);
+		
+		int k = 0;
+		for(int i = 0; i < 3; i++)
+			for(int j=0; j < 3; j++) {
+				if(i == 1 && j == 1) {
+					tile = new JButton();
+					tile.setBackground(Color.WHITE);
+					tile.setEnabled(false);
+				} else tile = new LightTile("");
+				
+				tile.setIcon(new ImageIcon(getClass().getResource("/images/" + dirs[k++] + ".png")));
+				tile.setBounds(new Rectangle(j*25,i*25, 25, 25));
+				add(tile);
+			}
+				
+		
+	}
+}
Index: applications/editors/josm/plugins/smed/src/smed/menu/SmedMenuBar.java
===================================================================
--- applications/editors/josm/plugins/smed/src/smed/menu/SmedMenuBar.java	(revision 24397)
+++ applications/editors/josm/plugins/smed/src/smed/menu/SmedMenuBar.java	(revision 24416)
@@ -3,5 +3,9 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.Desktop;
 import java.awt.event.KeyEvent;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ResourceBundle;
 
@@ -14,36 +18,59 @@
 public class SmedMenuBar extends JMenuBar {
 
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1L;
-
-     JMenuBar menuBar;
-     JMenu menu, submenu;
-     JMenuItem menuItem;
+     /**
+      *
+      */
+	 private static final long serialVersionUID = 1L;
+    
+	 private String[] cmd = new String[4];
+	 
+     private JMenuBar menuBar;
+     private JMenu menuFile, menuHelp, submenu;
+     private JMenuItem menuItemFile, menuItemOnLineHelp;
      
      public SmedMenuBar() {
-    	ResourceBundle keyEvents = ResourceBundle.getBundle("smed.keys.Events");
+    	 cmd[0] = "cmd.exe";
+    	 cmd[1] = "/C";
+    	 cmd[2] = "start";
+    	 cmd[3] = "http://www.openseamap.org/";
+
+    	 ResourceBundle keyEvents = ResourceBundle.getBundle("smed.keys.Events");
     	
         menuBar = new JMenuBar();
 
-        menu = new JMenu(tr("File"));
+        menuFile = new JMenu(tr("File"));
         // menu.setMnemonic(KeyEvent.VK_F);
-        menu.setMnemonic((Integer) keyEvents.getObject("SmedMenuBar.001"));
+        menuFile.setMnemonic((Integer) keyEvents.getObject("SmedMenuBar.001"));
         
-        menu.getAccessibleContext().setAccessibleDescription(
+        menuFile.getAccessibleContext().setAccessibleDescription(
                 "The only menu in this program that has menu items");
 
-        menuItem = new JMenuItem("Tabmanager",
-                KeyEvent.VK_T);
-
-        menuItem.addActionListener(new java.awt.event.ActionListener() {
+        menuItemFile = new JMenuItem("Tabmanager", KeyEvent.VK_T);
+        menuItemFile.addActionListener(new java.awt.event.ActionListener() {
 			public void actionPerformed(java.awt.event.ActionEvent e) { new TabManager(); } 
 			});
+        
+        menuFile.add(menuItemFile);
+        
+        menuHelp = new JMenu(tr("Help"));
+        menuHelp.setMnemonic(KeyEvent.VK_H);
+        
+        menuItemOnLineHelp = new JMenuItem(tr("Online Help"), KeyEvent.VK_O);
+        menuItemOnLineHelp.addActionListener(new java.awt.event.ActionListener() {
+			public void actionPerformed(java.awt.event.ActionEvent e) {  
+			try {
+				Desktop.getDesktop().browse( new URI("http://www.openseamap.org/") ); 
+			} catch (Exception ex) {
+				ex.printStackTrace();
+			}
 
+			}
 
-        menu.add(menuItem);
-
-        menuBar.add(menu);
+			});
+        
+        menuHelp.add(menuItemOnLineHelp);
+        
+        menuBar.add(menuFile);
+        menuBar.add(menuHelp);
 
         add(menuBar);
