Index: /applications/editors/josm/plugins/pointInfo/README.md
===================================================================
--- /applications/editors/josm/plugins/pointInfo/README.md	(revision 30372)
+++ /applications/editors/josm/plugins/pointInfo/README.md	(revision 30373)
@@ -1,3 +1,3 @@
-![](http://www.kyralovi.cz/tmp/josm/pointInfo_v1.png)
+![](http://www.kyralovi.cz/tmp/josm/pointInfo_20140327.png)
 
 ---
@@ -7,4 +7,6 @@
 This plugin shows all available information for clicked point from external database.
 There is only a Czech RUIAN module available at this moment.
+
+Plugin could be easy extend to show another data source.
 
 ##Author
@@ -22,11 +24,4 @@
  * GPL v2 or later
 
-
-##Notes:
-
-- Plugin could be easy extend to show another data source.
-- Input is position, output html string that is shown on message.
-- Optionally you can define special links (file://...) that will be sent back to the module to the performAction method
-
 ---
 ###The RUIAN module
@@ -35,4 +30,5 @@
 
  * Additional actions are available :
+    * [![](https://raw.githubusercontent.com/mkyral/josm-pointInfo/master/images/dialogs/open-external-link.png)] Open on external site
     * [![](https://raw.githubusercontent.com/mkyral/josm-pointInfo/master/images/dialogs/copy-tags.png)] Copy tags to clipboard
     * [![](https://raw.githubusercontent.com/mkyral/josm-pointInfo/master/images/dialogs/create-addr.png)] Create an address point on position where was clicked
@@ -41,4 +37,7 @@
 ---
 ###The interface:
+
+- Input is position, output html string that is shown on message.
+- Optionally you can define special links (file://...) that will be sent back to the module to the performAction method
 
 ```java
Index: /applications/editors/josm/plugins/pointInfo/build.xml
===================================================================
--- /applications/editors/josm/plugins/pointInfo/build.xml	(revision 30372)
+++ /applications/editors/josm/plugins/pointInfo/build.xml	(revision 30373)
@@ -15,5 +15,5 @@
 
     <!-- enter the SVN commit message -->
-    <property name="commit.message" value="PointInfo: Replace openWebPage function by josm.tools.OpenBrowser."/>
+    <property name="commit.message" value="PointInfo: Add more external links, nicer icons."/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
     <property name="plugin.main.version" value="6238"/>
Index: /applications/editors/josm/plugins/pointInfo/servers/RUIAN/index.php
===================================================================
--- /applications/editors/josm/plugins/pointInfo/servers/RUIAN/index.php	(revision 30372)
+++ /applications/editors/josm/plugins/pointInfo/servers/RUIAN/index.php	(revision 30373)
@@ -59,7 +59,11 @@
          am.cislo_domovni,
          am.cislo_orientacni_hodnota || coalesce(am.cislo_orientacni_pismeno, '') cislo_orientacni,
-         am.adrp_psc psc, ul.nazev ulice, c.nazev cast_obce,
-         momc.nazev mestska_cast,
-         ob.nazev obec, ok.nazev okres, vu.nazev kraj
+         am.adrp_psc psc,
+         ul.kod ulice_kod, ul.nazev ulice,
+         c.kod cast_obce_kod, c.nazev cast_obce,
+         momc.kod mestska_cast_kod, momc.nazev mestska_cast,
+         ob.kod obec_kod, ob.nazev obec,
+         ok.kod okres_kod, ok.nazev okres,
+         vu.kod kraj_kod, vu.nazev kraj
    from ruian.rn_adresni_misto am
         left outer join rn_stavebni_objekt s on am.stavobj_kod = s.kod and not s.deleted
@@ -94,9 +98,15 @@
                         "cislo_domovni" => $row["cislo_domovni"],
                         "cislo_orientacni" => $row["cislo_orientacni"],
+                        "ulice_kod" => $row["ulice_kod"],
                         "ulice" => $row["ulice"],
+                        "cast_obce_kod" => $row["cast_obce_kod"],
                         "cast_obce" => $row["cast_obce"],
+                        "mestska_cast_kod" => $row["mestska_cast_kod"],
                         "mestska_cast" => $row["mestska_cast"],
+                        "obec_kod" => $row["obec_kod"],
                         "obec" => $row["obec"],
+                        "okres_kod" => $row["okres_kod"],
                         "okres" => $row["okres"],
+                        "kraj_kod" => $row["kraj_kod"],
                         "kraj" => $row["kraj"],
                         "psc" => $row["psc"]
@@ -248,5 +258,7 @@
 $query="
   select ku.kod, ku.nazev,
-         ob.nazev obec, ok.nazev okres, vu.nazev kraj
+         ob.kod obec_kod, ob.nazev obec,
+         ok.kod okres_kod, ok.nazev okres,
+         vu.kod kraj_kod, vu.nazev kraj
   from rn_katastralni_uzemi ku
       left outer join rn_obec ob on ku.obec_kod = ob.kod and not ob.deleted
@@ -267,6 +279,9 @@
     array( "ruian_id" => $row["kod"],
            "nazev" => $row["nazev"],
+           "obec_kod" => $row["obec_kod"],
            "obec" => $row["obec"],
+           "okres_kod" => $row["okres_kod"],
            "okres" => $row["okres"],
+           "kraj_kod" => $row["kraj_kod"],
            "kraj" => $row["kraj"],
            );
@@ -276,35 +291,4 @@
 }
 
-// cadastral area
-$query="
-  select ku.kod, ku.nazev,
-         ob.nazev obec, ok.nazev okres, vu.nazev kraj
-  from rn_katastralni_uzemi ku
-      left outer join rn_obec ob on ku.obec_kod = ob.kod and not ob.deleted
-      left outer join rn_okres ok on ob.okres_kod = ok.kod and not ok.deleted
-      left outer join rn_vusc vu on ok.vusc_kod = vu.kod and not vu.deleted
-  where st_contains(ku.hranice,st_transform(st_geomfromtext('POINT(".$lon." ".$lat.")',4326),900913))
-  and not ku.deleted
-  limit 1;
-";
-
-$result=pg_query($CONNECT,$query);
-$error= pg_last_error($CONNECT);
-if (pg_num_rows($result) > 0)
-{
-  $row = pg_fetch_array($result, 0);
-
-  $data["katastr"] =
-    array( "ruian_id" => $row["kod"],
-           "nazev" => $row["nazev"],
-           "obec" => $row["obec"],
-           "okres" => $row["okres"],
-           "kraj" => $row["kraj"],
-           );
-} else
-{
-  $data["katastr"] = array();
-}
-
 echo json_encode($data);
 
Index: /applications/editors/josm/plugins/pointInfo/src/org/openstreetmap/josm/plugins/pointinfo/ruianModule.java
===================================================================
--- /applications/editors/josm/plugins/pointInfo/src/org/openstreetmap/josm/plugins/pointinfo/ruianModule.java	(revision 30372)
+++ /applications/editors/josm/plugins/pointInfo/src/org/openstreetmap/josm/plugins/pointinfo/ruianModule.java	(revision 30373)
@@ -61,9 +61,15 @@
     private String  m_cislo_domovni;
     private String  m_cislo_orientacni;
+    private long    m_ulice_kod;
     private String  m_ulice;
+    private long    m_cast_obce_kod;
     private String  m_cast_obce;
+    private long    m_mestska_cast_kod;
     private String  m_mestska_cast;
+    private long    m_obec_kod;
     private String  m_obec;
+    private long    m_okres_kod;
     private String  m_okres;
+    private long    m_kraj_kod;
     private String  m_kraj;
     private String  m_psc;
@@ -80,9 +86,15 @@
       m_cislo_domovni = "";
       m_cislo_orientacni = "";
+      m_ulice_kod = 0;
       m_ulice = "";
+      m_cast_obce_kod = 0;
       m_cast_obce = "";
+      m_mestska_cast_kod = 0;
       m_mestska_cast = "";
+      m_obec_kod = 0;
       m_obec = "";
+      m_okres_kod = 0;
       m_okres = "";
+      m_kraj_kod = 0;
       m_kraj = "";
       m_psc = "";
@@ -113,24 +125,48 @@
     }
 
+    public void setUliceID (long v) {
+      m_ulice_kod = v;
+    }
+
     public void setUlice (String v) {
       m_ulice = v;
     }
 
+    public void setCastObceID (long v) {
+      m_cast_obce_kod = v;
+    }
+
     public void setCastObce (String v) {
       m_cast_obce = v;
     }
 
+    public void setMestskaCastID (long v) {
+      m_mestska_cast_kod = v;
+    }
+
     public void setMestskaCast (String v) {
       m_mestska_cast = v;
     }
 
+    public void setObecID (long v) {
+      m_obec_kod = v;
+    }
+
     public void setObec (String v) {
       m_obec = v;
     }
 
+    public void setOkresID (long v) {
+      m_okres_kod = v;
+    }
+
     public void setOkres (String v) {
       m_okres = v;
     }
 
+    public void setKrajID (long v) {
+      m_kraj_kod = v;
+    }
+
     public void setKraj (String v) {
       m_kraj = v;
@@ -165,21 +201,46 @@
     }
 
+    public long getUliceID () {
+      return m_ulice_kod;
+    }
+
     public String getUlice () {
       return m_ulice;
     }
+
+    public long getCastObceID () {
+      return m_cast_obce_kod;
+    }
+
     public String getCastObce () {
       return m_cast_obce;
     }
 
+    public long getMestskaCastID () {
+      return m_mestska_cast_kod;
+    }
+
     public String getMestskaCast () {
       return m_mestska_cast;
     }
 
+    public long getObecID () {
+      return m_obec_kod;
+    }
+
     public String getObec () {
       return m_obec;
     }
 
+    public long getOkresID () {
+      return m_okres_kod;
+    }
+
     public String getOkres () {
       return m_okres;
+    }
+
+    public long getKrajID () {
+      return m_kraj_kod;
     }
 
@@ -226,6 +287,9 @@
     private long     m_katastr_ruian_id;
     private String   m_katastr_nazev;
+    private long     m_katastr_obec_kod;
     private String   m_katastr_obec;
+    private long     m_katastr_okres_kod;
     private String   m_katastr_okres;
+    private long     m_katastr_kraj_kod;
     private String   m_katastr_kraj;
 
@@ -271,6 +335,9 @@
       m_katastr_ruian_id = 0;
       m_katastr_nazev = "";
+      m_katastr_obec_kod = 0;
       m_katastr_obec = "";
+      m_katastr_okres_kod = 0;
       m_katastr_okres = "";
+      m_katastr_kraj_kod = 0;
       m_katastr_kraj = "";
 
@@ -427,4 +494,10 @@
 
           try {
+            am.setUliceID(Long.parseLong(adresniMisto.getString("ulice_kod")));
+          } catch (Exception e) {
+            System.out.println("adresni_mista.ulice_kod: " + e.getMessage());
+          }
+
+          try {
             am.setUlice(adresniMisto.getString("ulice"));
           } catch (Exception e) {
@@ -433,4 +506,10 @@
 
           try {
+            am.setCastObceID(Long.parseLong(adresniMisto.getString("cast_obce_kod")));
+          } catch (Exception e) {
+            System.out.println("adresni_mista.cast_obce_kod: " + e.getMessage());
+          }
+
+          try {
             am.setCastObce(adresniMisto.getString("cast_obce"));
           } catch (Exception e) {
@@ -439,4 +518,10 @@
 
           try {
+            am.setMestskaCastID(Long.parseLong(adresniMisto.getString("mestska_cast_kod")));
+          } catch (Exception e) {
+            System.out.println("adresni_mista.mestska_cast_kod: " + e.getMessage());
+          }
+
+          try {
             am.setMestskaCast(adresniMisto.getString("mestska_cast"));
           } catch (Exception e) {
@@ -445,4 +530,10 @@
 
           try {
+            am.setObecID(Long.parseLong(adresniMisto.getString("obec_kod")));
+          } catch (Exception e) {
+            System.out.println("adresni_mista.obec:_kod " + e.getMessage());
+          }
+
+          try {
             am.setObec(adresniMisto.getString("obec"));
           } catch (Exception e) {
@@ -451,7 +542,19 @@
 
           try {
+            am.setOkresID(Long.parseLong(adresniMisto.getString("okres_kod")));
+          } catch (Exception e) {
+            System.out.println("adresni_mista.okres_kod: " + e.getMessage());
+          }
+
+          try {
             am.setOkres(adresniMisto.getString("okres"));
           } catch (Exception e) {
             System.out.println("adresni_mista.okres: " + e.getMessage());
+          }
+
+          try {
+            am.setKrajID(Long.parseLong(adresniMisto.getString("kraj_kod")));
+          } catch (Exception e) {
+            System.out.println("adresni_mista.kraj_kod: " + e.getMessage());
           }
 
@@ -543,4 +646,10 @@
 
         try {
+          m_katastr_obec_kod = Long.parseLong(katastr.getString("obec_kod"));
+        } catch (Exception e) {
+          System.out.println("katastr.obec_kod: " + e.getMessage());
+        }
+
+        try {
           m_katastr_obec = katastr.getString("obec");
         } catch (Exception e) {
@@ -549,7 +658,19 @@
 
         try {
+          m_katastr_okres_kod = Long.parseLong(katastr.getString("okres_kod"));
+        } catch (Exception e) {
+          System.out.println("katastr.okres_kod: " + e.getMessage());
+        }
+
+        try {
           m_katastr_okres = katastr.getString("okres");
         } catch (Exception e) {
           System.out.println("katastr.okres: " + e.getMessage());
+        }
+
+        try {
+          m_katastr_kraj_kod = Long.parseLong(katastr.getString("kraj_kod"));
+        } catch (Exception e) {
+          System.out.println("katastr.kraj_kod: " + e.getMessage());
         }
 
@@ -570,4 +691,21 @@
      */
     public String getHtml () {
+
+      String icon_ext_link = "<img src=" +getClass().getResource("/images/dialogs/open-external-link.png")+" border=0 alt=\"Zobrazit na stránkách RUIAN\"/>";
+      String icon_copy_tags = "<img src=" +getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Zobrazit na stránkách RUIAN\"/>";
+      String icon_create_addr = "<img src=" +getClass().getResource("/images/dialogs/create-addr.png")+" border=0 alt=\"Zobrazit na stránkách RUIAN\"/>";
+      String icon_create_addr_ruian = "<img src=" +getClass().getResource("/images/dialogs/create-addr-ruian.png")+" border=0 alt=\"Zobrazit na stránkách RUIAN\"/>";
+
+      String url_cpost = "http://www.postaonline.cz/vyhledani-psc?p_p_id=psc_WAR_pcpvpp&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_psc_WAR_pcpvpp_struts.portlet.action=%2Fview%2FdetailPost&_psc_WAR_pcpvpp_struts.portlet.mode=view&_psc_WAR_pcpvpp_zipCode=";
+      String url_stavebni_objekt = "http://vdp.cuzk.cz/vdp/ruian/stavebniobjekty/";
+      String url_adresni_misto = "http://vdp.cuzk.cz/vdp/ruian/adresnimista/";
+      String url_parcela = "http://vdp.cuzk.cz/vdp/ruian/parcely/";
+      String url_katastralni_uzemi = "http://vdp.cuzk.cz/vdp/ruian/katastralniuzemi/";
+      String url_ulice = "http://vdp.cuzk.cz/vdp/ruian/ulice/";
+      String url_mistni_cast = "http://vdp.cuzk.cz/vdp/ruian/castiobce/";
+      String url_mestska_cast = "http://vdp.cuzk.cz/vdp/ruian/mestskecasti/";
+      String url_obec = "http://vdp.cuzk.cz/vdp/ruian/obce/";
+      String url_okres = "http://vdp.cuzk.cz/vdp/ruian/okresy/";
+      String url_kraj = "http://vdp.cuzk.cz/vdp/ruian/vusc/";
 
       StringBuilder r = new StringBuilder();
@@ -583,7 +721,7 @@
       r.append("<br/>");
       if (m_objekt_ruian_id > 0) {
-        r.append("<i><u>Informace o budově</u></i>");
-        r.append("&nbsp;&nbsp;<a href=file://tags.copy/building><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\" ></a><br/>");
-        r.append("<b>RUIAN id: </b><a href=http://vdp.cuzk.cz/vdp/ruian/stavebniobjekty/" + m_objekt_ruian_id +">" + m_objekt_ruian_id + "</a><br/>");
+        r.append("<i><u>Informace o budově</u></i><br/>");
+        r.append("<b>RUIAN id: </b>"+ m_objekt_ruian_id +"&nbsp;&nbsp;<a href="+ url_stavebni_objekt + m_objekt_ruian_id +">" + icon_ext_link + "</a>");
+        r.append("&nbsp;&nbsp;<a href=file://tags.copy/building>"+ icon_copy_tags +"</a><br/>");
         if (m_adresni_mista.size() == 0 ) r.append("<b>Budova: </b> bez č.p./č.e<br/>");
         else if (m_adresni_mista.get(0).getCisloTyp().equals("Číslo popisné")) r.append("<b>Budova: </b>s číslem popisným<br/>");
@@ -601,9 +739,16 @@
           int i = 0;
           r.append("<b>" + m_adresni_mista.get(i).getCisloTyp() + "</b> (více adres)<b>: </b>" + m_adresni_mista.get(i).getCisloDomovni() + "<br/>");
-          r.append("<b>Část obce: </b>" + m_adresni_mista.get(i).getCastObce() + "<br/>");
-          if (m_adresni_mista.get(i).getMestskaCast().length() > 0) r.append("<b>Městská část: </b>" + m_adresni_mista.get(i).getMestskaCast() + "<br/>");
-          r.append("<b>Obec: </b>" + m_adresni_mista.get(i).getObec() +"<br/>");
-          r.append("<b>Okres: </b>" + m_adresni_mista.get(i).getOkres() +"<br/>");
-          r.append("<b>Kraj: </b>" + m_adresni_mista.get(i).getKraj() +"<br/>");
+          r.append("<b>Část obce: </b>" + m_adresni_mista.get(i).getCastObce());
+            r.append("&nbsp;&nbsp;<a href="+ url_mistni_cast + m_adresni_mista.get(i).getCastObceID() +">" + icon_ext_link + "</a><br/>");
+          if (m_adresni_mista.get(i).getMestskaCast().length() > 0) {
+            r.append("<b>Městská část: </b>" + m_adresni_mista.get(i).getMestskaCast());
+              r.append("&nbsp;&nbsp;<a href="+ url_mestska_cast + m_adresni_mista.get(i).getMestskaCastID() +">" + icon_ext_link + "</a><br/>");
+          }
+          r.append("<b>Obec: </b>" + m_adresni_mista.get(i).getObec());
+            r.append("&nbsp;&nbsp;<a href="+ url_obec + m_adresni_mista.get(i).getObecID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>Okres: </b>" + m_adresni_mista.get(i).getOkres());
+            r.append("&nbsp;&nbsp;<a href="+ url_okres + m_adresni_mista.get(i).getOkresID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>Kraj: </b>" + m_adresni_mista.get(i).getKraj());
+            r.append("&nbsp;&nbsp;<a href="+ url_kraj + m_adresni_mista.get(i).getKrajID() +">" + icon_ext_link + "</a><br/>");
 
         } else if (m_adresni_mista.size() == 1 && (m_adresni_mista.get(0).getCisloDomovni() == null || m_adresni_mista.get(0).getCisloDomovni().isEmpty())) {
@@ -612,8 +757,14 @@
           r.append("<i><u>Informace o adrese</u></i><br/>");
           r.append("<b>Budova: </b>" + m_adresni_mista.get(i).getCisloTyp() + "<br/>");
-          if (m_adresni_mista.get(i).getMestskaCast().length() > 0) r.append("<b>Městská část: </b>" + m_adresni_mista.get(i).getMestskaCast() + "<br/>");
-          r.append("<b>Obec: </b>" + m_adresni_mista.get(i).getObec() +"<br/>");
-          r.append("<b>Okres: </b>" + m_adresni_mista.get(i).getOkres() +"<br/>");
-          r.append("<b>Kraj: </b>" + m_adresni_mista.get(i).getKraj() +"<br/>");
+          if (m_adresni_mista.get(i).getMestskaCast().length() > 0) {
+            r.append("<b>Městská část: </b>" + m_adresni_mista.get(i).getMestskaCast());
+              r.append("&nbsp;&nbsp;<a href="+ url_mestska_cast + m_adresni_mista.get(i).getMestskaCastID() +">" + icon_ext_link + "</a><br/>");
+          }
+          r.append("<b>Obec: </b>" + m_adresni_mista.get(i).getObec());
+            r.append("&nbsp;&nbsp;<a href="+ url_obec + m_adresni_mista.get(i).getObecID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>Okres: </b>" + m_adresni_mista.get(i).getOkres());
+            r.append("&nbsp;&nbsp;<a href="+ url_okres + m_adresni_mista.get(i).getOkresID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>Kraj: </b>" + m_adresni_mista.get(i).getKraj());
+            r.append("&nbsp;&nbsp;<a href="+ url_kraj + m_adresni_mista.get(i).getKrajID() +">" + icon_ext_link + "</a><br/>");
 
         } else if (m_adresni_mista.size() == 1) {
@@ -627,17 +778,29 @@
           }
           r.append("<i><u>Informace o adrese</u></i><br/>");
-          r.append("<b>RUIAN id: </b><a href=http://vdp.cuzk.cz/vdp/ruian/adresnimista/" + m_adresni_mista.get(i).getRuianID() +">" + m_adresni_mista.get(i).getRuianID() + "</a><br/>");
+          r.append("<b>RUIAN id: </b>"+ m_adresni_mista.get(i).getRuianID() +"&nbsp;&nbsp;<a href="+ url_adresni_misto + m_adresni_mista.get(i).getRuianID() +">" + icon_ext_link + "</a>");
+          r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+">"+ icon_copy_tags +"</a>");
+          r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+">"+ icon_create_addr +"</a>");
+          r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+">"+ icon_create_addr_ruian +"</a><br/>");
           r.append("<b>" + m_adresni_mista.get(i).getCisloTyp() + x_name + ": </b>" + m_adresni_mista.get(i).getCisloDomovni() + x);
-          r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+"><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\"></a>");
-          r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr.png")+" border=0 alt=\"Vytvořit adresní bod\"></a>");
-          r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr-ruian.png")+" border=0 alt=\"Vytvořit adresní bod na pozici dle RUIAN\"></a>");
           r.append("<br/>");
-          if (!m_adresni_mista.get(i).getUlice().isEmpty()) r.append("<b>Ulice: </b>" + m_adresni_mista.get(i).getUlice() + "<br/>");
-          r.append("<b>Část obce: </b>" + m_adresni_mista.get(i).getCastObce() + "<br/>");
-          if (m_adresni_mista.get(i).getMestskaCast().length() > 0) r.append("<b>Městská část: </b>" + m_adresni_mista.get(i).getMestskaCast() + "<br/>");
-          r.append("<b>Obec: </b>" + m_adresni_mista.get(i).getObec() + "<br/>");
-          r.append("<b>Okres: </b>" + m_adresni_mista.get(i).getOkres() + "<br/>");
-          r.append("<b>Kraj: </b>" + m_adresni_mista.get(i).getKraj() + "<br/>");
-          r.append("<b>PSČ: </b>" + m_adresni_mista.get(i).getPsc() + "<br/>");
+          if (!m_adresni_mista.get(i).getUlice().isEmpty()) {
+            r.append("<b>Ulice: </b>" + m_adresni_mista.get(i).getUlice());
+              r.append("&nbsp;&nbsp;<a href="+ url_ulice + m_adresni_mista.get(i).getUliceID() +">" + icon_ext_link + "</a><br/>");
+          }
+          r.append("<b>Část obce: </b>" + m_adresni_mista.get(i).getCastObce());
+            r.append("&nbsp;&nbsp;<a href="+ url_mistni_cast + m_adresni_mista.get(i).getCastObceID() +">" + icon_ext_link + "</a><br/>");
+          if (m_adresni_mista.get(i).getMestskaCast().length() > 0) {
+            r.append("<b>Městská část: </b>" + m_adresni_mista.get(i).getMestskaCast());
+              r.append("&nbsp;&nbsp;<a href="+ url_mestska_cast + m_adresni_mista.get(i).getMestskaCastID() +">" + icon_ext_link + "</a><br/>");
+          }
+          r.append("<b>Obec: </b>" + m_adresni_mista.get(i).getObec());
+            r.append("&nbsp;&nbsp;<a href="+ url_obec + m_adresni_mista.get(i).getObecID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>Okres: </b>" + m_adresni_mista.get(i).getOkres());
+            r.append("&nbsp;&nbsp;<a href="+ url_okres + m_adresni_mista.get(i).getOkresID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>Kraj: </b>" + m_adresni_mista.get(i).getKraj());
+            r.append("&nbsp;&nbsp;<a href="+ url_kraj + m_adresni_mista.get(i).getKrajID() +">" + icon_ext_link + "</a><br/>");
+          r.append("<b>PSČ: </b>" + m_adresni_mista.get(i).getPsc());
+            r.append("&nbsp;&nbsp;<a href="+ url_cpost + m_adresni_mista.get(i).getPsc() +">" + icon_ext_link + "</a><br/>");
+
         }
         r.append("<br/>");
@@ -650,17 +813,16 @@
         r.append("<i><u>Adresní místa</u></i><br/>");
         for (int i=0; i<m_adresni_mista.size(); i++) {
-          r.append("<a href=http://vdp.cuzk.cz/vdp/ruian/adresnimista/" + m_adresni_mista.get(i).getRuianID() + ">");
-          r.append(m_adresni_mista.get(i).getRuianID() + "</a> ");
+//           r.append(m_adresni_mista.get(i).getRuianID());
           r.append(m_adresni_mista.get(i).getUlice() + " " + x + m_adresni_mista.get(i).getCisloDomovni());
           if (!m_adresni_mista.get(i).getCisloOrientacni().isEmpty()) {
             r.append("/" + m_adresni_mista.get(i).getCisloOrientacni());
           }
-          r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+"><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\"></a>");
-          r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr.png")+" border=0 alt=\"Vytvořit adresní bod\"></a>");
-          r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr-ruian.png")+" border=0 alt=\"Vytvořit adresní bod na pozici dle RUIAN\"></a>");
+          r.append("&nbsp;&nbsp;<a href="+ url_adresni_misto + m_adresni_mista.get(i).getRuianID() + ">"+ icon_ext_link +"</a> ");
+          r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+">"+ icon_copy_tags +"</a>");
+          r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+">"+ icon_create_addr +"</a>");
+          r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+">"+ icon_create_addr_ruian +"</a>");
           r.append("<br/>");
         }
         r.append("<br/>");
-//         r.append("<br/>");
       }
 
@@ -668,7 +830,7 @@
       if (m_parcela_ruian_id > 0) {
         r.append("<i><u>Informace o pozemku</u></i>");
-//         r.append("&nbsp;&nbsp;<a href=file://tags.copy/parcel><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\"></a>");
         r.append("<br/>");
-        r.append("<b>RUIAN id: </b><a href=http://vdp.cuzk.cz/vdp/ruian/parcely/" + m_parcela_ruian_id +">" + m_parcela_ruian_id + "</a><br/>");
+        r.append("<b>RUIAN id: </b>"+ m_parcela_ruian_id +"&nbsp;&nbsp;<a href="+ url_parcela + m_parcela_ruian_id +">" + icon_ext_link + "</a><br/>");
+//         r.append("&nbsp;&nbsp;<a href=file://tags.copy/parcel>"+ icon_copy_tags +"</a>");
         r.append("<b>Druh pozemku: </b>" + m_parcela_druh_pozemku +"<br/>");
         if (m_parcela_zpusob_vyuziti != "") r.append("<b>Způsob využití: </b>" + m_parcela_zpusob_vyuziti +"<br/>");
@@ -679,7 +841,7 @@
       // Street
       if (m_ulice_ruian_id > 0) {
-        r.append("<i><u>Informace o ulici</u></i>");
-        r.append("&nbsp;&nbsp;<a href=file://tags.copy/street><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\"></a><br/>");
-        r.append("<b>RUIAN id: </b><a href=http://vdp.cuzk.cz/vdp/ruian/ulice/" + m_ulice_ruian_id +">" + m_ulice_ruian_id + "</a><br/>");
+        r.append("<i><u>Informace o ulici</u></i><br/>");
+        r.append("<b>RUIAN id: </b>"+ m_ulice_ruian_id +"&nbsp;&nbsp;<a href="+ url_ulice + m_ulice_ruian_id +">" + icon_ext_link + "</a>");
+        r.append("&nbsp;&nbsp;<a href=file://tags.copy/street>"+ icon_copy_tags +"</a><br/>");
         r.append("<b>Jméno: </b>" + m_ulice_jmeno +"<br/>");
         r.append("<br/>");
@@ -688,8 +850,12 @@
       // Cadastral area
       if (m_katastr_ruian_id > 0) {
-        r.append("<b>Katastrální území: </b>" + m_katastr_nazev +"<br/>");
-        r.append("<b>Obec: </b>" + m_katastr_obec +"<br/>");
-        r.append("<b>Okres: </b>" + m_katastr_okres +"<br/>");
-        r.append("<b>Kraj: </b>" + m_katastr_kraj +"<br/>");
+        r.append("<b>Katastrální území: </b>" + m_katastr_nazev);
+        r.append("&nbsp;&nbsp;<a href="+ url_katastralni_uzemi + m_katastr_ruian_id +">" + icon_ext_link + "</a><br/>");
+        r.append("<b>Obec: </b>" + m_katastr_obec);
+        r.append("&nbsp;&nbsp;<a href="+ url_obec + m_katastr_obec_kod +">" + icon_ext_link + "</a><br/>");
+        r.append("<b>Okres: </b>" + m_katastr_okres);
+        r.append("&nbsp;&nbsp;<a href="+ url_okres + m_katastr_okres_kod +">" + icon_ext_link + "</a><br/>");
+        r.append("<b>Kraj: </b>" + m_katastr_kraj);
+        r.append("&nbsp;&nbsp;<a href="+url_kraj + m_katastr_kraj_kod +">" + icon_ext_link + "</a><br/>");
         r.append("<br/>");
       }
@@ -699,4 +865,5 @@
         String x, x_name;
         r.append("<i><u>Adresní místa v okolí</u></i><br/>");
+        r.append("<table>");
         for (int i=0; i<m_adresni_mista.size(); i++) {
           x = "";
@@ -710,23 +877,27 @@
             x_name += "/orientační";
           }
-
-          r.append("<a href=http://vdp.cuzk.cz/vdp/ruian/adresnimista/" + m_adresni_mista.get(i).getRuianID() +">");
+          r.append("<tr><td bgcolor=#e5e5ff>");
           if (!m_adresni_mista.get(i).getUlice().isEmpty()) {
-            r.append(m_adresni_mista.get(i).getUlice() + " " + x + "</a>");
-            r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+"><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\"></a>");
-            r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr.png")+" border=0 alt=\"Vytvořit adresní bod\"></a>");
-            r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr-ruian.png")+" border=0 alt=\"Vytvořit adresní bod na pozici dle RUIAN\"></a>");
-            r.append("<br/>" + m_adresni_mista.get(i).getObec() );
+            r.append(m_adresni_mista.get(i).getUlice() + " " + x);
+            r.append("<br/><u>" + m_adresni_mista.get(i).getObec() + "</u>");
+            r.append("</td><td valign=\"top\"  bgcolor=#e5e5ff>");
+            r.append("<a href="+ url_adresni_misto + m_adresni_mista.get(i).getRuianID() + ">"+ icon_ext_link +"</a>");
+            r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+">"+ icon_copy_tags +"</a>");
+            r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+">"+ icon_create_addr +"</a>");
+            r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+">"+ icon_create_addr_ruian +"</a>");
           } else {
-            r.append(m_adresni_mista.get(i).getCastObce() + " " + x + "</a>");
-            r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+"><img src="+getClass().getResource("/images/dialogs/copy-tags.png")+" border=0 alt=\"Vložit tagy do schránky\"></a>");
-            r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr.png")+" border=0 alt=\"Vytvořit adresní bod\"></a>");
-            r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+"><img src="+getClass().getResource("/images/dialogs/create-addr-ruian.png")+" border=0 alt=\"Vytvořit adresní bod na pozici dle RUIAN\"></a>");
+            r.append(m_adresni_mista.get(i).getCastObce() + " " + x + "&nbsp;");
             if (!m_adresni_mista.get(i).getCastObce().equals(m_adresni_mista.get(i).getObec())) {
-              r.append("<br/>" + m_adresni_mista.get(i).getObec());
+              r.append("<br/><u>" + m_adresni_mista.get(i).getObec() + "</u>");
             }
-          }
-          r.append("<br/>");
-        }
+            r.append("</td><td valign=\"top\"  bgcolor=#e5e5ff>");
+            r.append("<a href="+ url_adresni_misto + m_adresni_mista.get(i).getRuianID() + ">"+ icon_ext_link +"</a>");
+            r.append("&nbsp;&nbsp;<a href=file://tags.copy/address:"+i+">"+ icon_copy_tags +"</a>");
+            r.append("&nbsp;&nbsp;<a href=file://tags.create/address:"+i+">"+ icon_create_addr +"</a>");
+            r.append("&nbsp;&nbsp;<a href=file://tags.create-on-place/address:"+i+">"+ icon_create_addr_ruian +"</a>");
+          }
+          r.append("</td></tr>");
+        }
+        r.append("</table><br/>");
       }
       r.append("<hr/>");
