diff --git a/frontend-js/.jshintrc b/frontend-js/.jshintrc
index efee6dde2e5e27c83be3f56b3fdc6a87042964a1..2f8265693747dda3830ef61b6310b8da13284152 100644
--- a/frontend-js/.jshintrc
+++ b/frontend-js/.jshintrc
@@ -31,6 +31,7 @@
      * custom test params
      */
     "testDiv" : false,
+    "helper" : false,
 
     /* MOCHA */
     "describe"   : false,
diff --git a/frontend-js/src/main/js/Export.js b/frontend-js/src/main/js/Export.js
index 8942e41251761de115962ab76490651755d108d1..e425dbb06dd9c436840e07ad3b93aa501c9d48d9 100644
--- a/frontend-js/src/main/js/Export.js
+++ b/frontend-js/src/main/js/Export.js
@@ -1,5 +1,7 @@
 "use strict";
 
+/* exported logger */
+
 var Promise = require("bluebird");
 
 var CustomMapOptions = require('./map/CustomMapOptions');
@@ -81,8 +83,7 @@ Export.prototype._createGui = function() {
   for (var i = 0; i < panels.length; i++) {
     self.addTab(panels[i], tabMenuDiv, tabContentDiv);
   }
-
-}
+};
 
 Export.prototype.addTab = function(params, navElement, contentElement) {
   var self = this;
diff --git a/frontend-js/src/main/js/GuiConnector.js b/frontend-js/src/main/js/GuiConnector.js
index 4e993cfd68bb9444b78733e4fe968f8d26cbfd6a..e391ef730155f466ce161a34e66b823a4ce4cc13 100644
--- a/frontend-js/src/main/js/GuiConnector.js
+++ b/frontend-js/src/main/js/GuiConnector.js
@@ -1,6 +1,8 @@
 "use strict";
 
 var logger = require('./logger');
+
+var Functions = require('./Functions');
 var SecurityError = require('./SecurityError');
 
 /**
@@ -106,6 +108,44 @@ GuiConnector.updateMouseCoordinates = function(x, y) {
   this.yPos = y;
 };
 
+GuiConnector.showProcessing = function(messageText) {
+  var self = GuiConnector;
+  if (self._processingDialog === undefined) {
+    self._processingDialog = document.createElement("div");
+    self._errorDialogContent = document.createElement("div");
+    self._processingDialog.appendChild(self._errorDialogContent);
+    document.body.appendChild(self._processingDialog);
+    $(self._processingDialog).dialog({
+      modal : true,
+      title : "PROCESSING",
+      width : "150px",
+      closeOnEscape : false,
+      open : function(event, ui) {
+        $(".ui-dialog-titlebar-close", ui).hide();
+      },
+    });
+  }
+  if (messageText === undefined) {
+    messageText = "PROCESSING";
+  }
+  var messageImg = Functions.createElement({
+    type : "img",
+    src : 'resources/images/icons/ajax-loader.gif',
+  });
+  self._errorDialogContent.innerHTML = "";
+  self._errorDialogContent.style.textAlign = "center";
+  self._errorDialogContent.appendChild(messageImg);
+
+  $(self._processingDialog).dialog("option", "title", messageText);
+
+  $(self._processingDialog).dialog("open");
+};
+
+GuiConnector.hideProcessing = function() {
+  var self = GuiConnector;
+  $(self._processingDialog).dialog("close");
+};
+
 GuiConnector.alert = function(error) {
   var self = GuiConnector;
   logger.error(error);
diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index d109546174ff8b7e09a06f24c7edd84f22e9c184..98798955d4ee3490de9e7670627cc097cf20089a 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -818,7 +818,7 @@ ServerConnector.getAliases = function(params) {
     modelId : params.modelId,
   };
   if (params.ids === undefined) {
-    params.ids = []
+    params.ids = [];
   }
   var filterParams = {
     id : params.ids,
diff --git a/frontend-js/src/main/js/gui/OverviewDialog.js b/frontend-js/src/main/js/gui/OverviewDialog.js
index 234b9f819964119ddeb031e1b252637f4f794bce..9f59235c22a74cf2ea1719175d72e3ed6971d5e9 100644
--- a/frontend-js/src/main/js/gui/OverviewDialog.js
+++ b/frontend-js/src/main/js/gui/OverviewDialog.js
@@ -202,7 +202,7 @@ OverviewDialog.prototype.openLink = function(link) {
   } else {
     logger.warn("Unknown type of link: " + link.type + ". Don't know what to do... LinkId: " + link.idObject);
   }
-}
+};
 
 OverviewDialog.prototype.drawClickableShapes = function(canvas, ratio) {
   var ctx = canvas.getContext("2d");
diff --git a/frontend-js/src/main/js/gui/Panel.js b/frontend-js/src/main/js/gui/Panel.js
index 60efb10f6d07da1649085c58b8a6891298079f64..0dc9e968da9cb89ce4bce24f50a573202be3bb8f 100644
--- a/frontend-js/src/main/js/gui/Panel.js
+++ b/frontend-js/src/main/js/gui/Panel.js
@@ -20,7 +20,7 @@ function Panel(params) {
   if (params.configuration === undefined) {
     configuration = self.getMap().getConfiguration();
   }
-  var guiUtils = new GuiUtils(configuration)
+  var guiUtils = new GuiUtils(configuration);
   self.setGuiUtils(guiUtils);
   if (self.getMap() !== undefined) {
     this.getGuiUtils().setMap(self.getMap());
diff --git a/frontend-js/src/main/js/gui/export/ElementExportPanel.js b/frontend-js/src/main/js/gui/export/ElementExportPanel.js
index 737b49cbfaeb8d318faa043f471429c1e8b21462..c38301e725da2fb0b0c9198502dcf3afd031cc4f 100644
--- a/frontend-js/src/main/js/gui/export/ElementExportPanel.js
+++ b/frontend-js/src/main/js/gui/export/ElementExportPanel.js
@@ -5,7 +5,6 @@
 var Panel = require('../Panel');
 
 var DualListbox = require('dual-listbox').DualListbox;
-var GuiConnector = require('../../GuiConnector');
 var logger = require('../../logger');
 var Functions = require('../../Functions');
 
@@ -24,11 +23,13 @@ ElementExportPanel.prototype = Object.create(Panel.prototype);
 ElementExportPanel.prototype.constructor = ElementExportPanel;
 
 function compareSimple(val1, val2) {
-  if (val1 < val2)
+  if (val1 < val2) {
     return -1;
-  if (val1 > val2)
+  } else if (val1 > val2) {
     return 1;
-  return 0;
+  } else {
+    return 0;
+  }
 }
 
 ElementExportPanel.prototype._createGui = function() {
@@ -83,7 +84,7 @@ ElementExportPanel.prototype.init = function() {
   }).then(function() {
     $(window).trigger('resize');
   });
-}
+};
 
 ElementExportPanel.prototype._createSelectTypeDiv = function(elementTypes) {
   var typeDiv = Functions.createElement({
@@ -113,7 +114,7 @@ ElementExportPanel.prototype._createSelectTypeDiv = function(elementTypes) {
     content : "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"ALL\" value=\"ALL\" />ALL</label></div>"
   }));
   return typeDiv;
-}
+};
 
 ElementExportPanel.prototype._createMiriamTypeDiv = function(statistics) {
   var typeDiv = Functions.createElement({
@@ -136,10 +137,9 @@ ElementExportPanel.prototype._createMiriamTypeDiv = function(statistics) {
   typeDiv.appendChild(selectElement);
 
   function compare(entry1, entry2) {
-    var result;
-    if ((entry1.count === 0 && entry2.count === 0) || (entry1.count !== 0 && entry2.count !== 0))
+    if ((entry1.count === 0 && entry2.count === 0) || (entry1.count !== 0 && entry2.count !== 0)) {
       return compareSimple(entry1.miriamType.getCommonName(), entry2.miriamType.getCommonName());
-    else {
+    } else {
       return compareSimple(-entry1.count, -entry2.count);
     }
   }
@@ -177,7 +177,7 @@ ElementExportPanel.prototype._createDownloadButton = function() {
         logger.info(result);
       });
     },
-  })
+  });
   downloadDiv.appendChild(button);
 
   return downloadDiv;
@@ -186,7 +186,6 @@ ElementExportPanel.prototype._createDownloadButton = function() {
 ElementExportPanel.prototype.createResponseString = function() {
   var self = this;
   var types;
-  var includedCompartmentsName;
   var models = [ self.getProject().getModel() ];
   for (var i = 0; i < self.getProject().getModel().getSubmodels().length; i++) {
     models.push(self.getProject().getModel().getSubmodels()[i]);
@@ -248,7 +247,6 @@ ElementExportPanel.prototype.createResponseRow = function(alias, columns) {
 };
 
 ElementExportPanel.prototype._createSelectIncludedCompartmentDiv = function() {
-  var i = 0;
   var self = this;
   var typeDiv = Functions.createElement({
     type : "div",
@@ -282,7 +280,6 @@ ElementExportPanel.prototype._createSelectIncludedCompartmentDiv = function() {
 };
 
 ElementExportPanel.prototype._createSelectExcludedCompartmentDiv = function() {
-  var i = 0;
   var self = this;
   var typeDiv = Functions.createElement({
     type : "div",
@@ -343,7 +340,6 @@ ElementExportPanel.prototype._getAllCompartments = function() {
 ElementExportPanel.prototype._getCompartmentNames = function() {
   var self = this;
   var compartments = [];
-  var i;
   return self._getAllCompartments().then(function(result) {
 
     var addedNames = [];
@@ -389,7 +385,7 @@ ElementExportPanel.prototype._createSelectColumnDiv = function() {
     content : "<div class=\"checkbox\"><label> <input type=\"checkbox\" name=\"ALL\" value=\"ALL\" />ALL</label></div>"
   }));
   return columnDiv;
-}
+};
 
 ElementExportPanel.prototype.getAllColumns = function() {
   return [ {
@@ -476,7 +472,7 @@ ElementExportPanel.prototype.getSelectedTypes = function() {
 
   var div = $("div[name='typeSelectDiv']", $(self.getElement()))[0];
   var result = [];
-  var selectedAll = false
+  var selectedAll = false;
   $(":checked", $(div)).each(function(index, element) {
     if (element.value === "ALL") {
       selectedAll = true;
@@ -490,7 +486,7 @@ ElementExportPanel.prototype.getSelectedTypes = function() {
   }
 
   return Promise.resolve(result);
-}
+};
 
 ElementExportPanel.prototype.setMiriamTypesDualListbox = function(dualListbox) {
   this._miriamTypesDualListbox = dualListbox;
@@ -523,7 +519,7 @@ ElementExportPanel.prototype.getSelectedIncludedCompartments = function() {
       }
     }
     return result;
-  })
+  });
 };
 
 ElementExportPanel.prototype.setExcludedCompartmentsDualListbox = function(dualListbox) {
@@ -550,7 +546,7 @@ ElementExportPanel.prototype.getSelectedExcludedCompartments = function() {
       }
     }
     return result;
-  })
+  });
 };
 
 ElementExportPanel.prototype.getSelectedMiriamTypes = function() {
@@ -571,7 +567,7 @@ ElementExportPanel.prototype.getSelectedColumns = function() {
 
   var div = $("div[name='columnSelectDiv']", $(self.getElement()))[0];
   var selectedColumnMap = [];
-  var selectedAll = false
+  var selectedAll = false;
   $(":checked", $(div)).each(function(index, element) {
     if (element.value === "ALL") {
       selectedAll = true;
@@ -593,6 +589,6 @@ ElementExportPanel.prototype.getSelectedColumns = function() {
     }
   }
   return Promise.resolve(result);
-}
+};
 
 module.exports = ElementExportPanel;
diff --git a/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js b/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js
index f11716e9f885907b0a61e4a4ccb121dc5d954d05..6bf41a4246b1695a8bedde1007e23741acf6ad4c 100644
--- a/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js
+++ b/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js
@@ -4,17 +4,12 @@
 
 var Panel = require('../Panel');
 
-var GuiConnector = require('../../GuiConnector');
 var logger = require('../../logger');
-var Functions = require('../../Functions');
 
 function GraphicsExportPanel(params) {
   params.panelName = "elementExport";
   params.scrollable = true;
   Panel.call(this, params);
-
-  var self = this;
-
 }
 
 GraphicsExportPanel.prototype = Object.create(Panel.prototype);
@@ -22,5 +17,6 @@ GraphicsExportPanel.prototype.constructor = GraphicsExportPanel;
 
 GraphicsExportPanel.prototype.init = function() {
 
-}
+};
+
 module.exports = GraphicsExportPanel;
diff --git a/frontend-js/src/main/js/gui/export/NetworkExportPanel.js b/frontend-js/src/main/js/gui/export/NetworkExportPanel.js
index 723980197e1217da6bf3accb3f516980ba2c4208..6f770c99ff870a433843a68a6208d5d8c7031689 100644
--- a/frontend-js/src/main/js/gui/export/NetworkExportPanel.js
+++ b/frontend-js/src/main/js/gui/export/NetworkExportPanel.js
@@ -4,24 +4,20 @@
 
 var Panel = require('../Panel');
 
-var GuiConnector = require('../../GuiConnector');
 var logger = require('../../logger');
-var Functions = require('../../Functions');
 
 function NetworkExportPanel(params) {
   params.panelName = "elementExport";
   params.scrollable = true;
   Panel.call(this, params);
 
-  var self = this;
-
 }
 
 NetworkExportPanel.prototype = Object.create(Panel.prototype);
 NetworkExportPanel.prototype.constructor = NetworkExportPanel;
 
 NetworkExportPanel.prototype.init = function() {
-  
-}
+
+};
 
 module.exports = NetworkExportPanel;
diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
index 8800bb74e7a880327f812528aaac0dfb2d16207e..f18f2b865d84e35015b5656314857b96e7ed6b29 100644
--- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
+++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
@@ -169,7 +169,7 @@ GuiUtils.prototype.createAnnotationList = function(annotations, options) {
   var result = document.createElement("div");
   for (var i = 0; i < annotations.length; i++) {
     var element = annotations[i];
-    var link = this.createAnnotationLink(element, showType);
+    var link = self.createAnnotationLink(element, showType);
     if (inline) {
       if (i > 0) {
         var coma = document.createElement("span");
@@ -200,7 +200,8 @@ GuiUtils.prototype.createAnnotationList = function(annotations, options) {
     }
   }
   return result;
-}
+};
+
 GuiUtils.prototype.createLabelText = function(value) {
   var result = document.createElement("span");
   if (value !== undefined) {
diff --git a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js
index 8da84fb8a91ff2ed3499b97ef329c03c2c6111b0..9f64f2e1b9ea1371e404cc3fac833e9a745c33fe 100644
--- a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js
@@ -447,15 +447,19 @@ OverlayPanel.prototype.openAddOverlayDialog = function() {
           content : fileContent,
           filename : fileInput.value
         };
+        GuiConnector.showProcessing();
         return ServerConnector.addOverlay(data).then(function(overlay) {
           self.getMap().getModel().addLayout(overlay);
           return self.refresh();
         }).then(function() {
+          GuiConnector.hideProcessing();
           $(dialog).dialog("close");
         }, function(error) {
+          GuiConnector.hideProcessing();
           if (error instanceof NetworkError) {
             if (error.statusCode === HttpStatus.BAD_REQUEST) {
-              GuiConnector.alert("Problematic input: <br/>" + error.content);
+              var errorMessage = JSON.parse(error.content);
+              GuiConnector.alert("Problematic input: <br/>" + errorMessage.reason);
             } else {
               throw error;
             }
diff --git a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
index a17bda6f4e07e7939c17ed2322a965ca027ce493..6cd57ed65f59b57d3a21bb05bf08b2a7c788c275 100644
--- a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
+++ b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
@@ -148,7 +148,7 @@ PublicationListDialog.prototype.getColumnsDefinition = function() {
     orderable : false,
     searchable : false,
     name : "elemnts"
-  } ]
+  } ];
 };
 
 PublicationListDialog.prototype.destroy = function() {
diff --git a/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js b/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
index 14bd4d749c7ea7fb900f5993eef4ccf1e79a42c4..2c6dd1d01175c4334b09e38afff3694948794be5 100644
--- a/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
@@ -5,20 +5,10 @@ var Promise = require("bluebird");
 /* exported logger */
 
 var AbstractGuiElement = require('../AbstractGuiElement');
-var AbstractDbOverlay = require('../../map/overlay/AbstractDbOverlay');
-var Alias = require('../../map/data/Alias');
 var ChemicalPanel = require('./ChemicalPanel');
 var DrugPanel = require('./DrugPanel');
-var GuiUtils = require('./GuiUtils');
-var Header = require('../Header');
-var LoginDialog = require('../LoginDialog');
 var MiRnaPanel = require('./MiRnaPanel');
-var OverlayPanel = require('./OverlayPanel');
-var PointData = require('../../map/data/PointData');
-var ProjectInfoPanel = require('./ProjectInfoPanel');
-var Reaction = require('../../map/data/Reaction');
 var GenericSearchPanel = require('./GenericSearchPanel');
-var SubmapPanel = require('./SubmapPanel');
 
 var Functions = require('../../Functions');
 var logger = require('../../logger');
diff --git a/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js b/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js
index c7b819b0d220692f9d32ba37663ee230b659e7c6..c2d97a382de1e6442537821301fc4eb7f49f6bbd 100644
--- a/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js
@@ -85,7 +85,8 @@ SubmapPanel.prototype.init = function() {
     var models = self.getMap().getProject().getModel().getSubmodels();
     var modelsByType = [];
     var types = [];
-    for (var i = 0; i < models.length; i++) {
+    var i;
+    for (i = 0; i < models.length; i++) {
       var model = models[i];
       if (modelsByType[model.getSubmodelType()] === undefined) {
         modelsByType[model.getSubmodelType()] = [];
@@ -93,7 +94,7 @@ SubmapPanel.prototype.init = function() {
       }
       modelsByType[model.getSubmodelType()].push(model);
     }
-    for (var i = 0; i < types.length; i++) {
+    for (i = 0; i < types.length; i++) {
       var type = types[i];
       div.appendChild(self.createTable(modelsByType[type], type + " submaps"));
     }
diff --git a/frontend-js/src/main/js/map/data/Annotation.js b/frontend-js/src/main/js/map/data/Annotation.js
index 46e9e473494bb12977e5bbec79871b61536b2d98..3398556e91787a8dc6693329281e7ab9ef5ae2ef 100644
--- a/frontend-js/src/main/js/map/data/Annotation.js
+++ b/frontend-js/src/main/js/map/data/Annotation.js
@@ -1,5 +1,7 @@
 "use strict";
 
+/* exported logger */
+
 var Article = require("./Article");
 
 var logger = require('../../logger');
diff --git a/frontend-js/src/main/js/map/data/Chemical.js b/frontend-js/src/main/js/map/data/Chemical.js
index 10fb8b19460b2b8bbbc87eda52a76d673c3e29bd..1a9c79e7331b6e3d808f40465c88dd7be173b0ba 100644
--- a/frontend-js/src/main/js/map/data/Chemical.js
+++ b/frontend-js/src/main/js/map/data/Chemical.js
@@ -1,8 +1,6 @@
 "use strict";
 
 var Annotation = require("./Annotation");
-
-var Target = require("./Target");
 var TargettingStructure = require("./TargettingStructure");
 
 function Chemical(javaObject) {
diff --git a/frontend-js/src/main/js/map/data/Drug.js b/frontend-js/src/main/js/map/data/Drug.js
index a6659b67176888c45e7271665222285a5f4f2984..efbecca6aeee2b131aae5d23ca103d19523764c5 100644
--- a/frontend-js/src/main/js/map/data/Drug.js
+++ b/frontend-js/src/main/js/map/data/Drug.js
@@ -1,10 +1,8 @@
 "use strict";
 
 var Annotation = require("./Annotation");
-var Target = require("./Target");
 var TargettingStructure = require("./TargettingStructure");
 
-
 function Drug(javaObject) {
   TargettingStructure.call(this, javaObject);
   if (javaObject !== undefined) {
diff --git a/frontend-js/src/main/js/map/data/MiRna.js b/frontend-js/src/main/js/map/data/MiRna.js
index 6c09ac419bbb8c57421ec92c9b919e1783ab64cb..ddc024e2d8bedef67c13a02a9f9f2ac3be488985 100644
--- a/frontend-js/src/main/js/map/data/MiRna.js
+++ b/frontend-js/src/main/js/map/data/MiRna.js
@@ -1,6 +1,5 @@
 "use strict";
 
-var Target = require("./Target");
 var TargettingStructure = require("./TargettingStructure");
 
 function MiRna(javaObject) {
diff --git a/frontend-js/src/main/js/map/data/ProjectStatistics.js b/frontend-js/src/main/js/map/data/ProjectStatistics.js
index 53e10ae5a5c8e1d172be63df88456e26572018f6..d905df46d6122a4f7b4b30f4360a90da862f0bba 100644
--- a/frontend-js/src/main/js/map/data/ProjectStatistics.js
+++ b/frontend-js/src/main/js/map/data/ProjectStatistics.js
@@ -1,5 +1,7 @@
 "use strict";
 
+/* exported logger */
+
 var ObjectWithListeners = require('../../ObjectWithListeners');
 
 var logger = require('../../logger');
diff --git a/frontend-js/src/main/js/map/data/Reaction.js b/frontend-js/src/main/js/map/data/Reaction.js
index be8337bf9c5f409e7fe891132295608759aaad72..8e54bb475bc8f389d3ad7ff6e2b278242c9d7ebf 100644
--- a/frontend-js/src/main/js/map/data/Reaction.js
+++ b/frontend-js/src/main/js/map/data/Reaction.js
@@ -1,5 +1,7 @@
 "use strict";
 
+/* exported logger */
+
 var Alias = require('./Alias');
 var BioEntity = require("./BioEntity");
 
diff --git a/frontend-js/src/main/js/map/data/TargettingStructure.js b/frontend-js/src/main/js/map/data/TargettingStructure.js
index ff678ac8826ba432e2b6b5b664450730bb9f5f3e..d36d2288d4c41380c3655c36b395bd252b356434 100644
--- a/frontend-js/src/main/js/map/data/TargettingStructure.js
+++ b/frontend-js/src/main/js/map/data/TargettingStructure.js
@@ -1,5 +1,7 @@
 "use strict";
 
+/* exported logger */
+
 var Target = require("./Target");
 
 var logger = require('../../logger');
diff --git a/frontend-js/src/main/js/map/overlay/AbstractTargettingDbOverlay.js b/frontend-js/src/main/js/map/overlay/AbstractTargettingDbOverlay.js
index 9d0fa57f97b768d919af2d91f081e8170d5dc9ec..219bb87a6a290c07eb508c4df0a181bf132db807 100644
--- a/frontend-js/src/main/js/map/overlay/AbstractTargettingDbOverlay.js
+++ b/frontend-js/src/main/js/map/overlay/AbstractTargettingDbOverlay.js
@@ -118,14 +118,14 @@ AbstractTargettingDbOverlay.prototype.getDetailDataByIdentifiedElement = functio
       var promises = [];
       names.forEach(function(name) {
         promises.push(self.searchBySingleQuery(name));
-      })
+      });
       return Promise.all(promises);
     }).then(function(drugs) {
       var result = [];
       drugs.forEach(function(drugList) {
         drugList.forEach(function(drug) {
           result.push(drug);
-        })
+        });
       });
       return result;
     });
diff --git a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
index 0a7220ca7cf1e147c8dc014a839c3a89d21c7821..c20b3693b97aae709a9af3502508464d1e1163d8 100644
--- a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
+++ b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
@@ -131,7 +131,7 @@ AbstractInfoWindow.prototype.open = function() {
 
   return self.update().then(function() {
     return self.callListeners("onShow");
-  })
+  });
 };
 
 /**
@@ -484,11 +484,12 @@ AbstractInfoWindow.prototype._createTableForTargetDiv = function(data, overlay)
       } else if (data[searchId] instanceof TargettingStructure) {
         nameContent = data[searchId].getName();
         var targets = data[searchId].getTargetsForIdentifiedElement(self.getIdentifiedElement());
-        targets.forEach(function(target) {
-          target.getReferences().forEach(function(reference) {
-            annotations.push(reference);
-          });
-        });
+        for (var i = 0; i < targets.length; i++) {
+          var references = targets[i].getReferences();
+          for (var j = 0; j < references.length; j++) {
+            annotations.push(references[j]);
+          }
+        }
       }
       row.appendChild(Functions.createElement({
         type : "td",
@@ -525,7 +526,7 @@ AbstractInfoWindow.prototype._createTableForTargetDiv = function(data, overlay)
     table.appendChild(row);
   }
   return table;
-}
+};
 
 AbstractInfoWindow.prototype.init = function() {
   var self = this;
@@ -533,13 +534,13 @@ AbstractInfoWindow.prototype.init = function() {
     self.getGuiUtils().setConfiguration(configuration);
     self.getGuiUtils().setMap(self.getCustomMap());
   });
-}
+};
 AbstractInfoWindow.prototype.setGuiUtils = function(guiUtils) {
   this._guiUtils = guiUtils;
-}
+};
 AbstractInfoWindow.prototype.getGuiUtils = function() {
   return this._guiUtils;
-}
+};
 
 /**
  * Creates and returns DOM div for chemical overlay information.
diff --git a/frontend-js/src/main/js/map/window/ReactionInfoWindow.js b/frontend-js/src/main/js/map/window/ReactionInfoWindow.js
index 0443347dbd71d077253c0b862824fcae75bae72e..1df46abffa587dc974b5a8ee2a5172b13762bc78 100644
--- a/frontend-js/src/main/js/map/window/ReactionInfoWindow.js
+++ b/frontend-js/src/main/js/map/window/ReactionInfoWindow.js
@@ -47,7 +47,7 @@ ReactionInfoWindow.prototype.createContentDiv = function() {
 ReactionInfoWindow.prototype.init = function() {
   var self = this;
   return AbstractInfoWindow.prototype.init.call(this).then(function() {
-    return self.update(self.getReactionData())
+    return self.update(self.getReactionData());
   });
 };
 
diff --git a/frontend-js/src/test/js/Export-test.js b/frontend-js/src/test/js/Export-test.js
index dfa018e4a19ec61f1afe6f34ff8738647571b2a2..b58d6fca71246a0c0a62557156cf296066c4e244 100644
--- a/frontend-js/src/test/js/Export-test.js
+++ b/frontend-js/src/test/js/Export-test.js
@@ -1,11 +1,12 @@
 "use strict";
 
+/* exported logger */
+
 var Export = require('../../main/js/Export');
 var logger = require('./logger');
 
 var assert = require('assert');
 
-var originalNavigator = null;
 describe('Export', function() {
 
   describe('init', function() {
diff --git a/frontend-js/src/test/js/SessionData-test.js b/frontend-js/src/test/js/SessionData-test.js
index cb9172ac8d3369159c3d5ce1e434ed4e26448f34..829a17a57578bf24610d818d0f7a1a312cae97e2 100644
--- a/frontend-js/src/test/js/SessionData-test.js
+++ b/frontend-js/src/test/js/SessionData-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('./helper');
-
 require("./mocha-config.js");
 
 var SessionData = require('../../main/js/SessionData');
diff --git a/frontend-js/src/test/js/gui/CommentDialog-test.js b/frontend-js/src/test/js/gui/CommentDialog-test.js
index 241f894569e9e51388aff10c69b1de2f20d58255..199aff0a2b1a66da5c4c7498f75161a0a3593cea 100644
--- a/frontend-js/src/test/js/gui/CommentDialog-test.js
+++ b/frontend-js/src/test/js/gui/CommentDialog-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../helper');
-
 require('../mocha-config.js');
 
 var CommentDialog = require('../../../main/js/gui/CommentDialog');
diff --git a/frontend-js/src/test/js/gui/ContextMentu-test.js b/frontend-js/src/test/js/gui/ContextMentu-test.js
index 929e52cb16bf561d4334ec6cd3aa4813c7fd13ea..f9478bdaa937c3f263a11ae75463fcea360e2692 100644
--- a/frontend-js/src/test/js/gui/ContextMentu-test.js
+++ b/frontend-js/src/test/js/gui/ContextMentu-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var ContextMenu = require('../../../main/js/gui/ContextMenu');
diff --git a/frontend-js/src/test/js/gui/Header-test.js b/frontend-js/src/test/js/gui/Header-test.js
index e466d385e0dbaee1dcd318f1b39bd4fedc24176d..5f1e8cd7bc35637107fe3cb153cbec1fd417a851 100644
--- a/frontend-js/src/test/js/gui/Header-test.js
+++ b/frontend-js/src/test/js/gui/Header-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var Header = require('../../../main/js/gui/Header');
diff --git a/frontend-js/src/test/js/gui/Legend-test.js b/frontend-js/src/test/js/gui/Legend-test.js
index 7b2e70929f714ecf5d78a03c52711902a052c5ff..7bc9c0b1b547820c87df92f73243831f683aca4a 100644
--- a/frontend-js/src/test/js/gui/Legend-test.js
+++ b/frontend-js/src/test/js/gui/Legend-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var Legend = require('../../../main/js/gui/Legend');
diff --git a/frontend-js/src/test/js/gui/LoginDialog-test.js b/frontend-js/src/test/js/gui/LoginDialog-test.js
index 75857799d22cb210b2c093c7bc7733e5120252c2..4f9ec418e0f2e96bab4eb7edd2206a3a49c0d053 100644
--- a/frontend-js/src/test/js/gui/LoginDialog-test.js
+++ b/frontend-js/src/test/js/gui/LoginDialog-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../helper');
-
 require('../mocha-config.js');
 
 var LoginDialog = require('../../../main/js/gui/LoginDialog');
diff --git a/frontend-js/src/test/js/gui/MapContextMentu-test.js b/frontend-js/src/test/js/gui/MapContextMentu-test.js
index a6a6354012e1afce13bdfe12e7efb72151fd003c..46bc5d86ad0a9558858e77b4d1066b4dc97f5896 100644
--- a/frontend-js/src/test/js/gui/MapContextMentu-test.js
+++ b/frontend-js/src/test/js/gui/MapContextMentu-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var MapContextMenu = require('../../../main/js/gui/MapContextMenu');
diff --git a/frontend-js/src/test/js/gui/OverviewDialog-test.js b/frontend-js/src/test/js/gui/OverviewDialog-test.js
index e6e85fa7ff535a92213d6e04ffc78d463a93ebc1..f38ec2696df1b51fd8ef8380b736ced13285ad12 100644
--- a/frontend-js/src/test/js/gui/OverviewDialog-test.js
+++ b/frontend-js/src/test/js/gui/OverviewDialog-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger,assert */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var CustomMap = require('../../../main/js/map/CustomMap');
@@ -66,8 +64,8 @@ describe('OverviewDialog', function() {
           latLng : new google.maps.LatLng(1, 34)
         });
         assert.equal(logger.getWarnings().length, 0);
-        assert.equal(1, map.getGoogleMap().getCenter().lat())
-        assert.equal(34, map.getGoogleMap().getCenter().lng())
+        assert.equal(1, map.getGoogleMap().getCenter().lat());
+        assert.equal(34, map.getGoogleMap().getCenter().lng());
         dialog.destroy();
       });
     });
diff --git a/frontend-js/src/test/js/gui/Panel-test.js b/frontend-js/src/test/js/gui/Panel-test.js
index 96cff6a3f3fceaf485ec05b0c37f1a6e177098a3..d17b2096c2980c8ed7ba495f3b52439192a509d6 100644
--- a/frontend-js/src/test/js/gui/Panel-test.js
+++ b/frontend-js/src/test/js/gui/Panel-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require('../mocha-config.js');
 
 var Panel = require('../../../main/js/gui/Panel');
diff --git a/frontend-js/src/test/js/gui/SelectionContextMentu-test.js b/frontend-js/src/test/js/gui/SelectionContextMentu-test.js
index 2f083e4677538b8d9ff569c8f26fb6f297806d4d..aac2264380520cad2ae7f1f3589a8016b210f913 100644
--- a/frontend-js/src/test/js/gui/SelectionContextMentu-test.js
+++ b/frontend-js/src/test/js/gui/SelectionContextMentu-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var SelectionContextMenu = require('../../../main/js/gui/SelectionContextMenu');
diff --git a/frontend-js/src/test/js/gui/SubMentu-test.js b/frontend-js/src/test/js/gui/SubMentu-test.js
index d2ce50aba7bf42372c3e670cf23833b0c6d64aa5..9dfd9326a92f813b3bde1e8c03bdc5d488400ef8 100644
--- a/frontend-js/src/test/js/gui/SubMentu-test.js
+++ b/frontend-js/src/test/js/gui/SubMentu-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../helper');
-
 require("../mocha-config.js");
 
 var SubMenu = require('../../../main/js/gui/SubMenu');
diff --git a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js
index 5e7d1656cfcfe55213740553bb4c5adaf89fb55a..05146b3859b76a192316df4e0eade26c6c238564 100644
--- a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js
+++ b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js
@@ -1,11 +1,11 @@
 "use strict";
 
+/* exported logger */
+
 var ElementExportPanel = require('../../../../main/js/gui/export/ElementExportPanel');
 var MiriamType = require('../../../../main/js/map/data/MiriamType');
 var logger = require('../../logger');
 
-var Helper = require('../../Helper');
-
 var assert = require('assert');
 
 describe('ElementExportPanel', function() {
diff --git a/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
index 6829269efa113d2855b88bfdec7e976d8493bcce..75d5339b0557fa02c03926b295f6047a3a7cfc67 100644
--- a/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var AbstractDbPanel = require('../../../../main/js/gui/leftPanel/AbstractDbPanel');
diff --git a/frontend-js/src/test/js/gui/leftPanel/ChemicalPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/ChemicalPanel-test.js
index 92d0c13fa57b435682b9fcd3ccd6b42fb75feb43..8ffe85425497fec94a8cb1300ebfce2a9c9e124a 100644
--- a/frontend-js/src/test/js/gui/leftPanel/ChemicalPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/ChemicalPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var Chemical = require('../../../../main/js/map/data/Chemical');
diff --git a/frontend-js/src/test/js/gui/leftPanel/DrugPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/DrugPanel-test.js
index d11313f19a4cbeb628b11278776847776539ec12..569b01ef93d21d8455f5fda5bd0031f745a40a2f 100644
--- a/frontend-js/src/test/js/gui/leftPanel/DrugPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/DrugPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var Drug = require('../../../../main/js/map/data/Drug');
diff --git a/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js
index d2dbd372e52f20fc1ed403371d1a1a1d764d38c9..35b1fc71631bcce6b55b9ec3c27ce7dba261eafc 100644
--- a/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var Alias = require('../../../../main/js/map/data/Alias');
@@ -107,22 +105,6 @@ describe('GenericSearchPanel', function() {
       var aliasObj = {
         symbol : "S1_SYMB",
         formerSymbols : [],
-        references : [ {
-          name : "HMDB03141",
-          type : "HMDB",
-          link : "http://www.hmdb.ca/metabolites/HMDB03141",
-          idObject : 933405
-        }, {
-          name : "CHEBI:28870",
-          type : "Chebi",
-          link : "http://www.ebi.ac.uk/chebi/searchId.do?chebiId\u003dCHEBI%3A28870",
-          idObject : 933406
-        }, {
-          name : "C05488",
-          type : "Kegg Compound",
-          link : "http://www.kegg.jp/entry/C05488",
-          idObject : 933407
-        } ],
         modelId : map.getId(),
         synonyms : [ "syn44" ],
         description : "DESCRIPTION",
diff --git a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
index 8e5450c8849454ef795130a91ba807731f2d02c1..0b096d11d03720499b37f0a277fe2d4430b16b41 100644
--- a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var Alias = require('../../../../main/js/map/data/Alias');
@@ -25,22 +23,6 @@ describe('GuiUtils', function() {
     var aliasObj = {
       symbol : "S1_SYMB",
       formerSymbols : [],
-      references : [ {
-        name : "HMDB03141",
-        type : "HMDB",
-        link : "http://www.hmdb.ca/metabolites/HMDB03141",
-        idObject : 933405
-      }, {
-        name : "CHEBI:28870",
-        type : "Chebi",
-        link : "http://www.ebi.ac.uk/chebi/searchId.do?chebiId\u003dCHEBI%3A28870",
-        idObject : 933406
-      }, {
-        name : "C05488",
-        type : "Kegg Compound",
-        link : "http://www.kegg.jp/entry/C05488",
-        idObject : 933407
-      } ],
       modelId : 15781,
       synonyms : [ "syn44" ],
       description : "DESCRIPTION",
@@ -107,7 +89,7 @@ describe('GuiUtils', function() {
         "name" : null,
         "state" : "PHOSPHORYLATED"
       } ]
-    })
+    });
     var utils = new GuiUtils(helper.getConfiguration());
 
     var res = utils.createPostTranslationalModifications("label", alias.getOther("modifications"));
diff --git a/frontend-js/src/test/js/gui/leftPanel/LeftPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/LeftPanel-test.js
index ec14348f676bcfc435fadd362a5f926543358458..16e19770d0ecf7526602a4ba23cbdd5ca1b4afe5 100644
--- a/frontend-js/src/test/js/gui/leftPanel/LeftPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/LeftPanel-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var LeftPanel = require('../../../../main/js/gui/leftPanel/LeftPanel');
diff --git a/frontend-js/src/test/js/gui/leftPanel/MiRnaPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/MiRnaPanel-test.js
index 824f8417f7d79362d01e101c96389a523de88727..258647f76cc72be882a3d7be7d91edeb52d4176d 100644
--- a/frontend-js/src/test/js/gui/leftPanel/MiRnaPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/MiRnaPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var MiRna = require('../../../../main/js/map/data/MiRna');
diff --git a/frontend-js/src/test/js/gui/leftPanel/OverlayPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/OverlayPanel-test.js
index 86d2292aa14be879ea44579485a1e672f82aa3b0..bf7b6b407a8f8ca0a894dd8a9aae5a33f747fd19 100644
--- a/frontend-js/src/test/js/gui/leftPanel/OverlayPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/OverlayPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var OverlayPanel = require('../../../../main/js/gui/leftPanel/OverlayPanel');
diff --git a/frontend-js/src/test/js/gui/leftPanel/ProjectInfoPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/ProjectInfoPanel-test.js
index 7975e14ae563870ef0ad0816ff8a966767598335..c51f90c16288e053a048a92758f21df246f71c58 100644
--- a/frontend-js/src/test/js/gui/leftPanel/ProjectInfoPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/ProjectInfoPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var ProjectInfoPanel = require('../../../../main/js/gui/leftPanel/ProjectInfoPanel');
diff --git a/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js b/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
index 33f51cd8446f7f16b583b0bd5f3ceca8a91ac0ed..18f4bd29fd3e30349968b60948fcfc6727b5491e 100644
--- a/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var PublicationListDialog = require('../../../../main/js/gui/leftPanel/PublicationListDialog');
diff --git a/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
index 13fd92b4fb23bf8f830dce80ed8217e763bace01..c04d1893d936ea242126771d06aa3a07626aa8d2 100644
--- a/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var SubmapPanel = require('../../../../main/js/gui/leftPanel/SubmapPanel');
diff --git a/frontend-js/src/test/js/gui/topMenu/TopMenu-test.js b/frontend-js/src/test/js/gui/topMenu/TopMenu-test.js
index c698abb19be7df0399a63fefb6ab5ea185a5a68c..223975808184fe07a2ba6b753563dbd65affda56 100644
--- a/frontend-js/src/test/js/gui/topMenu/TopMenu-test.js
+++ b/frontend-js/src/test/js/gui/topMenu/TopMenu-test.js
@@ -2,8 +2,6 @@
 
 /* exported logger */
 
-var Helper = require('../../helper');
-
 require('../../mocha-config.js');
 
 var TopMenu = require('../../../../main/js/gui/topMenu/TopMenu');
diff --git a/frontend-js/src/test/js/helper.js b/frontend-js/src/test/js/helper.js
index 5c3ebf1cf2666e817ca7fb590c59489981f1e86c..caf31be8d1bfd7f3797bc413c4e50db0ab7cd638 100644
--- a/frontend-js/src/test/js/helper.js
+++ b/frontend-js/src/test/js/helper.js
@@ -8,7 +8,6 @@ var Alias = require("../../main/js/map/data/Alias");
 var AbstractCustomMap = require("../../main/js/map/AbstractCustomMap");
 var ChemicalDbOverlay = require("../../main/js/map/overlay/ChemicalDbOverlay");
 var Comment = require("../../main/js/map/data/Comment");
-var Configuration = require("../../main/js/Configuration");
 var CommentDbOverlay = require("../../main/js/map/overlay/CommentDbOverlay");
 var CustomMap = require("../../main/js/map/CustomMap");
 var CustomMapOptions = require("../../main/js/map/CustomMapOptions");
@@ -26,7 +25,6 @@ var SearchDbOverlay = require("../../main/js/map/overlay/SearchDbOverlay");
 var User = require("../../main/js/map/data/User");
 
 var Cookies = require('js-cookie');
-var jsdom = require('jsdom');
 
 var GuiConnector = require('../../main/js/GuiConnector');
 
@@ -370,7 +368,7 @@ Helper.prototype.createCustomMap = function(project) {
  */
 Helper.prototype.setUrl = function(url) {
   var cookies = Cookies.get();
-  dom.reconfigure({
+  global.dom.reconfigure({
     url : url
   });
   for ( var cookie in cookies) {
diff --git a/frontend-js/src/test/js/map/AbstractCustomMap-test.js b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
index 7acdd183a6d508b65d7452c07b784a298f9c98eb..9cb8fd652fe4cf8fae027a151c54f4972e2ce6d9 100644
--- a/frontend-js/src/test/js/map/AbstractCustomMap-test.js
+++ b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
@@ -2,8 +2,6 @@
 
 var Promise = require("bluebird");
 
-var Helper = require('../Helper');
-
 var AliasMarker = require('../../../main/js/map/marker/AliasMarker');
 var AbstractCustomMap = require('../../../main/js/map/AbstractCustomMap');
 var PointData = require('../../../main/js/map/data/PointData');
diff --git a/frontend-js/src/test/js/map/CustomMap-test.js b/frontend-js/src/test/js/map/CustomMap-test.js
index 539b6f60e380fcf60580f2fd95a0d491b0b3d3d3..3f2bbadec5fa92d7d7bc588ee50ea60fed2193d2 100644
--- a/frontend-js/src/test/js/map/CustomMap-test.js
+++ b/frontend-js/src/test/js/map/CustomMap-test.js
@@ -2,8 +2,6 @@
 
 var Promise = require("bluebird");
 
-var Helper = require('../Helper');
-
 require("../mocha-config.js");
 
 var AliasSurface = require('../../../main/js/map/surface/AliasSurface');
diff --git a/frontend-js/src/test/js/map/CustomMapOptions-test.js b/frontend-js/src/test/js/map/CustomMapOptions-test.js
index 231352ea51cf338aee6aad42007ca2ff685e8858..65bbdbc213dcfbbd9ecb5d4016bfc2509facc0ed 100644
--- a/frontend-js/src/test/js/map/CustomMapOptions-test.js
+++ b/frontend-js/src/test/js/map/CustomMapOptions-test.js
@@ -1,5 +1,4 @@
 "use strict";
-var Helper = require('../Helper');
 
 var CustomMapOptions = require('../../../main/js/map/CustomMapOptions');
 var chai = require('chai');
diff --git a/frontend-js/src/test/js/map/Submap-test.js b/frontend-js/src/test/js/map/Submap-test.js
index c85ff3699967390968be8953ac1e6a3f6b6dc961..e9d9929767f86f93101459e99bd569ccb6d2ca41 100644
--- a/frontend-js/src/test/js/map/Submap-test.js
+++ b/frontend-js/src/test/js/map/Submap-test.js
@@ -1,6 +1,5 @@
 "use strict";
 
-var Helper = require('../Helper');
 var logger = require('../logger');
 
 var AliasMarker = require('../../../main/js/map/marker/AliasMarker');
diff --git a/frontend-js/src/test/js/map/TouchMap-test.js b/frontend-js/src/test/js/map/TouchMap-test.js
index 78b652fe3a022697e6cb7db6389c599e098afbee..f162c2574365b4b53a1c36047a62f7da780d7978 100644
--- a/frontend-js/src/test/js/map/TouchMap-test.js
+++ b/frontend-js/src/test/js/map/TouchMap-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../Helper');
-
 var TouchMap = require('../../../main/js/map/TouchMap');
 var chai = require('chai');
 var assert = chai.assert;
diff --git a/frontend-js/src/test/js/map/data/IdentifiedElement-test.js b/frontend-js/src/test/js/map/data/IdentifiedElement-test.js
index 46e574f5aa4404cfa669b3ac3423aba5df3e3e0d..755f32394c95088934493ded14f8e42546d6ffa5 100644
--- a/frontend-js/src/test/js/map/data/IdentifiedElement-test.js
+++ b/frontend-js/src/test/js/map/data/IdentifiedElement-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
 var Alias = require('../../../../main/js/map/data/Alias');
 var Reaction = require('../../../../main/js/map/data/Reaction');
diff --git a/frontend-js/src/test/js/map/data/LayoutAlias-test.js b/frontend-js/src/test/js/map/data/LayoutAlias-test.js
index 992fa6228c26fbf957355a2635816ed11f32ed3b..cd33b25e11c783b899cc12d743864b26a0a846c1 100644
--- a/frontend-js/src/test/js/map/data/LayoutAlias-test.js
+++ b/frontend-js/src/test/js/map/data/LayoutAlias-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 require("../../mocha-config.js");
 
 var LayoutAlias = require('../../../../main/js/map/data/LayoutAlias');
diff --git a/frontend-js/src/test/js/map/data/MapModel-test.js b/frontend-js/src/test/js/map/data/MapModel-test.js
index 11e2f827f8f2407d6563118717da6da58068cff2..8a69ce7909bcdb0f4258fe927bb3059a5bdfab90 100644
--- a/frontend-js/src/test/js/map/data/MapModel-test.js
+++ b/frontend-js/src/test/js/map/data/MapModel-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
 var LayoutData = require('../../../../main/js/map/data/LayoutData');
 var MapModel = require('../../../../main/js/map/data/MapModel');
diff --git a/frontend-js/src/test/js/map/data/Reaction-test.js b/frontend-js/src/test/js/map/data/Reaction-test.js
index b78d4b150de3bb2fc0f2d320b92fcceeaa597512..f7aea569e35fcc95be20875fab56c939cef913d8 100644
--- a/frontend-js/src/test/js/map/data/Reaction-test.js
+++ b/frontend-js/src/test/js/map/data/Reaction-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 require("../../mocha-config.js");
 
 var Reaction = require('../../../../main/js/map/data/Reaction');
diff --git a/frontend-js/src/test/js/map/data/TargettingStructure-test.js b/frontend-js/src/test/js/map/data/TargettingStructure-test.js
index 1d1f86c193bf42796029d9c60defa0875ed88c54..a0f04710360f1670200669040cae702d2b5d7d44 100644
--- a/frontend-js/src/test/js/map/data/TargettingStructure-test.js
+++ b/frontend-js/src/test/js/map/data/TargettingStructure-test.js
@@ -1,6 +1,7 @@
 "use strict";
 
-var Project = require('../../../../main/js/map/data/TargettingStructure');
+/* exported logger */
+
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
 
 var logger = require('../../logger');
diff --git a/frontend-js/src/test/js/map/marker/AliasMarker-test.js b/frontend-js/src/test/js/map/marker/AliasMarker-test.js
index ff4915011f5615480b13d81919b7b9775361cb25..f4c896874356c02a73b720e0f1030f375b62c0a5 100644
--- a/frontend-js/src/test/js/map/marker/AliasMarker-test.js
+++ b/frontend-js/src/test/js/map/marker/AliasMarker-test.js
@@ -4,8 +4,6 @@
 
 var logger = require('../../logger');
 
-var Helper = require('../../Helper');
-
 var AliasMarker = require('../../../../main/js/map/marker/AliasMarker');
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
 var assert = require('assert');
diff --git a/frontend-js/src/test/js/map/overlay/AbstractDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/AbstractDbOverlay-test.js
index e2b58609759821d4d93b767faa661f05622179c8..809e7fd87ae5523ef118db2cdeaf8ecd484497ac 100644
--- a/frontend-js/src/test/js/map/overlay/AbstractDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/AbstractDbOverlay-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var AbstractDbOverlay = require('../../../../main/js/map/overlay/AbstractDbOverlay');
 
 var assert = require('assert');
diff --git a/frontend-js/src/test/js/map/overlay/ChemicalDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/ChemicalDbOverlay-test.js
index 9de1dfbd9abc94a2440657c1f860b2532cad925a..63d2e6c1eb7ff2ffba9d1fd48e803bb796a6c2cb 100644
--- a/frontend-js/src/test/js/map/overlay/ChemicalDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/ChemicalDbOverlay-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
diff --git a/frontend-js/src/test/js/map/overlay/CommentDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/CommentDbOverlay-test.js
index bfa62c538bf5a50459059b8ae3275b145b13f646..70c616b099ba1f34e8d42f867691a44e6112b8a2 100644
--- a/frontend-js/src/test/js/map/overlay/CommentDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/CommentDbOverlay-test.js
@@ -1,6 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
 var logger = require('../../logger');
 
 var CommentDbOverlay = require('../../../../main/js/map/overlay/CommentDbOverlay');
diff --git a/frontend-js/src/test/js/map/overlay/DbOverlayCollection-test.js b/frontend-js/src/test/js/map/overlay/DbOverlayCollection-test.js
index 0a151e4d7a529d02e88ceabceb4065ef9cffa54c..eb795f3b24856b04c1376c423cb8f42a4aa15e81 100644
--- a/frontend-js/src/test/js/map/overlay/DbOverlayCollection-test.js
+++ b/frontend-js/src/test/js/map/overlay/DbOverlayCollection-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
 var DbOverlayCollection = require('../../../../main/js/map/overlay/DbOverlayCollection');
diff --git a/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js
index ff025866795a525db20d0148c32c54643e7345e3..f5462599258c86e6b3595f449fc1c33f226336ba 100644
--- a/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/DrugDbOverlay-test.js
@@ -1,10 +1,7 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
-var CustomMap = require('../../../../main/js/map/CustomMap');
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
 var DrugDbOverlay = require('../../../../main/js/map/overlay/DrugDbOverlay');
 
diff --git a/frontend-js/src/test/js/map/overlay/MiRnaDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/MiRnaDbOverlay-test.js
index 5ef31f28e4f718c0daa67a238422b6a4d21904a3..d1cab3e25ed6b2169dd8928668be5a96fd42ab32 100644
--- a/frontend-js/src/test/js/map/overlay/MiRnaDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/MiRnaDbOverlay-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
diff --git a/frontend-js/src/test/js/map/overlay/SearchDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/SearchDbOverlay-test.js
index 71374afa0b4fda3a95409c224695820412e9f3a2..e466e58026f69561c1293cfd1d0e701ce84cec4c 100644
--- a/frontend-js/src/test/js/map/overlay/SearchDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/SearchDbOverlay-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
 var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
@@ -61,7 +59,7 @@ describe('SearchDbOverlay', function() {
         searchDb = helper.createSearchDbOverlay(map);
 
         return searchDb.searchByQuery(problematicQuery);
-      }).then(null, function(result) {
+      }).then(null, function() {
         var queries = searchDb.getQueries();
         var promises = [];
         for (var i = 0; i < queries.length; i++) {
diff --git a/frontend-js/src/test/js/map/overlay/UserDbOverlay-test.js b/frontend-js/src/test/js/map/overlay/UserDbOverlay-test.js
index 2c5ed20ce96633aae56cd89b9235dc620396e36a..13f742cba1039deb685d531ddbb8305303e05faf 100644
--- a/frontend-js/src/test/js/map/overlay/UserDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/UserDbOverlay-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
 var CustomMap = require('../../../../main/js/map//CustomMap');
diff --git a/frontend-js/src/test/js/map/surface/AliasSurface-test.js b/frontend-js/src/test/js/map/surface/AliasSurface-test.js
index 8212e153439ffc7c91d61a2cc6f4b2a20276e45d..571affd8c54bb501034e89d41b0541bfacd6fc8a 100644
--- a/frontend-js/src/test/js/map/surface/AliasSurface-test.js
+++ b/frontend-js/src/test/js/map/surface/AliasSurface-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var logger = require('../../logger');
 
 var AliasSurface = require('../../../../main/js/map/surface/AliasSurface');
diff --git a/frontend-js/src/test/js/map/surface/ReactionSurface-test.js b/frontend-js/src/test/js/map/surface/ReactionSurface-test.js
index 1efa46f1a8a0f81870c6085e8669a2aeac61e530..52f8f5b1ce1317b593fe250cd8d6d38f42c83df5 100644
--- a/frontend-js/src/test/js/map/surface/ReactionSurface-test.js
+++ b/frontend-js/src/test/js/map/surface/ReactionSurface-test.js
@@ -1,7 +1,5 @@
 "use strict";
 
-var Helper = require('../../Helper');
-
 var ReactionSurface = require('../../../../main/js/map/surface/ReactionSurface');
 
 var assert = require('assert');
diff --git a/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js b/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js
index 4e1cbd22e4ad929e2e74161c1a839259fadb03ab..afea449132adc624f75f1540bfeed7d844da90b9 100644
--- a/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js
+++ b/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js
@@ -4,8 +4,6 @@ var Promise = require("bluebird");
 
 var functions = require('../../../../main/js/Functions');
 
-var Helper = require('../../Helper');
-
 var Alias = require('../../../../main/js/map/data/Alias');
 var Drug = require('../../../../main/js/map/data/Drug');
 var AliasInfoWindow = require('../../../../main/js/map/window/AliasInfoWindow');
@@ -87,7 +85,7 @@ describe('AliasInfoWindow', function() {
         references : [],
         targets : [],
       }) ]);
-    }
+    };
 
     return oc.getDetailDataByIdentifiedElement(new IdentifiedElement(alias), true).then(function(data) {
       var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data);
@@ -100,7 +98,7 @@ describe('AliasInfoWindow', function() {
   it("createDrugOverlayInfoDiv", function() {
     helper.setUrl("http://test/?id=drug_target_sample");
 
-    var map, searchDb, ie, aliasWindow, oc;
+    var map, ie, aliasWindow, oc;
     return ServerConnector.getProject().then(function(project) {
       map = helper.createCustomMap(project);
 
diff --git a/frontend-js/src/test/js/mocha-config.js b/frontend-js/src/test/js/mocha-config.js
index d3c4ea527054a7810ac98fd1811f043ecd0a7270..5358dfd0b1b28ab29565db11c41756084369a2c0 100644
--- a/frontend-js/src/test/js/mocha-config.js
+++ b/frontend-js/src/test/js/mocha-config.js
@@ -15,7 +15,7 @@ global.navigator = {
 
 var jsdom = require('jsdom');
 global.dom = new jsdom.JSDOM();
-global.window = dom.window;
+global.window = global.dom.window;
 global.document = window.document;
 
 global.$ = require('jQuery');