Index: nodes/nodemap.html
===================================================================
--- nodes/nodemap.html	(revision 8453)
+++ nodes/nodemap.html	(revision 8454)
@@ -24,4 +24,10 @@
       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';
+      nodeStatusImg['down'] = 'http://www.google.com/mapfiles/kml/paddle/red-stars-lv.png';
+      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';
 
       OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {                
@@ -125,7 +131,39 @@
         strategy.threshold = 2;
 
-        var symbolizer = OpenLayers.Util.applyDefaults(
-            {externalGraphic: "http://www.google.com/mapfiles/kml/paddle/grn-stars-lv.png", pointRadius: 8, fillOpacity: 1},
-            OpenLayers.Feature.Vector.style["default"]);
+        //OpenLayers.Feature.Vector.style["default"]);
+
+        var symbolizer = new OpenLayers.Style({ 
+            externalGraphic: "${icon}",
+            pointRadius: "${radius}",
+            fillOpacity: 1,
+        }, { context : { 
+                    icon : function(feature) {
+                      var iconStatus = "DEADCODE"
+                      if(feature.cluster) {
+                        for (var i = 0; i < feature.cluster.length; i++) {
+                          var nodeStatus = feature.cluster[i].attributes.styleUrl.split('_')[2];
+                          iconStatus = nodeStatus;
+                          // If one if having issues, update the overview icon to reflect this
+                          if (nodeStatus == 'unknown' || nodeStatus == 'planned' || nodeStatus == 'down') { break; }
+                        }
+                      } else {
+                        iconStatus = feature.attributes.styleUrl.split('_')[2];
+                      }
+                      return nodeStatusImg[iconStatus];
+                },
+                    radius : function(feature) {
+                      var pix = 8;
+                      if(feature.cluster) {
+                        pix = pix + feature.attributes.count;
+                        for (var i = 0; i < feature.cluster.length; i++) {
+                          var node = feature.cluster[i];
+                          // OpenLayers.Console.log(node.attributes.styleUrl);
+                        }
+                      }
+                      return pix;
+                }
+            }
+        });
+
         var styleMap = new OpenLayers.StyleMap({"default": symbolizer, "select": {pointRadius: 16,fillOpacity: 1}});
 
@@ -266,5 +304,7 @@
            for (var i = 0; i < feature.cluster.length; i++) {
              var node = feature.cluster[i];
-             var content = content + "<h2>" + node.attributes.name + "</h2>" + node.attributes.description + "<br />";
+             iconStatus = node.attributes.styleUrl.split('_')[2];
+             iconImg = nodeStatusImg[iconStatus];
+             var content = content + "<h4><img src='" + iconImg + "' />" + node.attributes.name + "</h4>" + node.attributes.description + "<br />";
            }
         } else {
