Index: /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23012)
@@ -121,7 +121,7 @@
 	private JLabel lM01TypeOfMark = null;
 	public JComboBox cbM01TypeOfMark = null;
-	private JLabel lM01CatOfMark = null;
+	public JLabel lM01CatOfMark = null;
 	public JComboBox cbM01CatOfMark = null;
-	private JLabel lM01StyleOfMark = null;
+	public JLabel lM01StyleOfMark = null;
 	public JComboBox cbM01StyleOfMark = null;
 	private JLabel lM01Name = null;
@@ -631,7 +631,7 @@
 
 			rbM01Fired1 = new JRadioButton(Messages.getString("SmpDialogAction.140"), true); //$NON-NLS-1$
-			rbM01Fired1.setBounds(new Rectangle(80, 240, 65, 30));
+			rbM01Fired1.setBounds(new Rectangle(85, 240, 70, 30));
 			rbM01FiredN = new JRadioButton(Messages.getString("SmpDialogAction.141"), false); //$NON-NLS-1$
-			rbM01FiredN.setBounds(new Rectangle(145, 240, 80, 30));
+			rbM01FiredN.setBounds(new Rectangle(155, 240, 80, 30));
 			bgM01Fired = new ButtonGroup();
 			bgM01Fired.add(rbM01Fired1);
@@ -722,6 +722,6 @@
 			cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.148")); //$NON-NLS-1$
 
-			cbM01TypeOfMark.setBounds(new Rectangle(50, 25, 150, 25));
-			cbM01TypeOfMark.setEditable(false);
+			cbM01TypeOfMark.setBounds(new Rectangle(45, 25, 165, 25));
+//			cbM01TypeOfMark.setEditable(false);
 			cbM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01TypeOfMark.setEnabled(true);
@@ -750,4 +750,5 @@
 					case SeaMark.LATERAL:
 						if (!(buoy instanceof BuoyLat)) {
+							buoy = new BuoyLat(dia, n);
 							buoy.setBuoyIndex(0);
 							cbM01CatOfMark.removeAllItems();
@@ -757,5 +758,4 @@
 							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.155")); //$NON-NLS-1$
 							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.156")); //$NON-NLS-1$
-							cbM01CatOfMark.setEnabled(true);
 						}
 						break;
@@ -763,4 +763,5 @@
 					case SeaMark.CARDINAL:
 						if (!(buoy instanceof BuoyCard)) {
+							buoy = new BuoyCard(dia, n);
 							buoy.setBuoyIndex(0);
 							cbM01CatOfMark.removeAllItems();
@@ -770,24 +771,39 @@
 							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.160")); //$NON-NLS-1$
 							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.161")); //$NON-NLS-1$
-							cbM01CatOfMark.setEnabled(true);
 						}
 						break;
 
 					case SeaMark.SAFE_WATER:
-						if (!(buoy instanceof BuoySaw))
+						if (!(buoy instanceof BuoySaw)) {
 							buoy = new BuoySaw(dia, n);
+						}
 						buoy.setBuoyIndex(type);
 						break;
 
 					case SeaMark.ISOLATED_DANGER:
-						if (!(buoy instanceof BuoyIsol))
+						if (!(buoy instanceof BuoyIsol)) {
 							buoy = new BuoyIsol(dia, n);
+						}
 						buoy.setBuoyIndex(type);
 						break;
 
 					case SeaMark.SPECIAL_PURPOSE:
-						if (!(buoy instanceof BuoySpec))
+						if (!(buoy instanceof BuoySpec)) {
 							buoy = new BuoySpec(dia, n);
+						}
 						buoy.setBuoyIndex(type);
+						break;
+
+					case SeaMark.LIGHT:
+						if (!(buoy instanceof BuoyNota)) {
+							buoy = new BuoyNota(dia, n);
+							buoy.setBuoyIndex(0);
+							cbM01CatOfMark.removeAllItems();
+							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.157")); //$NON-NLS-1$
+							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.206")); //$NON-NLS-1$
+							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.207")); //$NON-NLS-1$
+							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.208")); //$NON-NLS-1$
+							cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.209")); //$NON-NLS-1$
+						}
 						break;
 					}
@@ -806,6 +822,8 @@
 		if (cbM01CatOfMark == null) {
 			cbM01CatOfMark = new JComboBox();
-			cbM01CatOfMark.setBounds(new Rectangle(75, 55, 125, 25));
+			cbM01CatOfMark.setBounds(new Rectangle(60, 55, 150, 25));
 			cbM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
+			cbM01CatOfMark.setEnabled(true);
+			
 			cbM01CatOfMark.addActionListener(new ActionListener() {
 				public void actionPerformed(ActionEvent e) {
@@ -833,4 +851,9 @@
 						buoy.setBuoyIndex(cat);
 					}
+					if (cbM01TypeOfMark.getSelectedIndex() == SeaMark.LIGHT) {
+						if (!(buoy instanceof BuoyNota))
+							buoy = new BuoyNota(dia, n);
+						buoy.setBuoyIndex(cat);
+					}
 
 					buoy.refreshStyles();
@@ -847,5 +870,5 @@
 		if (cbM01StyleOfMark == null) {
 			cbM01StyleOfMark = new JComboBox();
-			cbM01StyleOfMark.setBounds(new Rectangle(50, 85, 150, 25));
+			cbM01StyleOfMark.setBounds(new Rectangle(45, 85, 165, 25));
 			cbM01StyleOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01StyleOfMark.addActionListener(new ActionListener() {
@@ -879,5 +902,5 @@
 		if (cM01TopMark == null) {
 			cM01TopMark = new JCheckBox();
-			cM01TopMark.setBounds(new Rectangle(10, 170, 90, 20));
+			cM01TopMark.setBounds(new Rectangle(10, 170, 100, 20));
 			cM01TopMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cM01TopMark.setText(Messages.getString("SmpDialogAction.166")); //$NON-NLS-1$
@@ -1009,5 +1032,5 @@
 		if (cM01Fired == null) {
 			cM01Fired = new JCheckBox();
-			cM01Fired.setBounds(new Rectangle(10, 245, 70, 20));
+			cM01Fired.setBounds(new Rectangle(10, 245, 75, 20));
 			cM01Fired.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cM01Fired.setText(Messages.getString("SmpDialogAction.177")); //$NON-NLS-1$
Index: /applications/editors/josm/plugins/toms/src/toms/msg/messages_de.properties
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/msg/messages_de.properties	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/msg/messages_de.properties	(revision 23012)
@@ -1,7 +1,7 @@
 Toms.2=Hallo Welt
 SmpDialogAction.0=Seezeichen Editor
-SmpDialogAction.1=Klasse
+SmpDialogAction.1=Klasse:
 SmpDialogAction.101=IALA
-SmpDialogAction.103=Typ
+SmpDialogAction.103=Typ:
 SmpDialogAction.109=Name:
 SmpDialogAction.111=Andere Eigenschaften:
@@ -16,9 +16,9 @@
 SmpDialogAction.129=Sektor:
 SmpDialogAction.131=Farbe
-SmpDialogAction.133=Brg:         \uFFFD-        \uFFFD, r:
+SmpDialogAction.133=Brg:         \u00B0-        \u00B0, r:
 SmpDialogAction.134=-A
 SmpDialogAction.140=einzeln
 SmpDialogAction.141=geteiled
-SmpDialogAction.142=* Wähle Seezeichen aus *
+SmpDialogAction.142=*Wähle Seezeichen aus*
 SmpDialogAction.143=Laterales Zeichen
 SmpDialogAction.144=Kardinales Zeichen
@@ -28,10 +28,10 @@
 SmpDialogAction.148=Leuchtfeuer
 SmpDialogAction.150=kein Seezeichen ausgewählt
-SmpDialogAction.152=* Wähle Kategorie aus*
+SmpDialogAction.152=*Wähle Kategorie aus*
 SmpDialogAction.153=Backbord
 SmpDialogAction.154=Steuerbord
 SmpDialogAction.155=Abzweigung Backboard
 SmpDialogAction.156=Abzweigung Steuerbord
-SmpDialogAction.157=* Wähle Kategorie aus*
+SmpDialogAction.157=*Wähle Kategorie aus*
 SmpDialogAction.158=Nord
 SmpDialogAction.159=Ost
@@ -63,3 +63,7 @@
 SmpDialogAction.9=Seamap Editor
 SmpDialogAction.4=OpenSeaMap Editor
+SmpDialogAction.206=Lighthouse
+SmpDialogAction.207=Major Light
+SmpDialogAction.208=Minor Light
+SmpDialogAction.209=Light Float
 
Index: /applications/editors/josm/plugins/toms/src/toms/msg/messages_en.properties
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/msg/messages_en.properties	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/msg/messages_en.properties	(revision 23012)
@@ -68,2 +68,6 @@
 SmpDialogAction.97=Seamark Properties
 SmpDialogAction.99=Region:
+SmpDialogAction.206=Lighthouse
+SmpDialogAction.207=Major Light
+SmpDialogAction.208=Minor Light
+SmpDialogAction.209=Light Float
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java	(revision 23012)
@@ -61,4 +61,8 @@
 	public final static int CARD_SOUTH = 3;
 	public final static int CARD_WEST = 4;
+	public final static int LIGHT_HOUSE = 1;
+	public final static int LIGHT_MAJOR = 2;
+	public final static int LIGHT_MINOR = 3;
+	public final static int LIGHT_FLOAT = 4;
 
 	/**
@@ -102,8 +106,4 @@
 	public final static int SPEC_BEACON = 6;
 	public final static int SPEC_TOWER = 7;
-	public final static int LIGHT_HOUSE = 1;
-	public final static int LIGHT_MAJOR = 2;
-	public final static int LIGHT_MINOR = 3;
-	public final static int LIGHT_FLOAT = 4;
 
 	/**
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23012)
@@ -331,18 +331,22 @@
 		dlg.rbM01RegionA.setEnabled(false);
 		dlg.rbM01RegionB.setEnabled(false);
+		dlg.cbM01CatOfMark.removeAllItems();
+		dlg.cbM01CatOfMark.setVisible(false);
+		dlg.lM01CatOfMark.setVisible(false);
 		dlg.cbM01StyleOfMark.removeAllItems();
-		dlg.cbM01StyleOfMark.setEnabled(false);
+		dlg.cbM01StyleOfMark.setVisible(false);
+		dlg.lM01StyleOfMark.setVisible(false);
 		dlg.tfM01Name.setText("");
 		dlg.tfM01Name.setEnabled(false);
 		setName("");
 		dlg.cM01TopMark.setSelected(false);
-		dlg.cM01TopMark.setEnabled(false);
+		dlg.cM01TopMark.setVisible(false);
 		dlg.cbM01TopMark.removeAllItems();
 		dlg.cbM01TopMark.setVisible(false);
 		setTopMark(false);
 		dlg.cM01Radar.setSelected(false);
-		dlg.cM01Radar.setEnabled(false);
+		dlg.cM01Radar.setVisible(false);
 		dlg.cM01Racon.setSelected(false);
-		dlg.cM01Racon.setEnabled(false);
+		dlg.cM01Racon.setVisible(false);
 		dlg.cbM01Racon.removeAllItems();
 		dlg.cbM01Racon.setVisible(false);
@@ -351,5 +355,5 @@
 		dlg.lM01Racon.setVisible(false);
 		dlg.cM01Fog.setSelected(false);
-		dlg.cM01Fog.setEnabled(false);
+		dlg.cM01Fog.setVisible(false);
 		dlg.cbM01Fog.removeAllItems();
 		dlg.cbM01Fog.setVisible(false);
@@ -361,8 +365,8 @@
 		dlg.lM01FogPeriod.setVisible(false);
 		dlg.cM01Fired.setSelected(false);
-		dlg.cM01Fired.setEnabled(false);
+		dlg.cM01Fired.setVisible(false);
 		setFired(false);
-		dlg.rbM01Fired1.setEnabled(false);
-		dlg.rbM01FiredN.setEnabled(false);
+		dlg.rbM01Fired1.setVisible(false);
+		dlg.rbM01FiredN.setVisible(false);
 		dlg.cbM01Kennung.removeAllItems();
 		dlg.cbM01Kennung.setVisible(false);
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java	(revision 23012)
@@ -26,4 +26,7 @@
 		
 		resetMask();
+		dlg.cbM01CatOfMark.setEnabled(true);
+		dlg.cbM01CatOfMark.setVisible(true);
+		dlg.lM01CatOfMark.setVisible(true);
 
 		dlg.cbM01StyleOfMark.removeAllItems();
@@ -34,5 +37,6 @@
 		dlg.cbM01StyleOfMark.addItem("Tower");
 		dlg.cbM01StyleOfMark.addItem("Float");
-		dlg.cbM01StyleOfMark.setEnabled(true);
+		dlg.cbM01StyleOfMark.setVisible(true);
+		dlg.lM01StyleOfMark.setVisible(true);
 
 		setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java	(revision 23012)
@@ -33,5 +33,6 @@
 		dlg.cbM01StyleOfMark.addItem("Tower");
 		dlg.cbM01StyleOfMark.addItem("Float");
-		dlg.cbM01StyleOfMark.setEnabled(true);
+		dlg.cbM01StyleOfMark.setVisible(true);
+		dlg.lM01StyleOfMark.setVisible(true);
 
 		dlg.cbM01Kennung.removeAllItems();
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23012)
@@ -27,4 +27,7 @@
 		dlg.rbM01RegionA.setEnabled(true);
 		dlg.rbM01RegionB.setEnabled(true);
+		dlg.cbM01CatOfMark.setEnabled(true);
+		dlg.cbM01CatOfMark.setVisible(true);
+		dlg.lM01CatOfMark.setVisible(true);
 
 		dlg.cbM01StyleOfMark.removeAllItems();
@@ -337,4 +340,6 @@
 		setStyleIndex(style);
 		dlg.cbM01StyleOfMark.setSelectedIndex(style);
+		dlg.cbM01StyleOfMark.setVisible(true);
+		dlg.lM01StyleOfMark.setVisible(true);
 	}
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java	(revision 23012)
@@ -16,47 +16,32 @@
 
 public class BuoyNota extends Buoy {
-	public BuoyNota(SmpDialogAction dia, int type) {
+	public BuoyNota(SmpDialogAction dia, Node node) {
 		super(dia);
 		
+		String str;
+		Map<String, String> keys;
+		keys = node.getKeys();
+		setNode(node);
+		
 		resetMask();
+
+		dlg.cbM01CatOfMark.setEnabled(true);
+		dlg.cbM01CatOfMark.setVisible(true);
+		dlg.lM01CatOfMark.setVisible(true);
 
 		dlg.cbM01Kennung.removeAllItems();
 		dlg.cbM01Kennung.addItem("Not set");
 		dlg.cbM01Kennung.addItem("Fl");
-		dlg.cbM01Kennung.addItem("Fl(2)");
-		dlg.cbM01Kennung.addItem("Fl(3)");
-		dlg.cbM01Kennung.addItem("Fl(4)");
-		dlg.cbM01Kennung.addItem("Fl(5)");
-		dlg.cbM01Kennung.addItem("Oc(2)");
-		dlg.cbM01Kennung.addItem("Oc(3)");
+		dlg.cbM01Kennung.addItem("Fl()");
+		dlg.cbM01Kennung.addItem("Oc()");
 		dlg.cbM01Kennung.addItem("Q");
 		dlg.cbM01Kennung.addItem("IQ");
 		dlg.cbM01Kennung.setSelectedIndex(0);
 
-		setBuoyIndex(type);
-		setStyleIndex(0);
 		setLightColour();
 
 		setFired(true);
 		setTopMark(false);
-		refreshStyles();
 		paintSign();
-	}
-
-	public void refreshStyles() {
-		int type = getBuoyIndex();
-		int style = getStyleIndex();
-
-		dlg.cbM01StyleOfMark.removeAllItems();
-		dlg.cbM01StyleOfMark.addItem("Not set");
-		dlg.cbM01StyleOfMark.addItem("Lighthouse");
-		dlg.cbM01StyleOfMark.addItem("Major Light");
-		dlg.cbM01StyleOfMark.addItem("Minor Light");
-		dlg.cbM01StyleOfMark.addItem("Light Float");
-
-		if (style >= dlg.cbM01StyleOfMark.getItemCount())
-			style = 0;
-		setStyleIndex(style);
-		dlg.cbM01StyleOfMark.setSelectedIndex(style);
 	}
 
@@ -70,5 +55,5 @@
 		dlg.cM01Fired.setSelected(true);
 		dlg.cM01Fired.setEnabled(false);
-		dlg.cM01TopMark.setEnabled(false);
+		dlg.cM01TopMark.setVisible(false);
 		dlg.cM01TopMark.setSelected(false);
 
@@ -90,6 +75,6 @@
 
 		case SeaMark.LIGHT_FLOAT:
-			dlg.lM01Icon01.setIcon(new ImageIcon(getClass().getResource(
-					"/images/Major_Float.png")));
+//			dlg.lM01Icon01.setIcon(new ImageIcon(getClass().getResource(
+//					"/images/Light_Float.png")));
 			break;
 
@@ -115,7 +100,4 @@
 		case LIGHT_MINOR:
 			super.saveSign("minor_light");
-			break;
-		case LIGHT_FLOAT:
-			super.saveSign("major_floating_light");
 			break;
 		default:
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java	(revision 23012)
@@ -33,4 +33,6 @@
 		dlg.cbM01StyleOfMark.addItem("Beacon");
 		dlg.cbM01StyleOfMark.addItem("Float");
+		dlg.cbM01StyleOfMark.setVisible(true);
+		dlg.lM01StyleOfMark.setVisible(true);
 
 		dlg.cbM01Kennung.removeAllItems();
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java	(revision 23012)
@@ -35,4 +35,6 @@
 		dlg.cbM01StyleOfMark.addItem("Beacon");
 		dlg.cbM01StyleOfMark.addItem("Tower");
+		dlg.cbM01StyleOfMark.setVisible(true);
+		dlg.lM01StyleOfMark.setVisible(true);
 
 		dlg.cbM01Kennung.removeAllItems();
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java	(revision 23011)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java	(revision 23012)
@@ -14,4 +14,5 @@
 		super(dia);
 		resetMask();
+		dlg.cbM01TypeOfMark.setSelectedIndex(0);
 		dlg.cbM01CatOfMark.removeAllItems();
 		dlg.cbM01CatOfMark.setEnabled(false);
