Index: src/django_gheat/website/static/heatmap.js
===================================================================
--- src/django_gheat/website/static/heatmap.js	(revision 9263)
+++ src/django_gheat/website/static/heatmap.js	(revision 9264)
@@ -2,48 +2,47 @@
 function init(){
 
-	var projection_wgs = new OpenLayers.Projection("EPSG:4326"); // WGS 1984
+  var lat   = 52.14068;
+  var lon   = 4.48319;
+  var zoom  = 16;
+  var projection_wgs = new OpenLayers.Projection("EPSG:4326"); // WGS 1984
 
-	map = new OpenLayers.Map('heatmap', {
-		controls: [
-				new OpenLayers.Control.Navigation(),
-				//new OpenLayers.Control.PanZoomBar(),
-				//new OpenLayers.Control.ScaleLine(),
-                                new OpenLayers.Control.Permalink(),
-				new OpenLayers.Control.LayerSwitcher(),
-				new OpenLayers.Control.MousePosition({ 'displayProjection' : projection_wgs }),
-		],
-		maxExtent: new OpenLayers.Bounds(-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892), 
-		numZoomLevels:16, 
-		maxResolution:156543.0339, 
-		units:'m', 
-		projection: "EPSG:900913",
-		displayProjection: new OpenLayers.Projection("EPSG:4326")
-	});
+  map = new OpenLayers.Map('heatmap', {
+    controls: [
+      new OpenLayers.Control.Navigation(),
+      //new OpenLayers.Control.PanZoomBar(),
+      //new OpenLayers.Control.ScaleLine(),
+      new OpenLayers.Control.Permalink(),
+      new OpenLayers.Control.LayerSwitcher(),
+      new OpenLayers.Control.MousePosition({ 'displayProjection' : projection_wgs }),
+    ],
+    maxExtent: new OpenLayers.Bounds(-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892), 
+    numZoomLevels:16, 
+    maxResolution:156543.0339, 
+    units:'m', 
+    projection: "EPSG:900913",
+    displayProjection: new OpenLayers.Projection("EPSG:4326")
+  });
 
-	map.events.register('click', map, GetMousePos);
-	function GetMousePos(pos) {
-		var pix = map.getLonLatFromPixel(new OpenLayers.Pixel(pos.xy.x,pos.xy.y));
-		var mousepos = OpenLayers.Layer.SphericalMercator.inverseMercator(pix.lon, pix.lat);
-		var zoomlevel = map.getZoom();
-		getNodeList(zoom, mousepos);
-	}
+  map.events.register('click', map, GetMousePos);
+  function GetMousePos(pos) {
+    var pix = map.getLonLatFromPixel(new OpenLayers.Pixel(pos.xy.x,pos.xy.y));
+    var mousepos = OpenLayers.Layer.SphericalMercator.inverseMercator(pix.lon, pix.lat);
+    var zoomlevel = map.getZoom();
+    getNodeList(zoom, mousepos);
+  }
 
-	layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
-	map.addLayer(layerMapnik);
+  layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
+  map.addLayer(layerMapnik);
 
-	layerHeatmap2 = new OpenLayers.Layer.OSM.Overlay2("All Access points", {isBaseLayer: false, visibility: true});
-	map.addLayer(layerHeatmap2);
+  layerHeatmap2 = new OpenLayers.Layer.OSM.Overlay2("All Access points", {isBaseLayer: false, visibility: true});
+  map.addLayer(layerHeatmap2);
 
-	layerHeatmap3 = new OpenLayers.Layer.OSM.Overlay3("Wireless Leiden Only", {isBaseLayer: false, visibility: true});
-	map.addLayer(layerHeatmap3);
+  layerHeatmap3 = new OpenLayers.Layer.OSM.Overlay3("Wireless Leiden Only", {isBaseLayer: false, visibility: true});
+  map.addLayer(layerHeatmap3);
 
-	layerHeatmap = new OpenLayers.Layer.OSM.Overlay1("Original Heatmap generator", {isBaseLayer: false, visibility: false});
-	map.addLayer(layerHeatmap);
+  layerHeatmap = new OpenLayers.Layer.OSM.Overlay1("Original Heatmap generator", {isBaseLayer: false, visibility: false});
+  map.addLayer(layerHeatmap);
 	
-	var lon   = 4.48319;
-	var lat   = 52.14068;
-	var zoom  = 16;
-
-	var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
-	map.setCenter (lonLat, zoom);
+  var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
+  map.setCenter (lonLat, zoom);
 }
Index: src/django_gheat/website/static/heatmap_extensions.js
===================================================================
--- src/django_gheat/website/static/heatmap_extensions.js	(revision 9263)
+++ src/django_gheat/website/static/heatmap_extensions.js	(revision 9264)
@@ -43,42 +43,62 @@
   // add filter per user
   $('#user_filter').click(function(){
-    $.each(userlist, function(u, user){
-      colour = '&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
-          ];
-          document.getElementById('filter_text').innerHTML+="<br />Added: " + url;
-          options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
-          var newArguments = [name, url, options];
-          OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
-        },
-      CLASS_NAME: "OpenLayers.Layer.Overlay"
+    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);
+        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
+            ];
+            document.getElementById('filter_text').innerHTML+="<br />Added: " + url;
+            options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
+            var newArguments = [name, url, options];
+            OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
+          },
+        CLASS_NAME: "OpenLayers.Layer.Overlay"
+        });
+        filterlayer = new OpenLayers.Layer.OSM.Overlay("User: "+ user, {isBaseLayer: false, visibility: true});
+        map.addLayer(filterlayer);
       });
-      filterlayer = new OpenLayers.Layer.OSM.Overlay("User: "+ user, {isBaseLayer: false, visibility: true});
-      map.addLayer(filterlayer);
-    });
+      $(this).attr('value', 'Del userfilter');
+    }
+    else{
+      $(this).attr('value', 'Add userfilter');
+      $.each(userlist, function(u, user){
+        layer = map.getLayersByName('User: ' + user);
+        map.removeLayer(layer[0]);
+      });
+    }
   });
 
   // add filter per node
   $('#node_filter').click(function(){
-    $.each(nodelist, function(n, node){
-      colour = '&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
-          ];
-          document.getElementById('filter_text').innerHTML+="<br />Added: " + url;
-          options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
-          var newArguments = [name, url, options];
-          OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
-        },
-      CLASS_NAME: "OpenLayers.Layer.Overlay"
+    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);
+        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
+            ];
+            document.getElementById('filter_text').innerHTML+="<br />Added: " + url;
+            options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
+            var newArguments = [name, url, options];
+            OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
+          },
+        CLASS_NAME: "OpenLayers.Layer.Overlay"
+        });
+        nodefilterlayer = new OpenLayers.Layer.OSM.Overlay("Node: "+ node, {isBaseLayer: false, visibility: true});
+        map.addLayer(nodefilterlayer);
       });
-      filterlayer = new OpenLayers.Layer.OSM.Overlay("Node: "+ node, {isBaseLayer: false, visibility: true});
-      map.addLayer(filterlayer);
-    });
+      $(this).attr('value', 'Del nodefilter');
+    }
+    else{
+      $(this).attr('value', 'Add nodefilter');
+      $.each(nodelist, function(n, node){
+        layer = map.getLayersByName('Node: ' + node);
+        map.removeLayer(layer[0]);
+      });
+    }
   });
 
Index: src/django_gheat/website/templates/home.html
===================================================================
--- src/django_gheat/website/templates/home.html	(revision 9263)
+++ src/django_gheat/website/templates/home.html	(revision 9264)
@@ -65,6 +65,6 @@
           <input type="text" id="colour" name="colour"/> Colour<br /><br />
           <input type="button" id="add_filter" value="Add filter"/><br />
-          <input type="button" id="user_filter" value="Userfilter"/>
-          <input type="button" id="node_filter" value="Nodefilter"/>
+          <input type="button" id="user_filter" value="Add userfilter"/><br />
+          <input type="button" id="node_filter" value="Add nodefilter"/><br />
         </form>
       </div>
