Index: src/django_gheat/website/static/OpenStreetMap.js
===================================================================
--- src/django_gheat/website/static/OpenStreetMap.js	(revision 9272)
+++ src/django_gheat/website/static/OpenStreetMap.js	(revision 9273)
@@ -149,5 +149,5 @@
         OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
     },
-
+    SWITCHER_CLASS: "default",
     CLASS_NAME: "OpenLayers.Layer.Overlay"
 });
@@ -162,5 +162,6 @@
         OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
     },
-
+    SWITCHER_COLOUR: "90,90,90",
+    SWITCHER_CLASS: "default",
     CLASS_NAME: "OpenLayers.Layer.Overlay"
 });
@@ -175,5 +176,6 @@
         OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
     },
-
+    SWITCHER_COLOUR: "255,0,0",
+    SWITCHER_CLASS: "default",
     CLASS_NAME: "OpenLayers.Layer.Overlay"
 });
Index: src/django_gheat/website/static/heatmap_extensions.js
===================================================================
--- src/django_gheat/website/static/heatmap_extensions.js	(revision 9272)
+++ src/django_gheat/website/static/heatmap_extensions.js	(revision 9273)
@@ -65,4 +65,5 @@
           OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
         },
+      SWITCHER_CLASS: "signal",
       CLASS_NAME: "OpenLayers.Layer.Overlay"
       });
@@ -78,5 +79,6 @@
     testarray = map.getLayersByClass("OpenLayers.Layer.Overlay");
     $.each(testarray, function(v, value){
-      $("#filter_text").append("<span id=\"" + value.name + "\"><input type=checkbox id=togglelayer />" + value.name + " <a style='color:#FF0000' id=rmvlayer name=\"" + value.name + "\">X</a><br /></span>");
+      colour = value.SWITCHER_COLOUR;
+      $("#filter_text").append("<span id=\"" + value.name + "\"><input type=checkbox id=togglelayer /><font style='color:rgb(" + colour + ")'>" + value.name + " </font><a id=rmvlayer>X</a><br /></span>");
     });
   });
@@ -89,9 +91,8 @@
   }); 
 
-
   $("#rmvlayer").live("click", function(){
-    $("#filter_text").append("<br />Removed " + this.name);
-    layer = map.getLayersByName(this.name);
-    console.log(rmvlayer);
+    layername = $(this).parents('span').attr('id');
+    layer = map.getLayersByName(layername);
+    $("#filter_text").append("<br />Removed " + layername);
     map.removeLayer(layer[0]);
     $(this).parents('span').remove();
@@ -134,9 +135,9 @@
     if(this.value=='Add userfilter'){
       $.each(userlist, function(u, user){
-        colour = '&colour='+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);
+        colour = Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);
         OpenLayers.Layer.OSM.Overlay = OpenLayers.Class(OpenLayers.Layer.OSM, {
           initialize: function(name, options) {
             var url = [
-              "/website/tile/${z}/${x},${y}.png?" + colour + "&meetrondje__gebruiker__naam=" + user
+              "/website/tile/${z}/${x},${y}.png?&colour=" + colour + "&meetrondje__gebruiker__naam=" + user
             ];
             options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
@@ -144,4 +145,6 @@
             OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
           },
+        SWITCHER_COLOUR: colour,
+        SWITCHER_CLASS: "user",
         CLASS_NAME: "OpenLayers.Layer.Overlay"
         });
@@ -164,9 +167,9 @@
     if(this.value=='Add nodefilter'){
       $.each(nodelist, function(n, node){
-        colour = '&colour='+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);
+        colour = Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);
         OpenLayers.Layer.OSM.Overlay = OpenLayers.Class(OpenLayers.Layer.OSM, {
           initialize: function(name, options) {
             var url = [
-              "/website/tile/${z}/${x},${y}.png?" + colour + "&accespoint__ssid=" + node
+              "/website/tile/${z}/${x},${y}.png?&colour=" + colour + "&accespoint__ssid=" + node
             ];
             options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
@@ -174,8 +177,11 @@
             OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
           },
+        SWITCHER_COLOUR: colour,
+        SWITCHER_CLASS: "node",
         CLASS_NAME: "OpenLayers.Layer.Overlay"
         });
         nodefilterlayer = new OpenLayers.Layer.OSM.Overlay("Node: "+ node, {isBaseLayer: false, visibility: true});
         map.addLayer(nodefilterlayer);
+        console.log(nodefilterlayer);
       });
       $(this).attr('value', 'Del nodefilter');
@@ -235,6 +241,6 @@
       end_date='&meetrondje__datum__lte=' + ed_y +'-'+ ed_m +'-'+ ed_d;
     }
-    if (colour != 'NaN,NaN,NaN'){colour='colour='+colour;} 
-    else {colour = '&colour='+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);}
+    if (colour != 'NaN,NaN,NaN'){colour=colour;} 
+    else {colour = Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);}
     if (lname != ''){lname=lname;} 
     else {lname = 'Custom Filter';}
@@ -244,5 +250,5 @@
       initialize: function(name, options) {
         var url = [
-          "/website/tile/${z}/${x},${y}.png?" + colour + user + dataset + wlnode + start_date + end_date 
+          "/website/tile/${z}/${x},${y}.png?&colour=" + colour + user + dataset + wlnode + start_date + end_date 
         ];
         options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
@@ -250,4 +256,6 @@
         OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
       },
+    SWITCHER_COLOURL: colour,
+    SWITCHER_CLASS: "custom",
     CLASS_NAME: "OpenLayers.Layer.Overlay"
     });
