Index: src/django_gheat/website/static/OpenStreetMap.js
===================================================================
--- src/django_gheat/website/static/OpenStreetMap.js	(revision 9297)
+++ src/django_gheat/website/static/OpenStreetMap.js	(revision 9302)
@@ -139,5 +139,7 @@
 });
 
-
+/**
+ * Gheat layer 
+ */
 OpenLayers.Layer.OSM.Overlay1 = OpenLayers.Class(OpenLayers.Layer.OSM, {
     initialize: function(name, options) {
@@ -153,4 +155,7 @@
 });
 
+/**
+ * All accespoints 
+ */
 OpenLayers.Layer.OSM.Overlay2 = OpenLayers.Class(OpenLayers.Layer.OSM, {
     initialize: function(name, options) {
@@ -166,4 +171,7 @@
 });
 
+/**
+ * Wireless Leiden nodes
+ */
 OpenLayers.Layer.OSM.Overlay3 = OpenLayers.Class(OpenLayers.Layer.OSM, {
     initialize: function(name, options) {
@@ -179,4 +187,7 @@
 });
 
+/**
+ * Signal strength 
+ */
 OpenLayers.Layer.OSM.Overlay4 = OpenLayers.Class(OpenLayers.Layer.OSM, {
   initialize: function(name, options) {
Index: src/django_gheat/website/static/heatmap.js
===================================================================
--- src/django_gheat/website/static/heatmap.js	(revision 9297)
+++ src/django_gheat/website/static/heatmap.js	(revision 9302)
@@ -1,3 +1,7 @@
+/**
+ * Var 'map' is set global, used in 'heatmap_extensions.js'.
+ */
 var map;
+
 function init(){
 
@@ -16,9 +20,16 @@
     controls: [
       new OpenLayers.Control.Navigation(),
+      new OpenLayers.Control.Permalink(),
+      new OpenLayers.Control.MousePosition({ 'displayProjection' : projection_wgs }),
+
+      /**
+       * Decided to disable these controls.
+       * The layerswitcher has been replaced with a custom one. If you want the original back,
+       * make sure to disable the custom one to prevent collision.
+       */
+
       //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), 
@@ -56,4 +67,9 @@
   map.addLayer(signallayer);
 
+  /**
+   * Layers above are put in switcher, category 'default', with code below.
+   * TODO: Make process for putting layers into layerswitcher dynamic instead of putting every layer there manually.
+   */
+
   $("#default").append("<span id=\"" + layerHeatmap.name + "\"><input type=checkbox id=togglelayer /><div id='layer_switcher_colour' style='background-color:rgb(" + layerHeatmap.colour + ")' /><font>" + layerHeatmap.name + " </font><br /></span>");
 
Index: src/django_gheat/website/static/heatmap_extensions.js
===================================================================
--- src/django_gheat/website/static/heatmap_extensions.js	(revision 9297)
+++ src/django_gheat/website/static/heatmap_extensions.js	(revision 9302)
@@ -1,3 +1,6 @@
-// Uses zoomlevel and mouseposition to call the nodelist.py view. View returns nodes in json format which is read and printed in document element.
+/**
+ * Uses zoomleven and mouseposition to call nodelist.py view.
+ * View returns nodes in json format, values are printed in doc element.
+ */
 function getNodeList(zoomlevel, mousepos){
   $.getJSON("/website/nodelist/" + zoomlevel + "," + mousepos.lat + "," + mousepos.lon, 
@@ -13,5 +16,8 @@
 }
 
-// Right way to get url parameters?: http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery/1404100#1404100
+/**
+ * Right way to get url parameters?
+ * http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery/1404100#1404100
+ */
 function getURLParameter(name) {
   return decodeURI(
@@ -25,8 +31,14 @@
   var nodelist = new Array();
 
-  // add colour picker
+  /**
+   * Adds colourpicker for layer colour.
+   * Function set in: 'colourpicker.js'
+   */
   $("#colour").colorPicker();
 
-  // add date picker for start date
+  /**
+   * Adds datepicker for start & end date
+   * Function set in: 'jquery-ui-1.8.13.custom.min.js'
+   */
   $("#start_date").datepicker({
     dateFormat: "dd/mm/yy",
@@ -35,11 +47,12 @@
     }
   });
-
-  // add date picker for end date
   $("#end_date").datepicker({
     dateFormat: "dd/mm/yy",
   });
 
-  // add slider for signal strength filter
+  /**
+   * Adds slider for signal strength layer.
+   * Function set in: 'jquery-ui-1.8.13.custom.min.js'
+   */
   $("#slider").slider({
     range: true,
@@ -61,5 +74,7 @@
   });
 
-  // toggle layer visibility
+  /**
+   * Toggles layer visibility on checkbox use from layerswitcher.
+   */
   $("#togglelayer").live('click', function(){
     status = $(this).attr("checked");
@@ -69,5 +84,7 @@
   }); 
 
-  // toggle layer visibility per category
+  /**
+   * Toggles layer visibility per category on checkbox use from layerswitcher.
+   */
   $("#togglecat").live("click", function(){
     if($(this).attr("checked")){
@@ -87,5 +104,7 @@
   });
 
-  // remove layer
+  /**
+   * Removes layer from map and layerswitcher.
+   */
   $("#rmvlayer").live("click", function(){
     layername = $(this).closest('span').attr('id');
@@ -95,5 +114,9 @@
   });
 
-  // menu toggle
+  /**
+   * Toggles text shown on website.
+   * 'info' shows info text.
+   * 'filter' page shows text on filters & filter options.
+   */
   $("#menu_filter").click(function(){
     $("#filter").slideToggle("fast");
@@ -105,5 +128,9 @@
   });
 
-  // switcher toggle
+  /**
+   * Toggles layerswitcher visibility.
+   * On 'off', toggler shows a '+'.
+   * On 'on', toggler shows a '-'.
+   */
   $("#layer_switcher_toggle").click(function(){
     $("#layer_switcher").toggle();
@@ -116,5 +143,8 @@
   });
 
-  // Fastest?: http://stackoverflow.com/questions/170986/what-is-the-best-way-to-add-options-to-a-select-from-an-array-with-jquery
+  /**
+   * Fastest?
+   * http://stackoverflow.com/questions/170986/what-is-the-best-way-to-add-options-to-a-select-from-an-array-with-jquery
+   */
   $.getJSON("/website/filters/",
     function(json) {
@@ -123,4 +153,5 @@
         userlist.push(json.gebruiker);
         $.each(json.meetrondje, function(m, meetrondje){
+          console.log(meetrondje.datum);
           $("#select_dataset").append($("<option/>").attr({"class":json.gebruiker, "value":meetrondje.naam}).text(meetrondje.naam));
           $.each(meetrondje.nodes, function(n, nodes){
@@ -138,5 +169,10 @@
   );
 
-  // add filter per user
+  /**
+   * Earlier process got all users in JSON and put them in array.
+   * For each user in array, new layer is added with username as parameter.
+   * Layercolour is randomized.
+   * If button is pressed again, layers will be deleted.
+   */
   $('#user_filter').click(function(){
     if(this.text=='(Add all users)'){
@@ -169,5 +205,10 @@
   });
 
-  // add filter per node
+  /**
+   * Earlier process got all nodes in JSON and put them in array.
+   * For each node in array, new layer is added with node as parameter.
+   * Layercolour is randomized.
+   * If button is pressed again, layers will be deleted.
+   */
   $('#node_filter').click(function(){
     if(this.text=='(Add all nodes)'){
@@ -201,7 +242,12 @@
   });
 
-  // add custom filter
+  /**
+   * Adds a new layer when clicked.
+   * Filters set by user are used as layer parameters.
+   * Colour is either chosen or randomized.
+   * Blank parameters are ignored.
+   */
   $('#add_filter').click(function(){
-    //get values from elements
+    // get values from elements
     user = $('#select_user option:selected').text();
     dataset = $('#select_dataset option:selected').text();
@@ -212,6 +258,9 @@
     lname = encodeURIComponent(document.getElementById("lname").value);
 
-    // HEX to RGB: http://stackoverflow.com/questions/5798868/need-some-tips-with-how-to-convert-a-hexadecimal-color-value-to-a-rgb-one/5798900#5798900
-    // '#' comes out as '%23', so substr() starts at char 3
+    /**
+     * On HEX to RGB:
+     * http://stackoverflow.com/questions/5798868/need-some-tips-with-how-to-convert-a-hexadecimal-color-value-to-a-rgb-one/5798900#5798900
+     * Note that '#' comes out as '%23', so substr() starts at char 3
+     */
     colour = parseInt((colour.substr(3, 2)),16) + ',' + parseInt((colour.substr(5, 2)),16) + ',' + parseInt((colour.substr(7, 2)),16);
 
Index: src/django_gheat/website/static/style.css
===================================================================
--- src/django_gheat/website/static/style.css	(revision 9297)
+++ src/django_gheat/website/static/style.css	(revision 9302)
@@ -1,2 +1,6 @@
+/**
+ * Body 
+ */
+
 body,html{
   height:100%;
@@ -10,4 +14,8 @@
 }
 
+/**
+ * Divs
+ */
+
 #heatmap{
   position:absolute;
@@ -156,5 +164,9 @@
   width:10px; 
 }
-	
+
+/**
+ * Text settings
+ */
+
 h1{
   color:#C20000;
@@ -186,5 +198,7 @@
 }
 
-/* Colorpicker */
+/**
+ * Colorpicker 
+ */
  
 div.color_picker {
