Index: /src/django_gheat/wlheatmap/static/heatmap_extensions.js
===================================================================
--- /src/django_gheat/wlheatmap/static/heatmap_extensions.js	(revision 9780)
+++ /src/django_gheat/wlheatmap/static/heatmap_extensions.js	(revision 9781)
@@ -408,17 +408,10 @@
    * Blank parameters are ignored.
    */
-  $('#add_filter').click(function(){
-    // get values from elements
-
-    lname = $("#lname").val();
-    if (lname == ''){
-      lname= 'Custom Filter';
-    }
-
+  function add_filter(lname, filter) {
     // setting layer
     OpenLayers.Layer.OSM.Overlay = OpenLayers.Class(OpenLayers.Layer.OSM, {
       initialize: function(name, options) {
         var url = [
-          "tile/${z}/${x},${y}.png?" + $("#raw_filter").val(),
+          "tile/${z}/${x},${y}.png?" + filter,
         ];
         options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
@@ -435,6 +428,24 @@
 
     $("#custom").append("<span id=\"" + lname + "\"><div id='layer_switcher_colour' style='background-color:rgb(" + colour + ")' /><input type=checkbox id=togglelayer checked /><font>" + lname + " </font><a id=rmvlayer>X</a><br /></span>");
+  }
+
+  $('#add_filter').click(function(){
+    lname = $("#lname").val();
+    if (lname == ''){
+      lname= 'Custom Filter';
+    }
+    add_filter(lname, $("#raw_filter").val());
+
   });
   init_heatmap();
   init_slider(35,75);
+
+  // Initiate the custom filters
+  var items = window.location.hash.split('#').slice(1);
+  for (var i=0; i < items.length; i++) {
+    var y = items[i].split('!');
+    var label = y[0];
+    var url = y[1];
+    add_filter(label, url);
+  }
 });
