Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages.properties
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages.properties	(revision 26907)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages.properties	(revision 26908)
@@ -180,2 +180,32 @@
 
 NotSet=Not set
+
+Permanent=Permanent
+Occasional=Occasional
+Recommended=Recommended
+NotInUse=Not in use
+Intermittent=Intermittent
+Reserved=Reserved
+Temporary=Temporary
+Private=Private
+Mandatory=Mandatory
+Destroyed=Destroyed
+Extinguished=Extinguished
+Illuminated=Illuminated
+Historic=Historic
+Public=Public
+Synchronized=Synchronized
+Watched=Watched
+UnWatched=Unwatched
+Doubtful=Existence Doubtful
+
+Masonry=Masonry
+Concreted=Concreted
+Boulders=Loose boulders
+HardSurfaced=Hard surfaced
+Unsurfaced=Unsurfaced
+Wooden=Wooden
+Metal=Metal
+GRP=GRP
+Painted=Painted
+
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 26907)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 26908)
@@ -79,4 +79,6 @@
 									}
 								}
+							} else {
+								stack.repaint();
 							}
 						}
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 26907)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 26908)
@@ -228,5 +228,5 @@
 					return;
 				else
-					dlg.mark.setName(nameBox.getText());
+					dlg.mark.setName(nameBox.getText().trim());
 			}
 		};
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java	(revision 26907)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java	(revision 26908)
@@ -23,4 +23,6 @@
 			if (dlg.mark == null)
 				return;
+			else
+				dlg.mark.setInfo(infoBox.getText().trim());
 		}
 	};
@@ -31,4 +33,6 @@
 			if (dlg.mark == null)
 				return;
+			else
+				dlg.mark.setSource(sourceBox.getText().trim());
 		}
 	};
@@ -63,24 +67,36 @@
 	public JLabel constrLabel;
 	public JComboBox constrBox;
+	public EnumMap<Cns, Integer> constructions = new EnumMap<Cns, Integer>(Cns.class);
 	private ActionListener alConstr = new ActionListener() {
 		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (dlg.mark == null)
-				return;
+			for (Cns cns : constructions.keySet()) {
+				int idx = constructions.get(cns);
+				if (dlg.mark != null && (idx == constrBox.getSelectedIndex()))
+					dlg.mark.setConstr(cns);
+			}
 		}
 	};
 	public JLabel visLabel;
 	public JComboBox visBox;
+	public EnumMap<Vis, Integer> visibilities = new EnumMap<Vis, Integer>(Vis.class);
 	private ActionListener alVis = new ActionListener() {
 		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (dlg.mark == null)
-				return;
-		}
-	};
-	public JLabel conspLabel;
-	public JComboBox conspBox;
-	private ActionListener alConsp = new ActionListener() {
-		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (dlg.mark == null)
-				return;
+			for (Vis vis : visibilities.keySet()) {
+				int idx = visibilities.get(vis);
+				if (dlg.mark != null && (idx == visBox.getSelectedIndex()))
+					dlg.mark.setVis(vis);
+			}
+		}
+	};
+	public JLabel reflLabel;
+	public JComboBox reflBox;
+	public EnumMap<Vis, Integer> reflectivities = new EnumMap<Vis, Integer>(Vis.class);
+	private ActionListener alRefl = new ActionListener() {
+		public void actionPerformed(java.awt.event.ActionEvent e) {
+			for (Vis vis : reflectivities.keySet()) {
+				int idx = reflectivities.get(vis);
+				if (dlg.mark != null && (idx == reflBox.getSelectedIndex()))
+					dlg.mark.setRvis(vis);
+			}
 		}
 	};
@@ -228,4 +244,22 @@
 		statusBox.setBounds(new Rectangle(250, 20, 100, 20));
 		addStsItem(Messages.getString("NotSet"), Sts.UNKNOWN);
+		addStsItem(Messages.getString("Permanent"), Sts.PERM);
+		addStsItem(Messages.getString("Occasional"), Sts.OCC);
+		addStsItem(Messages.getString("Recommended"), Sts.REC);
+		addStsItem(Messages.getString("NotInUse"), Sts.NIU);
+		addStsItem(Messages.getString("Intermittent"), Sts.INT);
+		addStsItem(Messages.getString("Reserved"), Sts.RESV);
+		addStsItem(Messages.getString("Temporary"), Sts.TEMP);
+		addStsItem(Messages.getString("Private"), Sts.PRIV);
+		addStsItem(Messages.getString("Mandatory"), Sts.MAND);
+		addStsItem(Messages.getString("Destroyed"), Sts.DEST);
+		addStsItem(Messages.getString("Extinguished"), Sts.EXT);
+		addStsItem(Messages.getString("Illuminated"), Sts.ILLUM);
+		addStsItem(Messages.getString("Historic"), Sts.HIST);
+		addStsItem(Messages.getString("Public"), Sts.PUB);
+		addStsItem(Messages.getString("Synchronized"), Sts.SYNC);
+		addStsItem(Messages.getString("Watched"), Sts.WATCH);
+		addStsItem(Messages.getString("UnWatched"), Sts.UNWAT);
+		addStsItem(Messages.getString("Doubtful"), Sts.DOUBT);
 		this.add(statusBox, null);
 		statusBox.addActionListener(alStatus);
@@ -236,22 +270,39 @@
 		constrBox = new JComboBox();
 		constrBox.setBounds(new Rectangle(250, 60, 100, 20));
+		addCnsItem(Messages.getString("NotSet"), Cns.UNKNOWN);
+		addCnsItem(Messages.getString("Masonry"), Cns.BRICK);
+		addCnsItem(Messages.getString("Concreted"), Cns.CONC);
+		addCnsItem(Messages.getString("Boulders"), Cns.BOULD);
+		addCnsItem(Messages.getString("HardSurfaced"), Cns.HSURF);
+		addCnsItem(Messages.getString("Unsurfaced"), Cns.USURF);
+		addCnsItem(Messages.getString("Wooden"), Cns.WOOD);
+		addCnsItem(Messages.getString("Metal"), Cns.METAL);
+		addCnsItem(Messages.getString("GRP"), Cns.GRP);
+		addCnsItem(Messages.getString("Painted"), Cns.PAINT);
 		this.add(constrBox, null);
 		constrBox.addActionListener(alConstr);
 
-		conspLabel = new JLabel(Messages.getString("Reflectivity"), SwingConstants.CENTER);
-		conspLabel.setBounds(new Rectangle(250, 80, 100, 20));
-		this.add(conspLabel, null);
-		conspBox = new JComboBox();
-		conspBox.setBounds(new Rectangle(250, 100, 100, 20));
-		this.add(conspBox, null);
-		conspBox.addActionListener(alConsp);
-
 		visLabel = new JLabel(Messages.getString("Visibility"), SwingConstants.CENTER);
-		visLabel.setBounds(new Rectangle(250, 120, 100, 20));
+		visLabel.setBounds(new Rectangle(250, 80, 100, 20));
 		this.add(visLabel, null);
 		visBox = new JComboBox();
-		visBox.setBounds(new Rectangle(250, 140, 100, 20));
+		visBox.setBounds(new Rectangle(250, 100, 100, 20));
+		addVisItem(Messages.getString("NotSet"), Vis.UNKNOWN);
+		addVisItem(Messages.getString("Conspicuous"), Vis.CONSP);
+		addVisItem(Messages.getString("NotConspicuous"), Vis.NCONS);
 		this.add(visBox, null);
 		visBox.addActionListener(alVis);
+
+		reflLabel = new JLabel(Messages.getString("Reflectivity"), SwingConstants.CENTER);
+		reflLabel.setBounds(new Rectangle(250, 120, 100, 20));
+		this.add(reflLabel, null);
+		reflBox = new JComboBox();
+		reflBox.setBounds(new Rectangle(250, 140, 100, 20));
+		addRvsItem(Messages.getString("NotSet"), Vis.UNKNOWN);
+		addRvsItem(Messages.getString("Conspicuous"), Vis.CONSP);
+		addRvsItem(Messages.getString("NotConspicuous"), Vis.NCONS);
+		addRvsItem(Messages.getString("Reflector"), Vis.REFL);
+		this.add(reflBox, null);
+		reflBox.addActionListener(alRefl);
 
 		}
@@ -264,4 +315,19 @@
 		statuses.put(sts, statusBox.getItemCount());
 		statusBox.addItem(str);
+	}
+
+	private void addCnsItem(String str, Cns cns) {
+		constructions.put(cns, constrBox.getItemCount());
+		constrBox.addItem(str);
+	}
+
+	private void addVisItem(String str, Vis vis) {
+		visibilities.put(vis, visBox.getItemCount());
+		visBox.addItem(str);
+	}
+
+	private void addRvsItem(String str, Vis vis) {
+		reflectivities.put(vis, reflBox.getItemCount());
+		reflBox.addItem(str);
 	}
 
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 26907)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 26908)
@@ -660,4 +660,82 @@
 	}
 
+	public enum Cns {
+		UNKNOWN, BRICK, CONC, BOULD, HSURF, USURF, WOOD, METAL, GRP, PAINT
+	}
+	
+	public static final EnumMap<Cns, String> CnsSTR = new EnumMap<Cns, String>(Cns.class);
+	static {
+		CnsSTR.put(Cns.BRICK, "masonry");
+		CnsSTR.put(Cns.CONC, "concreted");
+		CnsSTR.put(Cns.BOULD, "boulders");
+		CnsSTR.put(Cns.HSURF, "hard_surfaced");
+		CnsSTR.put(Cns.USURF, "unsurfaced");
+		CnsSTR.put(Cns.WOOD, "wooden");
+		CnsSTR.put(Cns.METAL, "metal");
+		CnsSTR.put(Cns.GRP, "grp");
+		CnsSTR.put(Cns.PAINT, "painted");
+	}
+
+	private Cns construction = Cns.UNKNOWN;
+	
+	public Cns getConstr() {
+		return construction;
+	}
+
+	public void setConstr(Cns cns) {
+		construction = cns;
+	}
+
+	public enum Vis {
+		UNKNOWN, CONSP, NCONS, REFL
+	}
+	
+	public static final EnumMap<Vis, String> VisSTR = new EnumMap<Vis, String>(Vis.class);
+	static {
+		VisSTR.put(Vis.CONSP, "conspicuous");
+		VisSTR.put(Vis.NCONS, "not_conspicuous");
+		VisSTR.put(Vis.REFL, "reflector");
+	}
+
+	private Vis visibility = Vis.UNKNOWN;
+	
+	public Vis getVis() {
+		return visibility;
+	}
+
+	public void setVis(Vis vis) {
+		visibility = vis;
+	}
+
+	private Vis reflectivity = Vis.UNKNOWN;
+	
+	public Vis getRvis() {
+		return reflectivity;
+	}
+
+	public void setRvis(Vis vis) {
+		reflectivity = vis;
+	}
+
+	public String information = "";
+	
+	public String getInfo() {
+		return information;
+	}
+	
+	public void setInfo(String str) {
+		information = str;
+	}
+	
+	public String source = "";
+	
+	public String getSource() {
+		return source;
+	}
+	
+	public void setSource(String str) {
+		source = str;
+	}
+	
 	// **********************!!!!!!!!!
 	public Light light = new Light(dlg);
