Index: nodes/nodemap.html
===================================================================
--- nodes/nodemap.html	(revision 8457)
+++ nodes/nodemap.html	(revision 8468)
@@ -1,6 +1,9 @@
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"> 
   <head>
-    <title>Wireless Leiden Nodemap using OpenLayers.org and OpenSteetmap.org</title>
-    <style type="text/css">
+   <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+   <title>Wireless Leiden Nodemap using OpenLayers.org and OpenSteetmap.org</title>
+   <style type="text/css">
       html, body, #basicMap {
           width: 100%;
@@ -8,10 +11,10 @@
           margin: 0;
       }
-    </style>
-  <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAKRiFs2kXKhTkKZkE_ms9rhTdBXm62xfhQU7Dk6ZBFSzYdmSteRQWjLqZhwX8afHvGpd4N3iKql6w8g" type="text/javascript"></script>
+   </style>
+   <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAKRiFs2kXKhTkKZkE_ms9rhTdBXm62xfhQU7Dk6ZBFSzYdmSteRQWjLqZhwX8afHvGpd4N3iKql6w8g" type="text/javascript" />
+   <script src="http://openlayers.org/dev/OpenLayers.js" type="text/javascript" />
+   <script type="text/javascript">
 
-    <script src="http://openlayers.org/dev/OpenLayers.js"</script>
-
-    <script>
+    <![CDATA[
       var url_pal3 = "http://maps.google.com/mapfiles/kml/pal3/";
       var map, rulerControl, clickControl;
@@ -19,9 +22,9 @@
       var projection_wgs = new OpenLayers.Projection("EPSG:4326"); // WGS 1984
       var projection_smp = new OpenLayers.Projection("EPSG:900913"); // Spherical Mercator Projection
-
+      
       var current_opacity = 0.5;
       var max_opacity = 0.9;
       var min_opacity = 0.1;
-
+      
       var nodeStatusImg = new Array();
       nodeStatusImg['up'] = 'http://www.google.com/mapfiles/kml/paddle/grn-stars-lv.png';
@@ -29,5 +32,5 @@
       nodeStatusImg['planned'] = 'http://www.google.com/mapfiles/kml/paddle/wht-stars-lv.png';
       nodeStatusImg['unknown'] = 'http://www.google.com/mapfiles/kml/paddle/wht-stars-lv.png';
-
+      
       function log(message) {
          /* Determine whether Firebug is actually installed and activated before trying to log
@@ -38,9 +41,9 @@
          }
       }
-
+      
       function isInterlink(feature) { 
          return (feature.attributes.name.indexOf('Interlink') != -1);
       }
-
+      
       OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {                
           defaultHandlerOptions: {
@@ -51,5 +54,5 @@
               'stopDouble': false
           },
-
+      
           initialize: function(options) {
               this.handlerOptions = OpenLayers.Util.extend(
@@ -65,5 +68,5 @@
               );
           }, 
-
+      
           trigger: function(e) {
               var lonlat = map.getLonLatFromViewPortPx(e.xy);
@@ -74,8 +77,8 @@
               'Copy/paste URL in NEW browser window to get your RDNAP coordinates\n\n'  + url);
           }
-
+      
       });
-
-
+      
+      
       function setOpacity(new_opacity) {
           current_opacity = new_opacity;
@@ -83,5 +86,5 @@
           wms.setOpacity(new_opacity);
       } 
-
+      
       function changeOpacity(by_opacity) {
           var new_opacity = current_opacity + by_opacity;
@@ -89,8 +92,8 @@
           setOpacity(new_opacity);
       }
-
+      
       function init() {
         map = new OpenLayers.Map("basicMap");
-
+      
         var world_bound = new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34);
         // Development focus maps
@@ -98,5 +101,5 @@
         wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
                 "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
-
+      
         // Added extra's
         var google_sat = new OpenLayers.Layer.Google("Google Satellite" , 
@@ -112,11 +115,11 @@
              wrapDateLine: false
            });
-
+      
         
         map.addLayers([mapnik, wms, google_sat, google_normal]);
         setOpacity(0.5);
         defaultFocus();
-
-
+      
+      
         //var pois = new OpenLayers.Layer.Text( "My Points",
         //                   { location:"./textfile.txt",
@@ -124,11 +127,11 @@
         //                   });
         //map.addLayer(pois);
-
+      
         //function parseKML(req) {
         //  alert(req.responseText);
         //};
         //alert(OpenLayers.loadURL("./kmlfile.kml", "", null, parseKML));
-
-
+      
+      
         function ignoreInterlink(cluster, feature) {
            if (isInterlink(feature)) { 
@@ -137,5 +140,5 @@
              return strategy.shouldClusterOrig(cluster, feature); }
         };
-
+      
         strategy = new OpenLayers.Strategy.Cluster();
         strategy.shouldClusterOrig = strategy.shouldCluster;
@@ -143,7 +146,7 @@
         strategy.distance = 10;
         strategy.threshold = 2;
-
+      
         //OpenLayers.Feature.Vector.style["default"]);
-
+      
         var symbolizer = new OpenLayers.Style({ 
             externalGraphic: "${icon}",
@@ -178,7 +181,7 @@
             }
         });
-
+      
         var styleMap = new OpenLayers.StyleMap({"default": symbolizer, "select": {pointRadius: 16,fillOpacity: 1}});
-
+      
         // Hack to get around all kind of caching fails
         var epoch = new Date().getTime();
@@ -194,5 +197,5 @@
             });
         map.addLayer(kml);
-
+      
         select = new OpenLayers.Control.SelectFeature(kml);
         kml.events.on( {
@@ -202,10 +205,10 @@
         map.addControl(select);
         select.activate();
-
+      
         clickControl = new OpenLayers.Control.Click();
         map.addControl(clickControl);
         clickControl.deactivate();
-
-
+      
+      
         var vectors = new OpenLayers.Layer.Vector("Vector Layer")
         map.addLayer(vectors);
@@ -218,6 +221,6 @@
         map.addControl(new OpenLayers.Control.KeyboardDefaults());
         map.addControl(new OpenLayers.Control.ZoomBox());
-
-
+      
+      
         //var in_options = {
         //  'internalProjection': map.baseLayer.projection,
@@ -233,5 +236,5 @@
         //// }
         //txtFile.send(null);
-
+      
         //var features = wkt.read(txtFile.responseText.replace(/\n/g,''));
         //var bounds;
@@ -252,6 +255,6 @@
         //   alert("ERROR in WTK");
         //}
-
-
+      
+      
         // style the sketch fancy
         var sketchSymbolizers = {
@@ -293,5 +296,5 @@
                 }
         );
-
+      
         rulerControl.events.on({
             "measure": handleMeasurements,
@@ -300,16 +303,16 @@
         map.addControl(rulerControl);
       }
-
+      
       function resize() {
         size = new OpenLayers.Size(size.w + 10, size.h + 10);
         icon.setSize(size);   
       }
-
+      
       function onPopupClose(evt) {
           select.unselectAll();
       }
-
-
-
+      
+      
+      
       function onKMLFeatureSelect(event) {
         var feature = event.feature;
@@ -339,5 +342,5 @@
         map.addPopup(popup);
       }
-
+      
       function onKMLFeatureUnselect(event) {
         var feature = event.feature;
@@ -348,5 +351,5 @@
         }
       }
-
+      
       function handleMeasurements(event) {
           // For some reason 'delayed' events get posted even though the object
@@ -367,5 +370,5 @@
           element.innerHTML = out;
       }
-
+      
       function toggleClickControl() {
           if (!clickControl.active) {
@@ -378,5 +381,5 @@
           }
       }
-
+      
       function toggleRulerControl() {
           if (!rulerControl.active) {
@@ -389,5 +392,5 @@
           }
       }
-
+      
       function defaultFocus() {
         map.setCenter(new OpenLayers.LonLat(4.50,52.186) // Center of the map
@@ -395,5 +398,5 @@
         );
       }
-
+      
       function toggleInfo() {
         var e = document.getElementById('infofield');
@@ -404,11 +407,11 @@
         };
       }
-
-     function coordConvert(lam, phi) {
+      
+      function coordConvert(lam, phi) {
         var lam_deg = Math.floor(lam);
         var t = (lam - lam_deg) * 60;
         var lam_min = Math.floor(t);
         var lam_sec = (t - lam_min) * 60;
-
+      
         var phi_deg = Math.floor(phi);
         var t = (phi - phi_deg) * 60;
@@ -426,16 +429,23 @@
         return(url);
       }
+      
+      // http://openlayers.org/dev/examples/strategy-cluster-threshold.html
+]]>
 
+</script>
 
-      // http://openlayers.org/dev/examples/strategy-cluster-threshold.html
-    </script>
   </head>
   <body onload="init();">
     <div id="basicMap">
       <div id="controller" style="position: absolute; top: 10px; left : 80px; z-index:1004">
-          <img id="ruler" src="ruler_off.png" onClick="toggleRulerControl()" />
-          <img height="22" src="http://maps.google.com/mapfiles/kml/pal3/icon23.png" title="Reset focus" onclick="defaultFocus()"/>
-          <img height="22" src="http://maps.google.com/mapfiles/kml/pal3/icon36.png" title="Information" onclick="toggleInfo()" />
-          <img id="click" height="22" src="http://maps.google.com/mapfiles/kml/pal3/icon28.png" title="Coordinate converter" onclick="toggleClickControl()" />
+          <img id="ruler" src="ruler_off.png" onclick="toggleRulerControl()" alt="ruler"/>
+          <img height="22" src="http://maps.google.com/mapfiles/kml/pal3/icon23.png" title="Reset focus" onclick="defaultFocus()" alt="Focus reset" />
+          <img height="22"
+		  src="http://maps.google.com/mapfiles/kml/pal3/icon36.png"
+		  title="Information" onclick="toggleInfo()" alt="information" />
+          <img id="click" height="22"
+		  src="http://maps.google.com/mapfiles/kml/pal3/icon28.png"
+		  title="Coordinate converter" onclick="toggleClickControl()"
+		  alt="coordinate converter"/>
           <div id="output"></div>
       </div>
