From 6a53c71d37db682a53e672d8bd10a8565d75a0e6 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 25 Aug 2017 19:29:17 +0200
Subject: [PATCH] fixing spelling typos

---
 frontend-js/.idea/workspace.xml               |  802 ++++----
 frontend-js/src/main/js/Configuration.js      |   16 +-
 frontend-js/src/main/js/Functions.js          |    8 +-
 frontend-js/src/main/js/GuiConnector.js       |    4 +-
 .../src/main/js/ObjectWithListeners.js        |   20 +-
 .../src/main/js/gui/AbstractGuiElement.js     |    8 +-
 frontend-js/src/main/js/gui/Legend.js         |    4 +-
 frontend-js/src/main/js/gui/LoginDialog.js    |    4 +-
 frontend-js/src/main/js/gui/OverviewDialog.js |   22 +-
 frontend-js/src/main/js/gui/Panel.js          |    2 +-
 .../main/js/gui/PanelControlElementType.js    |    6 +-
 .../main/js/gui/leftPanel/AbstractDbPanel.js  |    2 +-
 .../main/js/gui/leftPanel/ChemicalPanel.js    |    2 +-
 .../src/main/js/gui/leftPanel/GuiUtils.js     |    2 +-
 .../src/main/js/gui/leftPanel/LeftPanel.js    |    6 +-
 .../js/gui/leftPanel/PublicationListDialog.js |    2 +-
 .../src/main/js/gui/leftPanel/SearchPanel.js  |    6 +-
 .../src/main/js/gui/topMenu/TopMenu.js        |    2 +-
 .../src/main/js/map/AbstractCustomMap.js      |   36 +-
 frontend-js/src/main/js/map/CustomMap.js      |   12 +-
 frontend-js/src/main/js/map/Submap.js         |    7 +-
 frontend-js/src/main/js/map/data/Alias.js     |    4 +-
 frontend-js/src/main/js/map/data/BioEntity.js |    2 +-
 frontend-js/src/main/js/map/data/Chemical.js  |   10 +-
 .../src/main/js/map/data/IdentifiedElement.js |    2 +-
 .../src/main/js/map/data/LayoutAlias.js       |    4 +-
 .../src/main/js/map/data/LayoutData.js        |    2 +-
 .../src/main/js/map/data/LayoutReaction.js    |    2 +-
 frontend-js/src/main/js/map/data/Reaction.js  |    2 +-
 .../src/main/js/map/marker/AliasMarker.js     |    4 +-
 .../src/main/js/map/marker/ReactionMarker.js  |    4 +-
 .../src/main/js/map/surface/AliasSurface.js   |   10 +-
 .../main/js/map/surface/ReactionSurface.js    |    6 +-
 .../main/js/map/window/AbstractInfoWindow.js  |    4 +-
 frontend-js/src/main/js/minerva.js            |    4 +-
 .../src/test/js/ServerConnector-mock.js       |    8 +-
 .../src/test/js/ServerConnector-test.js       |    2 +-
 frontend-js/src/test/js/google-map-mock.js    |    4 +-
 .../src/test/js/gui/CommentDialog-test.js     |    2 +-
 .../src/test/js/gui/LoginDialog-test.js       |    2 +-
 .../js/gui/leftPanel/AbstractPanel-test.js    |    2 +-
 .../js/gui/leftPanel/ChemicalPanel-test.js    |    6 +-
 .../test/js/gui/leftPanel/DrugPanel-test.js   |    6 +-
 .../gui/leftPanel/GenericSearchPanel-test.js  |    6 +-
 .../test/js/gui/leftPanel/GuiUtils-test.js    |    6 +-
 .../test/js/gui/leftPanel/MiRnaPanel-test.js  |    6 +-
 .../leftPanel/PublicationListDialog-test.js   |   64 +-
 .../test/js/gui/leftPanel/SubmapPanel-test.js |    2 +-
 frontend-js/src/test/js/helper.js             |    4 +-
 .../src/test/js/map/AbstractCustomMap-test.js |   40 +-
 frontend-js/src/test/js/map/CustomMap-test.js | 1794 ++++++++---------
 .../src/test/js/map/CustomMapOptions-test.js  |   73 +-
 frontend-js/src/test/js/map/Submap-test.js    |    2 +-
 .../src/test/js/map/data/Alias-test.js        |  183 +-
 .../src/test/js/map/data/GeneVariant-test.js  |    2 +-
 .../js/map/data/IdentifiedElement-test.js     |  290 +--
 .../src/test/js/map/data/LayoutAlias-test.js  |    2 +-
 .../src/test/js/map/data/LayoutData-test.js   |    4 +-
 .../src/test/js/map/data/PointData-test.js    |    8 +-
 .../test/js/map/data/ReferenceGenome-test.js  |   63 +-
 .../data/ReferenceGenomeGeneMapping-test.js   |    2 +-
 .../test/js/map/overlay/UserDbOverlay-test.js |    4 +-
 .../js/map/surface/ReactionSurface-test.js    |    6 +-
 frontend-js/src/test/js/minerva-test.js       |    9 +-
 frontend-js/src/test/js/mocha-config.js       |    2 +-
 65 files changed, 1853 insertions(+), 1784 deletions(-)

diff --git a/frontend-js/.idea/workspace.xml b/frontend-js/.idea/workspace.xml
index 8af6484888..cfd1f9aa2b 100644
--- a/frontend-js/.idea/workspace.xml
+++ b/frontend-js/.idea/workspace.xml
@@ -6,8 +6,71 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="c119f0dd-fdda-4d02-a51e-86bc6ef7e50c" name="Default" comment="">
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/Configuration.js" afterPath="$PROJECT_DIR$/src/main/js/Configuration.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/Functions.js" afterPath="$PROJECT_DIR$/src/main/js/Functions.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/GuiConnector.js" afterPath="$PROJECT_DIR$/src/main/js/GuiConnector.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/ObjectWithListeners.js" afterPath="$PROJECT_DIR$/src/main/js/ObjectWithListeners.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/AbstractGuiElement.js" afterPath="$PROJECT_DIR$/src/main/js/gui/AbstractGuiElement.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/Legend.js" afterPath="$PROJECT_DIR$/src/main/js/gui/Legend.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/LoginDialog.js" afterPath="$PROJECT_DIR$/src/main/js/gui/LoginDialog.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/OverviewDialog.js" afterPath="$PROJECT_DIR$/src/main/js/gui/OverviewDialog.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/Panel.js" afterPath="$PROJECT_DIR$/src/main/js/gui/Panel.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/PanelControlElementType.js" afterPath="$PROJECT_DIR$/src/main/js/gui/PanelControlElementType.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/leftPanel/AbstractDbPanel.js" afterPath="$PROJECT_DIR$/src/main/js/gui/leftPanel/AbstractDbPanel.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js" afterPath="$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/leftPanel/GuiUtils.js" afterPath="$PROJECT_DIR$/src/main/js/gui/leftPanel/GuiUtils.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/leftPanel/LeftPanel.js" afterPath="$PROJECT_DIR$/src/main/js/gui/leftPanel/LeftPanel.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js" afterPath="$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/leftPanel/SearchPanel.js" afterPath="$PROJECT_DIR$/src/main/js/gui/leftPanel/SearchPanel.js" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js" afterPath="$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/topMenu/TopMenu-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/topMenu/TopMenu-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js" afterPath="$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/CustomMap.js" afterPath="$PROJECT_DIR$/src/main/js/map/CustomMap.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/Submap.js" afterPath="$PROJECT_DIR$/src/main/js/map/Submap.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/Alias.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/Alias.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/BioEntity.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/BioEntity.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/Chemical.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/Chemical.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/LayoutAlias.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/LayoutAlias.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/LayoutData.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/LayoutData.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/LayoutReaction.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/LayoutReaction.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/data/Reaction.js" afterPath="$PROJECT_DIR$/src/main/js/map/data/Reaction.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/marker/AliasMarker.js" afterPath="$PROJECT_DIR$/src/main/js/map/marker/AliasMarker.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/marker/ReactionMarker.js" afterPath="$PROJECT_DIR$/src/main/js/map/marker/ReactionMarker.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/surface/AliasSurface.js" afterPath="$PROJECT_DIR$/src/main/js/map/surface/AliasSurface.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/surface/ReactionSurface.js" afterPath="$PROJECT_DIR$/src/main/js/map/surface/ReactionSurface.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js" afterPath="$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/js/minerva.js" afterPath="$PROJECT_DIR$/src/main/js/minerva.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/ServerConnector-mock.js" afterPath="$PROJECT_DIR$/src/test/js/ServerConnector-mock.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/ServerConnector-test.js" afterPath="$PROJECT_DIR$/src/test/js/ServerConnector-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/google-map-mock.js" afterPath="$PROJECT_DIR$/src/test/js/google-map-mock.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/CommentDialog-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/CommentDialog-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/LoginDialog-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/LoginDialog-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/AbstractPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/AbstractPanel-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/ChemicalPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/ChemicalPanel-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/DrugPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/DrugPanel-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/GenericSearchPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/GenericSearchPanel-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/GuiUtils-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/GuiUtils-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/MiRnaPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/MiRnaPanel-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/leftPanel/SubmapPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/leftPanel/SubmapPanel-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/helper.js" afterPath="$PROJECT_DIR$/src/test/js/helper.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/AbstractCustomMap-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/AbstractCustomMap-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/CustomMap-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/CustomMap-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/CustomMapOptions-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/CustomMapOptions-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/Submap-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/Submap-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/Alias-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/Alias-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/GeneVariant-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/GeneVariant-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/IdentifiedElement-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/IdentifiedElement-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/LayoutAlias-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/LayoutAlias-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/LayoutData-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/LayoutData-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/PointData-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/PointData-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/ReferenceGenome-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/ReferenceGenome-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/overlay/UserDbOverlay-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/overlay/UserDbOverlay-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/map/surface/ReactionSurface-test.js" afterPath="$PROJECT_DIR$/src/test/js/map/surface/ReactionSurface-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/minerva-test.js" afterPath="$PROJECT_DIR$/src/test/js/minerva-test.js" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/mocha-config.js" afterPath="$PROJECT_DIR$/src/test/js/mocha-config.js" />
     </list>
     <ignored path="$PROJECT_DIR$/.tmp/" />
     <ignored path="$PROJECT_DIR$/temp/" />
@@ -21,109 +84,105 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="minerva.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js">
+      <file leaf-file-name="ServerConnector.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="374">
-              <caret line="22" column="0" lean-forward="false" selection-start-line="21" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
-              <folding>
-                <marker date="1503674837752" expanded="true" signature="16590:16649" ph="..." />
-                <marker date="1503674837752" expanded="true" signature="19915:19974" ph="..." />
-                <marker date="1503674837752" expanded="true" signature="20782:20841" ph="..." />
-              </folding>
+            <state relative-caret-position="340">
+              <caret line="919" column="18" lean-forward="true" selection-start-line="919" selection-start-column="18" selection-end-line="919" selection-end-column="18" />
+              <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="TopMenu.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js">
+      <file leaf-file-name="SessionData.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/SessionData.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="235">
-              <caret line="187" column="31" lean-forward="false" selection-start-line="187" selection-start-column="31" selection-end-line="187" selection-end-column="31" />
-              <folding>
-                <marker date="1503676564911" expanded="true" signature="2208:2260" ph="..." />
-                <marker date="1503676564911" expanded="true" signature="3751:3783" ph="..." />
-                <marker date="1503676564911" expanded="true" signature="4157:4209" ph="..." />
-              </folding>
+            <state relative-caret-position="221">
+              <caret line="55" column="17" lean-forward="false" selection-start-line="55" selection-start-column="17" selection-end-line="55" selection-end-column="17" />
+              <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="AbstractInfoWindow.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js">
+      <file leaf-file-name="Configuration.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/Configuration.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1482">
-              <caret line="96" column="31" lean-forward="false" selection-start-line="96" selection-start-column="31" selection-end-line="96" selection-end-column="31" />
+            <state relative-caret-position="229">
+              <caret line="41" column="27" lean-forward="false" selection-start-line="41" selection-start-column="27" selection-end-line="41" selection-end-column="27" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="TopMenu-test.js" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/test/js/gui/topMenu/TopMenu-test.js">
+      <file leaf-file-name="Functions.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/Functions.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="485">
-              <caret line="52" column="47" lean-forward="false" selection-start-line="52" selection-start-column="47" selection-end-line="52" selection-end-column="47" />
+            <state relative-caret-position="221">
+              <caret line="70" column="9" lean-forward="false" selection-start-line="70" selection-start-column="9" selection-end-line="70" selection-end-column="9" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="Legend.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/gui/Legend.js">
+      <file leaf-file-name="OverviewDialog.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/gui/OverviewDialog.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="459">
-              <caret line="34" column="5" lean-forward="true" selection-start-line="34" selection-start-column="5" selection-end-line="34" selection-end-column="5" />
+            <state relative-caret-position="229">
+              <caret line="195" column="65" lean-forward="false" selection-start-line="195" selection-start-column="65" selection-end-line="195" selection-end-column="65" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="AliasInfoWindow.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AliasInfoWindow.js">
+      <file leaf-file-name="AbstractExportPanel.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="221">
-              <caret line="218" column="2" lean-forward="false" selection-start-line="218" selection-start-column="2" selection-end-line="218" selection-end-column="2" />
+            <state relative-caret-position="153">
+              <caret line="9" column="42" lean-forward="false" selection-start-line="9" selection-start-column="42" selection-end-line="9" selection-end-column="42" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="IdentifiedElement.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js">
+      <file leaf-file-name="PublicationListDialog.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="337">
-              <caret line="102" column="29" lean-forward="false" selection-start-line="102" selection-start-column="29" selection-end-line="102" selection-end-column="29" />
+            <state relative-caret-position="229">
+              <caret line="64" column="48" lean-forward="false" selection-start-line="64" selection-start-column="48" selection-end-line="64" selection-end-column="48" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="AbstractCustomMap.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js">
+      <file leaf-file-name="AbstractInfoWindow.js" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="226">
-              <caret line="685" column="29" lean-forward="false" selection-start-line="685" selection-start-column="29" selection-end-line="685" selection-end-column="29" />
+            <state relative-caret-position="229">
+              <caret line="189" column="17" lean-forward="false" selection-start-line="189" selection-start-column="17" selection-end-line="189" selection-end-column="17" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="PointInfoWindow.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/map/window/PointInfoWindow.js">
+      <file leaf-file-name="minerva.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="451">
-              <caret line="41" column="0" lean-forward="false" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
-              <folding />
+            <state relative-caret-position="494">
+              <caret line="655" column="28" lean-forward="true" selection-start-line="655" selection-start-column="28" selection-end-line="655" selection-end-column="28" />
+              <folding>
+                <marker date="1503677591650" expanded="true" signature="16592:16651" ph="..." />
+                <marker date="1503677591650" expanded="true" signature="19917:19976" ph="..." />
+                <marker date="1503677591650" expanded="true" signature="20784:20843" ph="..." />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="ReactionInfoWindow.js" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/js/map/window/ReactionInfoWindow.js">
+      <file leaf-file-name="dual-listbox.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/node_modules/dual-listbox/dist/dual-listbox.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="17">
-              <caret line="14" column="41" lean-forward="false" selection-start-line="14" selection-start-column="41" selection-end-line="14" selection-end-column="41" />
+            <state relative-caret-position="0">
+              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
               <folding />
             </state>
           </provider>
@@ -133,17 +192,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>trigger</find>
-      <find>MakeL</find>
-      <find>onSaveClicked</find>
-      <find>resize</find>
-      <find>noti</find>
-      <find>Notify</find>
-      <find>getLogge</find>
-      <find>email</find>
-      <find>_loggedUser</find>
-      <find>GuiConnector.alert</find>
-      <find>self</find>
       <find>self =</find>
       <find>InvalidArgumentError</find>
       <find>getFileContent</find>
@@ -159,13 +207,31 @@
       <find>new AliasInfoWindow</find>
       <find>new PointInfoWindow</find>
       <find>getEle</find>
-      <find>getI</find>
       <find>getEl</find>
       <find>getIde</find>
+      <find>getI</find>
+      <find>isDisbaled</find>
       <find>legend.sh</find>
+      <find>LENGEND</find>
+      <find>dropdown</find>
+      <find>USER_TAB_PASSOWRD_INPUT_TEXT</find>
+      <find>INFO_PROJECT_DESCRIOPTION_TEXT</find>
+      <find>LEGEND_INDICATIORS_OL</find>
+      <find>elemnts</find>
+      <find>creatMapOptions</find>
+      <find>_directeEvidence</find>
+      <find>changedToCustimzed</find>
+      <find>getParamsgetParams</find>
     </findStrings>
     <replaceStrings>
       <replace>ValidationError</replace>
+      <replace>LEGEND</replace>
+      <replace>drop-down</replace>
+      <replace>USER_TAB_PASSWORD_INPUT_TEXT</replace>
+      <replace>INFO_PROJECT_DESCRIPTION_TEXT</replace>
+      <replace>LEGEND_INDICATORS_OL</replace>
+      <replace>_directEvidence</replace>
+      <replace>changedToCustomized</replace>
     </replaceStrings>
     <dirStrings>
       <dir>C:\Users\piotr.gawron\workspace\MapViewer-parent\frontend-js\src\main\js\gui\leftPanel</dir>
@@ -178,57 +244,57 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/test/js/gui/Panel-test.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/SubmapPanel.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/Submap.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/export/ElementExportPanel.js" />
-        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/LeftPanel-test.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/admin/EditProjectDialog.js" />
-        <option value="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" />
-        <option value="$PROJECT_DIR$/src/main/css/global.css" />
-        <option value="$PROJECT_DIR$/src/test/js/GuiConnector-test.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/LoginDialog.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/admin/CommentsAdminPanel.js" />
-        <option value="$PROJECT_DIR$/src/main/js/Admin.js" />
-        <option value="$PROJECT_DIR$/src/test/js/google-map-mock.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/TouchMap.js" />
-        <option value="$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js" />
-        <option value="$PROJECT_DIR$/src/main/js/ValidationError.js" />
-        <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/map/window/AliasInfoWindow-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/map/TouchMap-test.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/OverlayPanel.js" />
-        <option value="$PROJECT_DIR$/src/main/js/GuiConnector.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js" />
-        <option value="$PROJECT_DIR$/testFiles/apiCalls/projects/sample/DELETE_token=MOCK_TOKEN_ID&amp;" />
-        <option value="$PROJECT_DIR$/.jshintrc" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/admin/MapsAdminPanel.js" />
-        <option value="$PROJECT_DIR$/src/test/js/mocha-config.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/CustomMap.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/marker/AbstractMarker.js" />
-        <option value="$PROJECT_DIR$/src/test/js/map/Submap-test.js" />
+        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/GuiUtils.js" />
+        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/SearchPanel.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/overlay/UserDbOverlay-test.js" />
         <option value="$PROJECT_DIR$/src/test/js/map/overlay/DrugDbOverlay-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/map/marker/AliasMarker-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/map/data/TargettingStructure-test.js" />
-        <option value="$PROJECT_DIR$/src/test/js/map/CustomMap-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/LayoutData-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/GeneVariant-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/LayoutAlias-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/Alias-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/PointData-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/ReferenceGenome-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/Submap-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/CustomMapOptions-test.js" />
+        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/CustomMap.js" />
         <option value="$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/ContextMenu.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/export/GraphicsExportPanel.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/ProjectInfoPanel.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/AbstractDbPanel.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js" />
-        <option value="$PROJECT_DIR$/src/test/js/ServerConnector-test.js" />
-        <option value="$PROJECT_DIR$/src/main/js/ServerConnector.js" />
-        <option value="$PROJECT_DIR$/src/main/js/minerva.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/window/ReactionInfoWindow.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/window/PointInfoWindow.js" />
-        <option value="$PROJECT_DIR$/src/main/js/map/window/AliasInfoWindow.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/Submap.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/Alias.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/Reaction.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/LayoutData.js" />
         <option value="$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/BioEntity.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/LayoutAlias.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/Chemical.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/data/LayoutReaction.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/marker/AliasMarker.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/marker/ReactionMarker.js" />
         <option value="$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js" />
-        <option value="$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js" />
-        <option value="$PROJECT_DIR$/src/test/js/gui/topMenu/TopMenu-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/surface/ReactionSurface-test.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/surface/ReactionSurface.js" />
+        <option value="$PROJECT_DIR$/src/main/js/map/surface/AliasSurface.js" />
+        <option value="$PROJECT_DIR$/src/test/js/google-map-mock.js" />
+        <option value="$PROJECT_DIR$/src/test/js/ServerConnector-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/mocha-config.js" />
+        <option value="$PROJECT_DIR$/src/test/js/ServerConnector-mock.js" />
+        <option value="$PROJECT_DIR$/src/test/js/helper.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/LoginDialog-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/CommentDialog-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/GenericSearchPanel-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/MiRnaPanel-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/SubmapPanel-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/AbstractPanel-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/GuiUtils-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/ChemicalPanel-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/DrugPanel-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/AbstractCustomMap-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/CustomMap-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/map/data/IdentifiedElement-test.js" />
+        <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" />
+        <option value="$PROJECT_DIR$/src/main/js/GuiConnector.js" />
       </list>
     </option>
   </component>
@@ -252,6 +318,80 @@
     <option name="width" value="1400" />
     <option name="height" value="1000" />
   </component>
+  <component name="ProjectInspectionProfilesVisibleTreeState">
+    <entry key="Project Default">
+      <profile-state>
+        <expanded-state>
+          <State>
+            <id />
+          </State>
+          <State>
+            <id>CSS</id>
+          </State>
+          <State>
+            <id>CoffeeScript</id>
+          </State>
+          <State>
+            <id>Control flow issuesJavaScript</id>
+          </State>
+          <State>
+            <id>Cucumber</id>
+          </State>
+          <State>
+            <id>DOM issuesJavaScript</id>
+          </State>
+          <State>
+            <id>Error handlingJavaScript</id>
+          </State>
+          <State>
+            <id>General</id>
+          </State>
+          <State>
+            <id>GeneralJavaScript</id>
+          </State>
+          <State>
+            <id>HTML</id>
+          </State>
+          <State>
+            <id>Internationalization issues</id>
+          </State>
+          <State>
+            <id>Invalid elementsCSS</id>
+          </State>
+          <State>
+            <id>JavaScript</id>
+          </State>
+          <State>
+            <id>JavaScript function metricsJavaScript</id>
+          </State>
+          <State>
+            <id>JavaScript validity issuesJavaScript</id>
+          </State>
+          <State>
+            <id>Node.jsJavaScript</id>
+          </State>
+          <State>
+            <id>Potentially confusing code constructsJavaScript</id>
+          </State>
+          <State>
+            <id>Probable bugsCoffeeScript</id>
+          </State>
+          <State>
+            <id>Probable bugsJavaScript</id>
+          </State>
+          <State>
+            <id>RegExp</id>
+          </State>
+          <State>
+            <id>TypeScript</id>
+          </State>
+          <State>
+            <id>XPath</id>
+          </State>
+        </expanded-state>
+      </profile-state>
+    </entry>
+  </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
   <component name="ProjectView">
     <navigator currentView="ProjectPane" proportions="" version="1">
@@ -276,81 +416,6 @@
               <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
               <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
             </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="coverage" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="coverage" type="462c0819:PsiDirectoryNode" />
-              <item name="lcov-report" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="js" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="js" type="462c0819:PsiDirectoryNode" />
-              <item name="gui" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="test" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="test" type="462c0819:PsiDirectoryNode" />
-              <item name="js" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="test" type="462c0819:PsiDirectoryNode" />
-              <item name="js" type="462c0819:PsiDirectoryNode" />
-              <item name="gui" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="test" type="462c0819:PsiDirectoryNode" />
-              <item name="js" type="462c0819:PsiDirectoryNode" />
-              <item name="gui" type="462c0819:PsiDirectoryNode" />
-              <item name="topMenu" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" />
-              <item name="frontend-js" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="test" type="462c0819:PsiDirectoryNode" />
-              <item name="js" type="462c0819:PsiDirectoryNode" />
-              <item name="map" type="462c0819:PsiDirectoryNode" />
-            </path>
           </expand>
           <select />
         </subPane>
@@ -364,7 +429,7 @@
     <property name="nodejs_interpreter_path" value="C:/Program Files/nodejs/node" />
     <property name="HbShouldOpenHtmlAsHb" value="" />
     <property name="nodejs.mocha.mocha_node_package_dir" value="$PROJECT_DIR$/node_modules/mocha" />
-    <property name="settings.editor.selected.configurable" value="Settings.JavaScript.Linters.JSHint" />
+    <property name="settings.editor.selected.configurable" value="reference.settings.ide.settings.spelling" />
     <property name="run.code.analysis.last.selected.profile" value="pProject Default" />
     <property name="node.js.path.for.package.jscs" value="project" />
     <property name="node.js.detected.package.jscs" value="true" />
@@ -638,7 +703,7 @@
       <workItem from="1503502231792" duration="5017000" />
       <workItem from="1503560609163" duration="22426000" />
       <workItem from="1503648028157" duration="9357000" />
-      <workItem from="1503673204553" duration="3503000" />
+      <workItem from="1503673204553" duration="8772000" />
     </task>
     <servers />
   </component>
@@ -675,22 +740,23 @@
     </history-entry>
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="40456000" />
+    <option name="totallyTimeSpent" value="45725000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5679475" sideWeight="0.33802083" order="7" side_tool="true" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="V8 CPU Profiling" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34489223" sideWeight="0.66197914" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.33833176" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33833176" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" />
       <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
-      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Inspection Results" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3298969" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3298969" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="V8 CPU Profiling" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34489223" sideWeight="0.66197914" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
@@ -698,7 +764,6 @@
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
-      <window_info id="Inspection Results" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3298969" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
     </layout>
     <layout-to-restore>
@@ -734,417 +799,414 @@
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/js/Admin.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/LayoutData.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="335">
-          <caret line="150" column="0" lean-forward="false" selection-start-line="150" selection-start-column="0" selection-end-line="150" selection-end-column="0" />
+        <state relative-caret-position="229">
+          <caret line="18" column="17" lean-forward="false" selection-start-line="18" selection-start-column="17" selection-end-line="18" selection-end-column="17" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/coverage/lcov-report/index.html">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="229">
+          <caret line="80" column="18" lean-forward="false" selection-start-line="80" selection-start-column="18" selection-end-line="80" selection-end-column="18" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/LayoutAlias.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/BioEntity.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="11" column="23" lean-forward="false" selection-start-line="11" selection-start-column="23" selection-end-line="11" selection-end-column="23" />
+        <state relative-caret-position="136">
+          <caret line="8" column="22" lean-forward="false" selection-start-line="8" selection-start-column="22" selection-end-line="8" selection-end-column="22" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/helper.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/MiRna.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="311">
-          <caret line="361" column="24" lean-forward="false" selection-start-line="361" selection-start-column="24" selection-end-line="361" selection-end-column="24" />
+        <state relative-caret-position="204">
+          <caret line="12" column="0" lean-forward="true" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/EditProjectDialog.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/LayoutAlias.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="581" column="32" lean-forward="false" selection-start-line="581" selection-start-column="32" selection-end-line="581" selection-end-column="32" />
+        <state relative-caret-position="136">
+          <caret line="8" column="19" lean-forward="false" selection-start-line="8" selection-start-column="19" selection-end-line="8" selection-end-column="19" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/overlay/SearchDbOverlay-test.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/Chemical.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="243">
-          <caret line="28" column="0" lean-forward="true" selection-start-line="27" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
+        <state relative-caret-position="425">
+          <caret line="31" column="25" lean-forward="false" selection-start-line="31" selection-start-column="25" selection-end-line="31" selection-end-column="25" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/TouchMap.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/LayoutReaction.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="303">
-          <caret line="186" column="44" lean-forward="false" selection-start-line="186" selection-start-column="44" selection-end-line="186" selection-end-column="44" />
+        <state relative-caret-position="102">
+          <caret line="6" column="22" lean-forward="false" selection-start-line="6" selection-start-column="22" selection-end-line="6" selection-end-column="22" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/google-map-mock.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/Project.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="15" column="8" lean-forward="false" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="8" />
+        <state relative-caret-position="229">
+          <caret line="14" column="29" lean-forward="false" selection-start-line="14" selection-start-column="29" selection-end-line="14" selection-end-column="29" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/marker/AliasMarker.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="0" lean-forward="true" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
+        <state relative-caret-position="239">
+          <caret line="36" column="61" lean-forward="false" selection-start-line="36" selection-start-column="61" selection-end-line="36" selection-end-column="61" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/User.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/marker/ReactionMarker.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="466">
+          <caret line="46" column="66" lean-forward="false" selection-start-line="46" selection-start-column="66" selection-end-line="46" selection-end-column="66" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/testFiles/apiCalls/users/admin">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AliasInfoWindow.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="6052" lean-forward="false" selection-start-line="0" selection-start-column="6052" selection-end-line="0" selection-end-column="6052" />
+        <state relative-caret-position="221">
+          <caret line="364" column="40" lean-forward="false" selection-start-line="364" selection-start-column="40" selection-end-line="364" selection-end-column="40" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/ValidationError.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/overlay/AbstractDbOverlay.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="8" column="25" lean-forward="false" selection-start-line="8" selection-start-column="25" selection-end-line="8" selection-end-column="25" />
+        <state relative-caret-position="229">
+          <caret line="251" column="86" lean-forward="false" selection-start-line="251" selection-start-column="86" selection-end-line="251" selection-end-column="86" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/AddProjectDialog-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/map/surface/ReactionSurface-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="306">
-          <caret line="42" column="7" lean-forward="false" selection-start-line="42" selection-start-column="7" selection-end-line="42" selection-end-column="7" />
+        <state relative-caret-position="255">
+          <caret line="69" column="38" lean-forward="false" selection-start-line="69" selection-start-column="38" selection-end-line="69" selection-end-column="38" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/surface/ReactionSurface.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="338">
-          <caret line="117" column="0" lean-forward="false" selection-start-line="117" selection-start-column="0" selection-end-line="117" selection-end-column="0" />
+        <state relative-caret-position="3026">
+          <caret line="178" column="45" lean-forward="false" selection-start-line="178" selection-start-column="45" selection-end-line="178" selection-end-column="45" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/window/AliasInfoWindow-test.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/surface/AliasSurface.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-289">
-          <caret line="19" column="31" lean-forward="false" selection-start-line="19" selection-start-column="31" selection-end-line="19" selection-end-column="31" />
+        <state relative-caret-position="221">
+          <caret line="109" column="6" lean-forward="false" selection-start-line="109" selection-start-column="6" selection-end-line="109" selection-end-column="6" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/OverlayPanel.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/google-map-mock.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="204">
-          <caret line="12" column="6" lean-forward="false" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
+        <state relative-caret-position="221">
+          <caret line="288" column="20" lean-forward="false" selection-start-line="288" selection-start-column="20" selection-end-line="288" selection-end-column="20" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/ServerConnector-test.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="221">
-          <caret line="13" column="34" lean-forward="false" selection-start-line="13" selection-start-column="34" selection-end-line="13" selection-end-column="34" />
-          <folding>
-            <marker date="1503670249417" expanded="true" signature="4888:4894" ph=" " />
-            <marker date="1503670249417" expanded="true" signature="5205:5211" ph=" " />
-          </folding>
+          <caret line="286" column="63" lean-forward="false" selection-start-line="286" selection-start-column="63" selection-end-line="286" selection-end-column="63" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/CommentsAdminPanel.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2839">
-          <caret line="167" column="19" lean-forward="false" selection-start-line="167" selection-start-column="19" selection-end-line="167" selection-end-column="19" />
+        <state relative-caret-position="221">
+          <caret line="55" column="11" lean-forward="false" selection-start-line="55" selection-start-column="11" selection-end-line="55" selection-end-column="11" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/testFiles/apiCalls/projects/sample/DELETE_token=MOCK_TOKEN_ID&amp;">
+    <entry file="file://$PROJECT_DIR$/src/test/js/ServerConnector-mock.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="13" lean-forward="false" selection-start-line="0" selection-start-column="13" selection-end-line="0" selection-end-column="13" />
+        <state relative-caret-position="229">
+          <caret line="51" column="9" lean-forward="false" selection-start-line="51" selection-start-column="9" selection-end-line="51" selection-end-column="9" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/.jshintrc">
+    <entry file="file://$PROJECT_DIR$/src/test/js/logger.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="748">
-          <caret line="44" column="0" lean-forward="false" selection-start-line="44" selection-start-column="0" selection-end-line="44" selection-end-column="0" />
+        <state relative-caret-position="119">
+          <caret line="7" column="2" lean-forward="false" selection-start-line="7" selection-start-column="2" selection-end-line="7" selection-end-column="2" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/helper.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="238">
-          <caret line="14" column="29" lean-forward="false" selection-start-line="14" selection-start-column="29" selection-end-line="14" selection-end-column="29" />
+        <state relative-caret-position="221">
+          <caret line="327" column="4" lean-forward="false" selection-start-line="327" selection-start-column="4" selection-end-line="327" selection-end-column="4" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/MapsAdminPanel.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/Functions-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="338">
-          <caret line="142" column="35" lean-forward="false" selection-start-line="142" selection-start-column="35" selection-end-line="142" selection-end-column="35" />
-          <folding>
-            <marker date="1503673820763" expanded="true" signature="1540:1546" ph=" " />
-            <marker date="1503673820763" expanded="true" signature="1820:1826" ph=" " />
-          </folding>
+        <state relative-caret-position="375">
+          <caret line="238" column="19" lean-forward="false" selection-start-line="238" selection-start-column="19" selection-end-line="238" selection-end-column="19" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/Functions.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/LoginDialog-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="221">
+          <caret line="13" column="10" lean-forward="false" selection-start-line="13" selection-start-column="10" selection-end-line="13" selection-end-column="10" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/GuiConnector.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/CommentDialog-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="11" column="18" lean-forward="false" selection-start-line="11" selection-start-column="18" selection-end-line="11" selection-end-column="18" />
+        <state relative-caret-position="204">
+          <caret line="12" column="10" lean-forward="false" selection-start-line="12" selection-start-column="10" selection-end-line="12" selection-end-column="10" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/GenericSearchPanel-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="7" column="4" lean-forward="false" selection-start-line="7" selection-start-column="4" selection-end-line="7" selection-end-column="4" />
+        <state relative-caret-position="323">
+          <caret line="111" column="27" lean-forward="false" selection-start-line="111" selection-start-column="27" selection-end-line="111" selection-end-column="27" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/CustomMap.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/MiRnaPanel-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="218">
-          <caret line="696" column="51" lean-forward="false" selection-start-line="696" selection-start-column="51" selection-end-line="696" selection-end-column="51" />
+        <state relative-caret-position="272">
+          <caret line="37" column="33" lean-forward="false" selection-start-line="37" selection-start-column="33" selection-end-line="37" selection-end-column="33" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/marker/AbstractMarker.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/SubmapPanel-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="34">
-          <caret line="2" column="34" lean-forward="false" selection-start-line="2" selection-start-column="34" selection-end-line="2" selection-end-column="34" />
+        <state relative-caret-position="204">
+          <caret line="12" column="10" lean-forward="false" selection-start-line="12" selection-start-column="10" selection-end-line="12" selection-end-column="10" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/TouchMap-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="320">
-          <caret line="98" column="27" lean-forward="true" selection-start-line="98" selection-start-column="27" selection-end-line="98" selection-end-column="27" />
+        <state relative-caret-position="204">
+          <caret line="12" column="10" lean-forward="false" selection-start-line="12" selection-start-column="10" selection-end-line="12" selection-end-column="10" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/Submap-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/AbstractPanel-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="304">
-          <caret line="57" column="0" lean-forward="false" selection-start-line="57" selection-start-column="0" selection-end-line="57" selection-end-column="0" />
+        <state relative-caret-position="229">
+          <caret line="16" column="10" lean-forward="false" selection-start-line="16" selection-start-column="10" selection-end-line="16" selection-end-column="10" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/overlay/DrugDbOverlay-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/GuiUtils-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="24" column="0" lean-forward="true" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
+        <state relative-caret-position="221">
+          <caret line="81" column="19" lean-forward="false" selection-start-line="81" selection-start-column="19" selection-end-line="81" selection-end-column="19" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/ChemicalPanel-test.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="221">
+          <caret line="30" column="75" lean-forward="false" selection-start-line="30" selection-start-column="75" selection-end-line="30" selection-end-column="75" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/marker/AliasMarker-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/DrugPanel-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="63" column="0" lean-forward="false" selection-start-line="63" selection-start-column="0" selection-end-line="63" selection-end-column="0" />
+        <state relative-caret-position="221">
+          <caret line="61" column="43" lean-forward="false" selection-start-line="61" selection-start-column="43" selection-end-line="61" selection-end-column="43" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/map/data/TargettingStructure-test.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/map/AbstractCustomMap-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
+        <state relative-caret-position="273">
+          <caret line="321" column="6" lean-forward="false" selection-start-line="321" selection-start-column="6" selection-end-line="321" selection-end-column="6" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/test/js/map/CustomMap-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="162" column="0" lean-forward="false" selection-start-line="162" selection-start-column="0" selection-end-line="162" selection-end-column="0" />
+        <state relative-caret-position="221">
+          <caret line="634" column="24" lean-forward="false" selection-start-line="634" selection-start-column="24" selection-end-line="634" selection-end-column="24" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/ContextMenu.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/map/data/IdentifiedElement-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="306">
-          <caret line="18" column="30" lean-forward="false" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" />
+        <state relative-caret-position="370">
+          <caret line="145" column="20" lean-forward="false" selection-start-line="145" selection-start-column="20" selection-end-line="145" selection-end-column="20" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/GraphicsExportPanel.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="7" column="0" lean-forward="false" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
+        <state relative-caret-position="229">
+          <caret line="139" column="26" lean-forward="false" selection-start-line="139" selection-start-column="26" selection-end-line="139" selection-end-column="26" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/ProjectInfoPanel.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/OverlayPanel.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="48" lean-forward="false" selection-start-line="5" selection-start-column="48" selection-end-line="5" selection-end-column="48" />
-          <folding>
-            <marker date="1503674575853" expanded="true" signature="3501:3507" ph=" " />
-            <marker date="1503674575853" expanded="true" signature="4277:4283" ph=" " />
-            <marker date="1503674575853" expanded="true" signature="4786:4792" ph=" " />
-            <marker date="1503674575853" expanded="true" signature="5097:5103" ph=" " />
-          </folding>
+        <state relative-caret-position="221">
+          <caret line="321" column="84" lean-forward="false" selection-start-line="321" selection-start-column="84" selection-end-line="321" selection-end-column="84" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/overlay/AbstractDbOverlay.js">
+    <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="297">
+          <caret line="22" column="0" lean-forward="false" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/AbstractDbPanel.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/marker/AbstractMarker.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="102">
-          <caret line="6" column="17" lean-forward="false" selection-start-line="6" selection-start-column="17" selection-end-line="6" selection-end-column="17" />
+        <state relative-caret-position="467">
+          <caret line="91" column="2" lean-forward="false" selection-start-line="91" selection-start-column="2" selection-end-line="91" selection-end-column="2" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/CommentsAdminPanel.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="116">
-          <caret line="9" column="0" lean-forward="false" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
+        <state relative-caret-position="262">
+          <caret line="191" column="6" lean-forward="false" selection-start-line="191" selection-start-column="6" selection-end-line="191" selection-end-column="6" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/ServerConnector-test.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/GuiConnector.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="405">
-          <caret line="99" column="45" lean-forward="false" selection-start-line="99" selection-start-column="45" selection-end-line="99" selection-end-column="45" />
+        <state relative-caret-position="255">
+          <caret line="19" column="16" lean-forward="false" selection-start-line="19" selection-start-column="16" selection-end-line="19" selection-end-column="16" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js">
+    <entry file="file://$PROJECT_DIR$/node_modules/dual-listbox/dist/dual-listbox.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="201">
-          <caret line="699" column="0" lean-forward="false" selection-start-line="699" selection-start-column="0" selection-end-line="699" selection-end-column="0" />
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="374">
-          <caret line="22" column="0" lean-forward="false" selection-start-line="21" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
+        <state relative-caret-position="494">
+          <caret line="655" column="28" lean-forward="true" selection-start-line="655" selection-start-column="28" selection-end-line="655" selection-end-column="28" />
           <folding>
-            <marker date="1503674837752" expanded="true" signature="16590:16649" ph="..." />
-            <marker date="1503674837752" expanded="true" signature="19915:19974" ph="..." />
-            <marker date="1503674837752" expanded="true" signature="20782:20841" ph="..." />
+            <marker date="1503677591650" expanded="true" signature="16592:16651" ph="..." />
+            <marker date="1503677591650" expanded="true" signature="19917:19976" ph="..." />
+            <marker date="1503677591650" expanded="true" signature="20784:20843" ph="..." />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="685" column="29" lean-forward="false" selection-start-line="685" selection-start-column="29" selection-end-line="685" selection-end-column="29" />
+        <state relative-caret-position="340">
+          <caret line="919" column="18" lean-forward="true" selection-start-line="919" selection-start-column="18" selection-end-line="919" selection-end-column="18" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/window/PointInfoWindow.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/SessionData.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="451">
-          <caret line="41" column="0" lean-forward="false" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
+        <state relative-caret-position="221">
+          <caret line="55" column="17" lean-forward="false" selection-start-line="55" selection-start-column="17" selection-end-line="55" selection-end-column="17" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/window/ReactionInfoWindow.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/Configuration.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="17">
-          <caret line="14" column="41" lean-forward="false" selection-start-line="14" selection-start-column="41" selection-end-line="14" selection-end-column="41" />
+        <state relative-caret-position="229">
+          <caret line="41" column="27" lean-forward="false" selection-start-line="41" selection-start-column="27" selection-end-line="41" selection-end-column="27" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AliasInfoWindow.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/Functions.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="221">
-          <caret line="218" column="2" lean-forward="false" selection-start-line="218" selection-start-column="2" selection-end-line="218" selection-end-column="2" />
+          <caret line="70" column="9" lean-forward="false" selection-start-line="70" selection-start-column="9" selection-end-line="70" selection-end-column="9" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/data/IdentifiedElement.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/gui/OverviewDialog.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="337">
-          <caret line="102" column="29" lean-forward="false" selection-start-line="102" selection-start-column="29" selection-end-line="102" selection-end-column="29" />
+        <state relative-caret-position="229">
+          <caret line="195" column="65" lean-forward="false" selection-start-line="195" selection-start-column="65" selection-end-line="195" selection-end-column="65" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/AbstractExportPanel.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1482">
-          <caret line="96" column="31" lean-forward="false" selection-start-line="96" selection-start-column="31" selection-end-line="96" selection-end-column="31" />
+        <state relative-caret-position="153">
+          <caret line="9" column="42" lean-forward="false" selection-start-line="9" selection-start-column="42" selection-end-line="9" selection-end-column="42" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="235">
-          <caret line="187" column="31" lean-forward="false" selection-start-line="187" selection-start-column="31" selection-end-line="187" selection-end-column="31" />
-          <folding>
-            <marker date="1503676564911" expanded="true" signature="2208:2260" ph="..." />
-            <marker date="1503676564911" expanded="true" signature="3751:3783" ph="..." />
-            <marker date="1503676564911" expanded="true" signature="4157:4209" ph="..." />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/js/gui/Legend.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="459">
-          <caret line="34" column="5" lean-forward="true" selection-start-line="34" selection-start-column="5" selection-end-line="34" selection-end-column="5" />
+        <state relative-caret-position="229">
+          <caret line="64" column="48" lean-forward="false" selection-start-line="64" selection-start-column="48" selection-end-line="64" selection-end-column="48" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/test/js/gui/topMenu/TopMenu-test.js">
+    <entry file="file://$PROJECT_DIR$/src/main/js/map/window/AbstractInfoWindow.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="485">
-          <caret line="52" column="47" lean-forward="false" selection-start-line="52" selection-start-column="47" selection-end-line="52" selection-end-column="47" />
+        <state relative-caret-position="229">
+          <caret line="189" column="17" lean-forward="false" selection-start-line="189" selection-start-column="17" selection-end-line="189" selection-end-column="17" />
           <folding />
         </state>
       </provider>
diff --git a/frontend-js/src/main/js/Configuration.js b/frontend-js/src/main/js/Configuration.js
index dbd30aead7..d5d7899ec4 100644
--- a/frontend-js/src/main/js/Configuration.js
+++ b/frontend-js/src/main/js/Configuration.js
@@ -23,17 +23,17 @@ function Configuration(json) {
   }
 
   var legendFiles = [];
-  if (self.getOption("LENGEND_FILE_1") !== undefined) {
-    legendFiles.push(self.getOption("LENGEND_FILE_1"));
+  if (self.getOption("LEGEND_FILE_1") !== undefined) {
+    legendFiles.push(self.getOption("LEGEND_FILE_1"));
   }
-  if (self.getOption("LENGEND_FILE_2") !== undefined) {
-    legendFiles.push(self.getOption("LENGEND_FILE_2"));
+  if (self.getOption("LEGEND_FILE_2") !== undefined) {
+    legendFiles.push(self.getOption("LEGEND_FILE_2"));
   }
-  if (self.getOption("LENGEND_FILE_3") !== undefined) {
-    legendFiles.push(self.getOption("LENGEND_FILE_3"));
+  if (self.getOption("LEGEND_FILE_3") !== undefined) {
+    legendFiles.push(self.getOption("LEGEND_FILE_3"));
   }
-  if (self.getOption("LENGEND_FILE_4") !== undefined) {
-    legendFiles.push(self.getOption("LENGEND_FILE_4"));
+  if (self.getOption("LEGEND_FILE_4") !== undefined) {
+    legendFiles.push(self.getOption("LEGEND_FILE_4"));
   }
   self.setOption(ConfigurationType.LEGEND_FILES, legendFiles);
 
diff --git a/frontend-js/src/main/js/Functions.js b/frontend-js/src/main/js/Functions.js
index c2594abb15..f26951632a 100644
--- a/frontend-js/src/main/js/Functions.js
+++ b/frontend-js/src/main/js/Functions.js
@@ -32,8 +32,8 @@ Functions.radiansToDegrees = function(rad) {
 
 Functions.intToColorString = function(value) {
   /* jslint bitwise: true */
-  var timmedValue = (value & 0xFFFFFF);
-  var colorStr = timmedValue.toString(16);
+  var trimmedValue = (value & 0xFFFFFF);
+  var colorStr = trimmedValue.toString(16);
   while (colorStr.length < 6) {
     colorStr = "0" + colorStr;
   }
@@ -103,8 +103,8 @@ Functions.pointInsidePolygon = function(point, polygon) {
 };
 
 /**
- * In a browser variable we store inforamtion about browser user is currently
- * using. Right now only IE is suppoerted.
+ * In a browser variable we store information about browser user is currently
+ * using. Right now only IE is supported.
  */
 Functions.browser = {
   init : function() {
diff --git a/frontend-js/src/main/js/GuiConnector.js b/frontend-js/src/main/js/GuiConnector.js
index 746c773582..8fdf977c82 100644
--- a/frontend-js/src/main/js/GuiConnector.js
+++ b/frontend-js/src/main/js/GuiConnector.js
@@ -16,6 +16,8 @@ function GuiConnector() {
   this.xPos = 0;
   // coordinate of the mouse in a browser.
   this.yPos = 0;
+
+  this.getParams = [];
 }
 
 function returnThisOrSingleton(object) {
@@ -42,7 +44,7 @@ GuiConnector.prototype.init = function () {
   var isIE = /* @cc_on!@ */false || !!document.documentMode;
 
   if (isIE) {
-    alert("This webpage works well with Chrome, Firefox and Safari.");
+    alert("This web page works well with Chrome, Firefox and Safari.");
   }
   // bootstrap tab initialization
   $("ul.nav-tabs a").click(function (e) {
diff --git a/frontend-js/src/main/js/ObjectWithListeners.js b/frontend-js/src/main/js/ObjectWithListeners.js
index bcc2e9759c..485d77c41b 100644
--- a/frontend-js/src/main/js/ObjectWithListeners.js
+++ b/frontend-js/src/main/js/ObjectWithListeners.js
@@ -19,7 +19,7 @@ function ObjectWithListeners() {
  * @param type
  *          string defining type of the listener
  * @param fun
- *          function that should be thrown when type event occures
+ *          function that should be thrown when type event occurs
  */
 ObjectWithListeners.prototype.addListener = function(type, fun) {
   if (this._validListeners[type] === undefined) {
@@ -58,7 +58,7 @@ ObjectWithListeners.prototype.addPropertyChangeListener = function(name, fun) {
  * Register new type of listener.
  * 
  * @param type
- *          string identifing new type of listener
+ *          string identifying new type of listener
  */
 ObjectWithListeners.prototype.registerListenerType = function(type) {
   if (this._validListeners[type] !== undefined) {
@@ -71,7 +71,7 @@ ObjectWithListeners.prototype.registerListenerType = function(type) {
  * Register new property for listening.
  * 
  * @param name
- *          string identifing proeprty
+ *          string identifying property
  */
 ObjectWithListeners.prototype.registerPropertyType = function(name) {
   if (this._validPropertyListeners[name] !== undefined) {
@@ -86,7 +86,7 @@ ObjectWithListeners.prototype.registerPropertyType = function(name) {
  * @param type
  *          type of the listener
  * @param fun
- *          function that was call when event occred that should be removed
+ *          function that was call when event occurred that should be removed
  */
 ObjectWithListeners.prototype.removeListener = function(type, fun) {
   if (this._validListeners[type] === undefined) {
@@ -113,7 +113,7 @@ ObjectWithListeners.prototype.removeListener = function(type, fun) {
  * @param name
  *          name of the property
  * @param fun
- *          function that was call when event occred that should be removed
+ *          function that was call when event occurred that should be removed
  */
 ObjectWithListeners.prototype.removePropertyListener = function(name, fun) {
   if (this._validPropertyListeners[name] === undefined) {
@@ -171,12 +171,12 @@ ObjectWithListeners.prototype.getListeners = function(type) {
  * 
  * @param propertyName
  *          name of the property
- * @param oldval
+ * @param oldValue
  *          old value of the property
- * @param newval
+ * @param newValue
  *          new value of the property
  */
-ObjectWithListeners.prototype.firePropertyChangeListener = function(propertyName, oldval, newval) {
+ObjectWithListeners.prototype.firePropertyChangeListener = function(propertyName, oldValue, newValue) {
   var self = this;
   if (this._validPropertyListeners[propertyName] === undefined) {
     throw new Error("Unknown property type: " + propertyName);
@@ -188,8 +188,8 @@ ObjectWithListeners.prototype.firePropertyChangeListener = function(propertyName
       var e = {
         propertyName : propertyName,
         object : self,
-        oldVal : oldval,
-        newVal : newval,
+        oldVal : oldValue,
+        newVal : newValue,
       };
       promises.push(listenerList[i](e));
     }
diff --git a/frontend-js/src/main/js/gui/AbstractGuiElement.js b/frontend-js/src/main/js/gui/AbstractGuiElement.js
index 6f52b63cd0..e83a90d4a2 100644
--- a/frontend-js/src/main/js/gui/AbstractGuiElement.js
+++ b/frontend-js/src/main/js/gui/AbstractGuiElement.js
@@ -59,10 +59,10 @@ AbstractGuiElement.prototype.getProject = function() {
 
 AbstractGuiElement.prototype.setControlElement = function(type, element) {
   if (type === null || type === undefined) {
-    throw new Error("Unknown controle element type");
+    throw new Error("Unknown control element type");
   }
   if (PanelControlElementType[type] === undefined) {
-    throw new Error("Unknown controle element type: " + type);
+    throw new Error("Unknown control element type: " + type);
   }
 
   this._controlElements[type] = element;
@@ -70,10 +70,10 @@ AbstractGuiElement.prototype.setControlElement = function(type, element) {
 
 AbstractGuiElement.prototype.getControlElement = function(type) {
   if (type === null || type === undefined) {
-    throw new Error("Unknown controle element type");
+    throw new Error("Unknown control element type");
   }
   if (PanelControlElementType[type] === undefined) {
-    throw new Error("Unknown controle element type: " + type);
+    throw new Error("Unknown control element type: " + type);
   }
 
   return this._controlElements[type];
diff --git a/frontend-js/src/main/js/gui/Legend.js b/frontend-js/src/main/js/gui/Legend.js
index 53d386109b..860f60cc79 100644
--- a/frontend-js/src/main/js/gui/Legend.js
+++ b/frontend-js/src/main/js/gui/Legend.js
@@ -34,7 +34,7 @@ Legend.prototype._initializeGui = function() {
     className : "carousel-indicators",
   });
   legendDiv.appendChild(indicators);
-  self.setControlElement(PanelControlElementType.LEGEND_INDICATIORS_OL, indicators);
+  self.setControlElement(PanelControlElementType.LEGEND_INDICATORS_OL, indicators);
 
   var slidesDiv = Functions.createElement({
     type : "div",
@@ -101,7 +101,7 @@ function createLegendSlide(file, index) {
 Legend.prototype.init = function() {
   var self = this;
   var element = self.getElement();
-  var menu = self.getControlElement(PanelControlElementType.LEGEND_INDICATIORS_OL);
+  var menu = self.getControlElement(PanelControlElementType.LEGEND_INDICATORS_OL);
   var slides = self.getControlElement(PanelControlElementType.LEGEND_SLIDES_DIV);
   return ServerConnector.getConfigurationParam(ConfigurationType.LEGEND_FILES).then(function(legendFiles) {
     for (var i = 0; i < legendFiles.length; i++) {
diff --git a/frontend-js/src/main/js/gui/LoginDialog.js b/frontend-js/src/main/js/gui/LoginDialog.js
index 253170dfc2..9f44852257 100644
--- a/frontend-js/src/main/js/gui/LoginDialog.js
+++ b/frontend-js/src/main/js/gui/LoginDialog.js
@@ -18,7 +18,7 @@ function LoginDialog(params) {
   var loginButton = self.getControlElement(PanelControlElementType.USER_TAB_LOGIN_BUTTON);
   loginButton.onclick = function () {
     var login = self.getControlElement(PanelControlElementType.USER_TAB_LOGIN_INPUT_TEXT).value;
-    var password = self.getControlElement(PanelControlElementType.USER_TAB_PASSOWRD_INPUT_TEXT).value;
+    var password = self.getControlElement(PanelControlElementType.USER_TAB_PASSWORD_INPUT_TEXT).value;
 
     return ServerConnector.login(login, password).then(function () {
       window.location.reload(false);
@@ -86,7 +86,7 @@ LoginDialog.prototype._createLoginTab = function () {
     style: "width:100%",
     name: "passwordText"
   });
-  this.setControlElement(PanelControlElementType.USER_TAB_PASSOWRD_INPUT_TEXT, passwordInput);
+  this.setControlElement(PanelControlElementType.USER_TAB_PASSWORD_INPUT_TEXT, passwordInput);
 
   authorizationFormTab.appendChild(self.createTableRow([passwordLabel, passwordInput]));
 
diff --git a/frontend-js/src/main/js/gui/OverviewDialog.js b/frontend-js/src/main/js/gui/OverviewDialog.js
index 9f59235c22..a791a8b189 100644
--- a/frontend-js/src/main/js/gui/OverviewDialog.js
+++ b/frontend-js/src/main/js/gui/OverviewDialog.js
@@ -72,7 +72,7 @@ OverviewDialog.prototype.showOverview = function(overviewImageId) {
 
   var ratio = 1.0;
 
-  // check how image should be resized to fit dialog and resize it manually!!!
+  // check how image should be re-sized to fit dialog and resize it manually!!!
   if (width / this.overviewImage.width > height / this.overviewImage.height) {
     this.overviewImageTag.style.height = height + "px";
     ratio = height / this.overviewImage.height;
@@ -86,7 +86,7 @@ OverviewDialog.prototype.showOverview = function(overviewImageId) {
   }
 
   // on click event (what should happen when we click on the image)
-  var onclickevent = function getClickPosition(e) {
+  var onClickEvent = function getClickPosition(e) {
     var parentPosition = functions.getPosition(e.currentTarget);
     var xPosition = e.clientX - parentPosition.x;
     var yPosition = e.clientY - parentPosition.y;
@@ -117,16 +117,16 @@ OverviewDialog.prototype.showOverview = function(overviewImageId) {
     }
   };
 
-  this.overviewImageTag.onclick = onclickevent;
+  this.overviewImageTag.onclick = onClickEvent;
 
-  // resize canvas where on mouse over highligh will appear
+  // resize canvas where on mouse over highlight will appear
 
   // in debug mode draw clickable shapes
   if (map.isDebug()) {
     canvasDebug.style.display = "";
     canvasDebug.width = width;
     canvasDebug.height = height;
-    canvasDebug.onclick = onclickevent;
+    canvasDebug.onclick = onClickEvent;
     this.drawClickableShapes(canvasDebug, ratio);
   }
 
@@ -136,9 +136,9 @@ OverviewDialog.prototype.showOverview = function(overviewImageId) {
   };
 
   // this listener should be called when mouse moves over image, it purpose is
-  // to change coursor to pointer when mouse enters clickable polygon and back
+  // to change cursor to pointer when mouse enters clickable polygon and back
   // to normal when mouse leaves such region
-  var onmousemove = function getMouseOverPosition(e) {
+  var onMouseMove = function getMouseOverPosition(e) {
     var position = functions.getPosition(e.currentTarget);
     position.x = e.clientX - position.x;
     position.y = e.clientY - position.y;
@@ -170,11 +170,11 @@ OverviewDialog.prototype.showOverview = function(overviewImageId) {
     }
   };
 
-  // onmousemove listener should be assigned to canvas (which is on top of the
-  // image) and overviewimage (just in case something went wrong with resizing
+  // onMouseMove listener should be assigned to canvas (which is on top of the
+  // image) and overviewImage (just in case something went wrong with resizing
   // canvas)
-  canvasDebug.onmousemove = onmousemove;
-  this.overviewImageTag.onmousemove = onmousemove;
+  canvasDebug.onmousemove = onMouseMove;
+  this.overviewImageTag.onmousemove = onMouseMove;
 
   $(self.getElement()).dialog("open");
 };
diff --git a/frontend-js/src/main/js/gui/Panel.js b/frontend-js/src/main/js/gui/Panel.js
index 4daa6ce710..f609e491b9 100644
--- a/frontend-js/src/main/js/gui/Panel.js
+++ b/frontend-js/src/main/js/gui/Panel.js
@@ -99,7 +99,7 @@ Panel.prototype.disablePanel = function (message) {
     self.getElement().insertBefore(hideReasonDiv, searchQueryElement);
 };
 
-Panel.prototype.isDisbaled = function () {
+Panel.prototype.isDisabled = function () {
     var self = this;
     var searchQueryElement = self.getControlElement(PanelControlElementType.SEARCH_DIV);
     return searchQueryElement.style.visibility === "hidden";
diff --git a/frontend-js/src/main/js/gui/PanelControlElementType.js b/frontend-js/src/main/js/gui/PanelControlElementType.js
index f45e90114a..6b2347f96d 100644
--- a/frontend-js/src/main/js/gui/PanelControlElementType.js
+++ b/frontend-js/src/main/js/gui/PanelControlElementType.js
@@ -20,7 +20,7 @@ var PanelControlElementType = {
 
   USER_TAB_LOGIN_DIV : "USER_TAB_LOGIN_DIV",
   USER_TAB_LOGIN_INPUT_TEXT : "USER_TAB_LOGIN_INPUT_TEXT",
-  USER_TAB_PASSOWRD_INPUT_TEXT : "USER_TAB_PASSOWRD_INPUT_TEXT",
+  USER_TAB_PASSWORD_INPUT_TEXT : "USER_TAB_PASSWORD_INPUT_TEXT",
   USER_TAB_LOGIN_BUTTON : "USER_TAB_LOGIN_BUTTON",
 
   USER_TAB_USER_DIV : "USER_TAB_USER_DIV",
@@ -36,12 +36,12 @@ var PanelControlElementType = {
   INFO_DIV : "INFO_DIV",
   INFO_PROJECT_NAME_TEXT : "INFO_PROJECT_NAME_TEXT",
   INFO_PROJECT_VERSION_TEXT : "INFO_PROJECT_VERSION_TEXT",
-  INFO_PROJECT_DESCRIOPTION_TEXT : "INFO_PROJECT_DESCRIOPTION_TEXT",
+  INFO_PROJECT_DESCRIPTION_TEXT : "INFO_PROJECT_DESCRIPTION_TEXT",
   INFO_PROJECT_PUBLICATIONS_TEXT : "INFO_PROJECT_PUBLICATIONS_TEXT",
   INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON : "INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON",
   INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON : "INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON",
 
-  LEGEND_INDICATIORS_OL : "LEGEND_INDICATIORS_OL",
+  LEGEND_INDICATORS_OL : "LEGEND_INDICATORS_OL",
   LEGEND_SLIDES_DIV : "LEGEND_SLIDES_DIV",
 
   MENU_LEGEND_CHECKBOX : "MENU_LEGEND_CHECKBOX",
diff --git a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
index 2cb3751678..0e329cb5f5 100644
--- a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
@@ -193,7 +193,7 @@ AbstractPanel.prototype.getAutocomplete = function() {
 };
 
 AbstractPanel.prototype.searchByQuery = function() {
-  throw new Error("searchByQuery is not implemnted");
+  throw new Error("searchByQuery is not implemented");
 };
 
 AbstractPanel.prototype.addResultTab = function(query, elements) {
diff --git a/frontend-js/src/main/js/gui/leftPanel/ChemicalPanel.js b/frontend-js/src/main/js/gui/leftPanel/ChemicalPanel.js
index e7cda7127e..b9302e8c6f 100644
--- a/frontend-js/src/main/js/gui/leftPanel/ChemicalPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/ChemicalPanel.js
@@ -39,7 +39,7 @@ ChemicalPanel.prototype.createPreamble = function (chemical) {
         result.appendChild(guiUtils.createArrayParamLine("Synonyms: ", chemical.getSynonyms()));
         result.appendChild(guiUtils.createParamLine("Direct Evidence: ", chemical.getDirectEvidence()));
         result.appendChild(guiUtils
-            .createAnnotations("Directe Evidence Publications: ", chemical.getDirectEvidenceReferences()));
+            .createAnnotations("Direct Evidence Publications: ", chemical.getDirectEvidenceReferences()));
         result.appendChild(guiUtils.createAnnotations("Sources: ", chemical.getReferences()));
         result.appendChild(guiUtils.createNewLine());
     }
diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
index 17bd7acaae..8c6f1b1208 100644
--- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
+++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
@@ -367,7 +367,7 @@ GuiUtils.prototype.createAliasElement = function(params) {
   div.appendChild(self.createParamLine("Abbreviation: ", alias.getAbbreviation()));
   div.appendChild(self.createParamLine("Formula: ", alias.getFormula()));
   div.appendChild(self.createArrayParamLine("Former symbols: ", alias.getFormerSymbols()));
-  div.appendChild(self.createPostTranslationalModifications("Posttranslational modifications: ", alias
+  div.appendChild(self.createPostTranslationalModifications("PostTranslational modifications: ", alias
       .getOther('modifications')));
   div.appendChild(self.createParamLine("Charge: ", alias.getCharge()));
   div.appendChild(self.createArrayParamLine("Synonyms: ", alias.getSynonyms()));
diff --git a/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js b/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js
index 9bc1f1f5cc..caaee15f75 100644
--- a/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js
@@ -115,9 +115,9 @@ LeftPanel.prototype.getPanelsDefinition = function () {
 
 LeftPanel.prototype.hideTab = function (panel) {
     var self = this;
-    var panelDeifinitions = self.getPanelsDefinition();
-    for (var i = 0; i < panelDeifinitions.length; i++) {
-        if (panel instanceof panelDeifinitions[i].panelClass) {
+    var panelDefinitions = self.getPanelsDefinition();
+    for (var i = 0; i < panelDefinitions.length; i++) {
+        if (panel instanceof panelDefinitions[i].panelClass) {
             var liElement = $("li:has(a[href='#left_panel_tab_" + i + "'])", $(self.getElement()))[0];
             if (liElement !== undefined) {
                 liElement.style.display = "none";
diff --git a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
index 3dd1442ed7..f0ca0ae29d 100644
--- a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
+++ b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
@@ -162,7 +162,7 @@ PublicationListDialog.prototype.getColumnsDefinition = function () {
   }, {
     orderable: false,
     searchable: false,
-    name: "elemnts"
+    name: "elements"
   }];
 };
 
diff --git a/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js b/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
index 5726cba066..ab9b88c9e2 100644
--- a/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
@@ -78,9 +78,9 @@ SearchPanel.prototype.getPanelsDefinition = function() {
 
 SearchPanel.prototype.hideTab = function(panel) {
   var self = this;
-  var panelDeifinitions = self.getPanelsDefinition();
-  for (var i = 0; i < panelDeifinitions.length; i++) {
-    if (panel instanceof panelDeifinitions[i].panelClass) {
+  var panelDefinitions = self.getPanelsDefinition();
+  for (var i = 0; i < panelDefinitions.length; i++) {
+    if (panel instanceof panelDefinitions[i].panelClass) {
       var liElement = $("li:has(a[href='#search_panel_tab_" + i + "'])", $(self.getElement()))[0];
       if (liElement !== undefined) {
         liElement.style.display = "none";
diff --git a/frontend-js/src/main/js/gui/topMenu/TopMenu.js b/frontend-js/src/main/js/gui/topMenu/TopMenu.js
index 9fa110dd8f..d498e1a9b1 100644
--- a/frontend-js/src/main/js/gui/topMenu/TopMenu.js
+++ b/frontend-js/src/main/js/gui/topMenu/TopMenu.js
@@ -235,6 +235,6 @@ TopMenu.prototype.toggleLegend = function () {
   } else {
     legend.hide();
   }
-}
+};
 
 module.exports = TopMenu;
\ No newline at end of file
diff --git a/frontend-js/src/main/js/map/AbstractCustomMap.js b/frontend-js/src/main/js/map/AbstractCustomMap.js
index e369a51410..b00554dfa2 100644
--- a/frontend-js/src/main/js/map/AbstractCustomMap.js
+++ b/frontend-js/src/main/js/map/AbstractCustomMap.js
@@ -35,7 +35,7 @@ function AbstractCustomMap(model, options) {
   // layout)
   this.selectedLayoutOverlays = [];
 
-  // following fields are used in conversion between x,y coordinates and latlng
+  // following fields are used in conversion between x,y coordinates and lat,lng
   // coordinates
   this.pixelOrigin_ = new google.maps.Point(this.getTileSize() / 2, this.getTileSize() / 2);
   this.pixelsPerLonDegree_ = this.getTileSize() / 360;
@@ -57,7 +57,7 @@ function AbstractCustomMap(model, options) {
   // elements in the client
   this._drawingManager = null;
 
-  // this is the polgyon that was selected (clicked) last time on the map
+  // this is the polygon that was selected (clicked) last time on the map
   this._selectedArea = null;
 
   // markers should be optimized by default,
@@ -95,7 +95,7 @@ AbstractCustomMap.prototype.setupLayouts = function () {
  * Creates general google maps options used in this map.
  *
  */
-AbstractCustomMap.prototype.creatMapOptions = function () {
+AbstractCustomMap.prototype.createMapOptions = function () {
   var self = this;
 
   var centerPoint = this.getModel().getCenterLatLng();
@@ -224,24 +224,24 @@ AbstractCustomMap.prototype.getMouseLatLng = function () {
  * @param pixels
  *          x,y distance in pixels
  * @param zoomLevel
- *          at which zoom level this pixels where mesaured
+ *          at which zoom level this pixels where measured
  *
  */
 AbstractCustomMap.prototype.fromPixelsToPoint = function (pixels, zoomLevel) {
   var zoomScale = this.getPictureSize() / (Math.pow(2, zoomLevel - this.getMinZoom()) * this.getTileSize());
-  var pointx = pixels.x * zoomScale;
-  var pointy = pixels.y * zoomScale;
-  return new google.maps.Point(pointx, pointy);
+  var pointX = pixels.x * zoomScale;
+  var pointY = pixels.y * zoomScale;
+  return new google.maps.Point(pointX, pointY);
 };
 
 /**
  * Transforms coordinates on the map from google.maps.LatLng to
  * google.maps.Point
  *
- * @param latlng
- *          cooordinates in x,y format
- * @param coordinates
+ * @param latLng
  *          in lat,lng format
+ * @param coordinates in x,y format
+ *
  */
 AbstractCustomMap.prototype.fromLatLngToPoint = function (latLng) {
   var me = this;
@@ -268,7 +268,7 @@ AbstractCustomMap.prototype.fromLatLngToPoint = function (latLng) {
  *
  * @param point
  *          coordinates in standard x,y format
- * @return cooordinates in lat,lng format
+ * @return coordinates in lat,lng format
  */
 AbstractCustomMap.prototype.fromPointToLatLng = function (point) {
   var me = this;
@@ -288,11 +288,11 @@ AbstractCustomMap.prototype.fromPointToLatLng = function (point) {
  * mouse clicked).
  *
  *
- * @param latlng
+ * @param latLng
  *          coordinates in latlng format
  * @param z
  *          zoom level at which we want to find coordinates of tile
- * @return cooordinates of a tile
+ * @return coordinates of a tile
  */
 AbstractCustomMap.prototype.latLngToTile = function (latLng, z) {
   var worldCoordinate = this.fromLatLngToPoint(latLng);
@@ -831,7 +831,7 @@ AbstractCustomMap.prototype._createMapChangedCallbacks = function () {
   google.maps.event.addListener(this.getGoogleMap(), 'zoom_changed', function () {
     sessionData.setZoomLevel(self.getModel(), self.getGoogleMap().getZoom());
   });
-  // listener for changing location of the map (moving left/reght/top/bottom
+  // listener for changing location of the map (moving left/right/top/bottom
   google.maps.event.addListener(this.getGoogleMap(), 'center_changed', function () {
     var coord = self.getGoogleMap().getCenter();
     var point = self.fromLatLngToPoint(coord);
@@ -901,11 +901,11 @@ AbstractCustomMap.prototype.getPictureSize = function () {
 };
 
 /**
- * Returns array containining elements that are presented on a specific layout
+ * Returns array containing elements that are presented on a specific layout
  * (set of google map objects representing lines/areas that are associated with
  * layout).
  *
- * @returns {Array} containining elements that are presented on a specific
+ * @returns {Array} containing elements that are presented on a specific
  *          layout (set of google map objects representing lines/areas that are
  *          associated with layout).
  */
@@ -926,8 +926,8 @@ AbstractCustomMap.prototype.getGoogleMap = function () {
  * Sets google.maps.map object used to representing data.
  *
  */
-AbstractCustomMap.prototype.setGoogleMap = function (gmap) {
-  this._map = gmap;
+AbstractCustomMap.prototype.setGoogleMap = function (googleMap) {
+  this._map = googleMap;
 };
 
 AbstractCustomMap.prototype.isMarkerOptimization = function () {
diff --git a/frontend-js/src/main/js/map/CustomMap.js b/frontend-js/src/main/js/map/CustomMap.js
index eff8da6fa6..f5f8533613 100644
--- a/frontend-js/src/main/js/map/CustomMap.js
+++ b/frontend-js/src/main/js/map/CustomMap.js
@@ -158,7 +158,7 @@ CustomMap.prototype.clearDbOverlays = function () {
  * Open data overlay given in the parameter.
  *
  * @param param
- *          identifier or LayoutData identifing data overlay to open
+ *          identifier or LayoutData identifying data overlay to open
  */
 CustomMap.prototype.openDataOverlay = function (param) {
   logger.debug("Opening data overlay: " + param);
@@ -414,7 +414,7 @@ CustomMap.prototype.openSubmap = function (id) {
 };
 
 CustomMap.prototype.customizeGoogleMapView = function (div) {
-  var mapOptions = this.creatMapOptions();
+  var mapOptions = this.createMapOptions();
   this.setGoogleMap(new google.maps.Map(div, mapOptions));
   this.setupLayouts();
 
@@ -481,7 +481,7 @@ CustomMap.prototype.createMapChangedCallbacks = function () {
  *
  * @param identifier
  *          identifier of the submap
- * @returns AbstractCustomMap (submap or this map) with given identfier of the model
+ * @returns AbstractCustomMap (submap or this map) with given identifier of the model
  */
 CustomMap.prototype.getSubmapById = function (identifier) {
   identifier = parseInt(identifier);
@@ -800,7 +800,7 @@ CustomMap.prototype.openInfoWindowForIdentifiedElement = function (element, mark
 };
 
 /**
- * Sends requestes to download detailed data about element in all
+ * Sends requests to download detailed data about element in all
  * {@link OverlayCollection}.
  *
  * @param element
@@ -851,7 +851,7 @@ CustomMap.prototype.updateInfoWindowForIdentifiedElement = function (identifiedE
  *          {@link Alias} for which overlay data will be returned
  * @param general
  *          if true then all elements will be returned, if false then only ones
- *          availble right now in the overlay
+ *          available right now in the overlay
  * @returns data from all {@link OverlayCollection} for a given alias
  */
 CustomMap.prototype.getOverlayDataForAlias = function (alias, general) {
@@ -866,7 +866,7 @@ CustomMap.prototype.getOverlayDataForAlias = function (alias, general) {
  *          {@link Reaction} for which overlay data will be returned
  * @param general
  *          if true then all elements will be returned, if false then only ones
- *          availble right now in the overlay
+ *          available right now in the overlay
  * @returns data from all {@link OverlayCollection} for a given alias
  */
 CustomMap.prototype.getOverlayDataForReaction = function (reaction, general) {
diff --git a/frontend-js/src/main/js/map/Submap.js b/frontend-js/src/main/js/map/Submap.js
index 4ce6afb62c..6ab2182991 100644
--- a/frontend-js/src/main/js/map/Submap.js
+++ b/frontend-js/src/main/js/map/Submap.js
@@ -37,13 +37,10 @@ Submap.prototype.constructor = Submap;
 
 /**
  * This method initializes submap with gui component. Before this point submap
- * is created and contains data, but cannot be visualized in the broswer.
+ * is created and contains data, but cannot be visualized in the browser.
  *
  * @param htmlTag
  *          html div tag where google map should be placed
- * @param jsVar
- *          javascript component of primefaces popup dialog where submap will be
- *          visualized
  */
 Submap.prototype.open = function (htmlTag) {
     var self = this;
@@ -51,7 +48,7 @@ Submap.prototype.open = function (htmlTag) {
     if (!this.initialized) {
         self.htmlTag = htmlTag;
 
-        var mapOptions = self.creatMapOptions(self.getLayouts().length);
+        var mapOptions = self.createMapOptions(self.getLayouts().length);
 
         var contentDiv = document.createElement("div");
         contentDiv.setAttribute("name", "submap-div-" + self.getId());
diff --git a/frontend-js/src/main/js/map/data/Alias.js b/frontend-js/src/main/js/map/data/Alias.js
index a13785067d..d785c3dc6b 100644
--- a/frontend-js/src/main/js/map/data/Alias.js
+++ b/frontend-js/src/main/js/map/data/Alias.js
@@ -6,7 +6,7 @@ var BioEntity = require("./BioEntity");
  * Class representing alias data.
  * 
  * @param javaObject
- *          object deserialized ajax query to the server side
+ *          object de-serialized ajax query to the server side
  */
 function Alias(javaObject) {
   BioEntity.call(this, javaObject);
@@ -39,7 +39,7 @@ Alias.prototype.constructor = Alias;
 
 /**
  * Updates alias with full data information. This function should be called when
- * full informatin about alias is retrieved from server.
+ * full information about alias is retrieved from server.
  * 
  * @param javaObject
  *          object representing data from server side
diff --git a/frontend-js/src/main/js/map/data/BioEntity.js b/frontend-js/src/main/js/map/data/BioEntity.js
index f5e74463f7..a811be4c2c 100644
--- a/frontend-js/src/main/js/map/data/BioEntity.js
+++ b/frontend-js/src/main/js/map/data/BioEntity.js
@@ -6,7 +6,7 @@ var Annotation = require("./Annotation");
  * Class representing BioEntity.
  * 
  * @param javaObject
- *          object deserialized ajax query to the server side
+ *          object de-serialized ajax query to the server side
  */
 function BioEntity() {
 }
diff --git a/frontend-js/src/main/js/map/data/Chemical.js b/frontend-js/src/main/js/map/data/Chemical.js
index 1a9c79e733..51ce30b53c 100644
--- a/frontend-js/src/main/js/map/data/Chemical.js
+++ b/frontend-js/src/main/js/map/data/Chemical.js
@@ -18,18 +18,18 @@ function Chemical(javaObject) {
 Chemical.prototype = Object.create(TargettingStructure.prototype);
 Chemical.prototype.constructor = Chemical;
 
-Chemical.prototype.setDirectEvidence = function(directeEvidence) {
-  this._directeEvidence = directeEvidence;
+Chemical.prototype.setDirectEvidence = function(directEvidence) {
+  this._directEvidence = directEvidence;
 };
 
 Chemical.prototype.getDirectEvidence = function() {
-  return this._directeEvidence;
+  return this._directEvidence;
 };
 
 Chemical.prototype.setDirectEvidenceReferences = function(directeEvidenceReferences) {
-  this._directeEvidenceReferences = [];
+  this._directEvidenceReferences = [];
   for (var i = 0; i < directeEvidenceReferences.length; i++) {
-    this._directeEvidenceReferences.push(new Annotation(directeEvidenceReferences[i]));
+    this._directEvidenceReferences.push(new Annotation(directeEvidenceReferences[i]));
   }
 };
 
diff --git a/frontend-js/src/main/js/map/data/IdentifiedElement.js b/frontend-js/src/main/js/map/data/IdentifiedElement.js
index 25733acd23..f3ea74283d 100644
--- a/frontend-js/src/main/js/map/data/IdentifiedElement.js
+++ b/frontend-js/src/main/js/map/data/IdentifiedElement.js
@@ -78,7 +78,7 @@ function IdentifiedElement(javaObject) {
  * Returns point where it should be visualized when the type of object is
  * "POINT".
  * 
- * @returns {@linke google.maps.Point} where it should be visualized when the
+ * @returns {@link google.maps.Point} where it should be visualized when the
  *          type of object is "POINT".
  */
 IdentifiedElement.prototype.getPoint = function() {
diff --git a/frontend-js/src/main/js/map/data/LayoutAlias.js b/frontend-js/src/main/js/map/data/LayoutAlias.js
index f8404122aa..7527d6ec95 100644
--- a/frontend-js/src/main/js/map/data/LayoutAlias.js
+++ b/frontend-js/src/main/js/map/data/LayoutAlias.js
@@ -6,7 +6,7 @@ var GeneVariant = require('./GeneVariant');
  * Class representing alias visualized in a layout.
  * 
  * @param javaObject
- *          object deserialized ajax query to the server side
+ *          object de-serialized ajax query to the server side
  */
 function LayoutAlias(javaObject) {
   this.setId(javaObject.idObject);
@@ -86,7 +86,7 @@ LayoutAlias.prototype.setGeneVariants = function(newGeneVariants) {
 
 LayoutAlias.prototype.update = function(alias) {
   if (!(alias instanceof LayoutAlias)) {
-    throw new Error("Unknown paramter type: " + alias);
+    throw new Error("Unknown parameter type: " + alias);
   }
 
   this.setValue(alias.getValue());
diff --git a/frontend-js/src/main/js/map/data/LayoutData.js b/frontend-js/src/main/js/map/data/LayoutData.js
index e502f6d1b5..8d8c29ba94 100644
--- a/frontend-js/src/main/js/map/data/LayoutData.js
+++ b/frontend-js/src/main/js/map/data/LayoutData.js
@@ -16,7 +16,7 @@ function LayoutData(layoutId, name) {
   this.setInitialized(false);
 
   if (name === undefined) {
-    // from jsonified structure
+    // from json structure
     var object = layoutId;
     this.setId(object.idObject);
     this.setName(object.name);
diff --git a/frontend-js/src/main/js/map/data/LayoutReaction.js b/frontend-js/src/main/js/map/data/LayoutReaction.js
index f7cca0fdf3..58d3dfd3b6 100644
--- a/frontend-js/src/main/js/map/data/LayoutReaction.js
+++ b/frontend-js/src/main/js/map/data/LayoutReaction.js
@@ -4,7 +4,7 @@
  * Class representing reaction visualized in a layout.
  * 
  * @param javaObject
- *          object deserialized from ajax query to the server side
+ *          object de-serialized from ajax query to the server side
  */
 function LayoutReaction(javaObject) {
   this.setId(javaObject.idObject);
diff --git a/frontend-js/src/main/js/map/data/Reaction.js b/frontend-js/src/main/js/map/data/Reaction.js
index 8e54bb475b..ba28f59d4b 100644
--- a/frontend-js/src/main/js/map/data/Reaction.js
+++ b/frontend-js/src/main/js/map/data/Reaction.js
@@ -11,7 +11,7 @@ var logger = require('../../logger');
  * Class representing reaction data.
  * 
  * @param javaObject
- *          object deserialized from ajax query to the server side
+ *          object de-serialized from ajax query to the server side
  */
 function Reaction(javaObject) {
   BioEntity.call(this, javaObject);
diff --git a/frontend-js/src/main/js/map/marker/AliasMarker.js b/frontend-js/src/main/js/map/marker/AliasMarker.js
index 26fda035d9..7fb256fde0 100644
--- a/frontend-js/src/main/js/map/marker/AliasMarker.js
+++ b/frontend-js/src/main/js/map/marker/AliasMarker.js
@@ -32,9 +32,9 @@ AliasMarker.prototype.setAliasData = function(data) {
 };
 
 /**
- * Returns coordinates where marker is poiting.
+ * Returns coordinates where marker is pointing.
  * 
- * @returns {google.maps.Point} - coordinates where marker is poiting
+ * @returns {google.maps.Point} - coordinates where marker is pointing
  */
 AliasMarker.prototype.getCoordinates = function() {
   return new google.maps.Point(this._aliasData.x + this._aliasData.width / 2, this._aliasData.y
diff --git a/frontend-js/src/main/js/map/marker/ReactionMarker.js b/frontend-js/src/main/js/map/marker/ReactionMarker.js
index 10a1b82f7b..4ebe4248a9 100644
--- a/frontend-js/src/main/js/map/marker/ReactionMarker.js
+++ b/frontend-js/src/main/js/map/marker/ReactionMarker.js
@@ -42,9 +42,9 @@ ReactionMarker.prototype.setReactionData = function(data) {
 };
 
 /**
- * Returns coordinates where marker is poiting.
+ * Returns coordinates where marker is pointing.
  * 
- * @returns {google.maps.Point} - coordinates where marker is poiting
+ * @returns {google.maps.Point} - coordinates where marker is pointing
  */
 ReactionMarker.prototype.getCoordinates = function() {
   return new google.maps.Point(this._reactionData.getCenter().x, this._reactionData.getCenter().y);
diff --git a/frontend-js/src/main/js/map/surface/AliasSurface.js b/frontend-js/src/main/js/map/surface/AliasSurface.js
index b6cb975357..58c38c691e 100644
--- a/frontend-js/src/main/js/map/surface/AliasSurface.js
+++ b/frontend-js/src/main/js/map/surface/AliasSurface.js
@@ -28,9 +28,9 @@ AliasSurface.prototype.constructor = AliasSurface;
 
 AliasSurface.prototype.setColor = function(color) {
   this._color = color;
-  var gmapObjects = this.getGoogleMapObjects();
-  for (var i = 0; i < gmapObjects.length; i++) {
-    gmapObjects[i].setOptions({
+  var googleMapObjects = this.getGoogleMapObjects();
+  for (var i = 0; i < googleMapObjects.length; i++) {
+    googleMapObjects[i].setOptions({
       strokeColor : color,
     });
   }
@@ -42,9 +42,9 @@ AliasSurface.prototype.setColor = function(color) {
  * visualization.
  * 
  * @param startX
- *          value between 0..1 defininf where should be the start on OX axis
+ *          value between 0..1 defining where should be the start on OX axis
  * @param endX
- *          value between 0..1 defininf where should be the end on OX axis
+ *          value between 0..1 defining where should be the end on OX axis
  */
 AliasSurface.prototype.setBoundsForAlias = function(startX, endX) {
   var pointA = new google.maps.Point(this.aliasData.x + startX * this.aliasData.width, this.aliasData.y);
diff --git a/frontend-js/src/main/js/map/surface/ReactionSurface.js b/frontend-js/src/main/js/map/surface/ReactionSurface.js
index 0a4432fdc9..a722520568 100644
--- a/frontend-js/src/main/js/map/surface/ReactionSurface.js
+++ b/frontend-js/src/main/js/map/surface/ReactionSurface.js
@@ -154,7 +154,7 @@ ReactionSurface.prototype.setBoundsForAlias = function(startX, endX) {
   if (this.isCustomized() && (startX > 0 || endX < 1)) {
     this.changedToDefault();
   } else if (!this.isCustomized() && (startX <= 0 && endX >= 1)) {
-    this.changedToCustimzed();
+    this.changedToCustomized();
   }
 };
 
@@ -176,7 +176,7 @@ ReactionSurface.prototype.changedToDefault = function() {
  * Changes visualization of the ReactionSurface to customized mode where we mark
  * reaction as highlighted with customized reaction layout data.
  */
-ReactionSurface.prototype.changedToCustimzed = function() {
+ReactionSurface.prototype.changedToCustomized = function() {
   for (var i = 0; i < this.getGoogleMapObjects().length; i++) {
     this.getGoogleMapObjects()[i].setOptions({
       strokeColor : this.getColor(),
@@ -196,7 +196,7 @@ ReactionSurface.prototype.changedToCustimzed = function() {
  * @param width
  *          width that should be used for visualization of the line
  * @param map
- *          {google.maps.Map} where line shoul dbe visualized
+ *          {google.maps.Map} where line should be visualized
  * @returns {google.maps.Polyline} from input data
  */
 ReactionSurface.createLine = function(line, color, width, map) {
diff --git a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
index 23ddf813c4..7b0378b139 100644
--- a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
+++ b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
@@ -224,7 +224,7 @@ AbstractInfoWindow.prototype.createOverlayInfoDiv = function (overlay, data) {
  * Creates and returns div for drug overlay information.
  *
  * @param data
- *          data taken from drug iverlay
+ *          data taken from drug overlay
  * @returns {String} with a div for drug overlay information
  */
 AbstractInfoWindow.prototype._createDrugInfoDiv = function (overlay, data) {
@@ -239,7 +239,7 @@ AbstractInfoWindow.prototype._createDrugInfoDiv = function (overlay, data) {
  * Creates and returns div for comment overlay information.
  *
  * @param data
- *          data taken from comment iverlay
+ *          data taken from comment overlay
  * @returns {String} with a div for comment overlay information
  */
 AbstractInfoWindow.prototype._createCommentInfoDiv = function (overlay, data) {
diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js
index 914330c165..deed136a3b 100644
--- a/frontend-js/src/main/js/minerva.js
+++ b/frontend-js/src/main/js/minerva.js
@@ -454,8 +454,8 @@ function verifyBrowser() {
   var browser = functions.browser;
   if (browser.name === "IE") {
     if (browser.version <= 8 || browser.compatibilityMode) {
-      var message = "This webpage works only with Internet Explorer version 9 or greater.\n"
-        + "If you have Internet Explorer version 9 or greater and still see this message, please, turn the 'Compatibility modeoff:\n"
+      var message = "This web page works only with Internet Explorer version 9 or greater.\n"
+        + "If you have Internet Explorer version 9 or greater and still see this message, please, turn the 'Compatibility mode off:\n"
         + "Open Internet Explorer and press the Alt key on your keyboard.\n"
         + "Select 'Tools' menu item. \n"
         + "Select the 'Compatibility View' settings option. \n"
diff --git a/frontend-js/src/test/js/ServerConnector-mock.js b/frontend-js/src/test/js/ServerConnector-mock.js
index 29a52ea2ae..5e23ddf2a4 100644
--- a/frontend-js/src/test/js/ServerConnector-mock.js
+++ b/frontend-js/src/test/js/ServerConnector-mock.js
@@ -49,12 +49,12 @@ ServerConnectorMock._sendRequest = function(params) {
   } else {
     prefix = "/" + prefix + "_";
   }
-  var sufix = "";
+  var suffix = "";
   if (params.form !== undefined) {
-    sufix += self.createGetParams(encodeParams(params.form));
+    suffix += self.createGetParams(encodeParams(params.form));
   }
   if (params.json !== undefined) {
-    sufix += self.createGetParams(params.json);
+    suffix += self.createGetParams(params.json);
   }
   return new Promise(function(resolve, reject) {
     if (url.indexOf("http") === 0) {
@@ -68,7 +68,7 @@ ServerConnectorMock._sendRequest = function(params) {
         }
       });
     } else {
-      var fileName = urlToFileName(url + prefix + sufix);
+      var fileName = urlToFileName(url + prefix + suffix);
       fs.readFile(fileName, 'utf8', function(err, content) {
         if (err) {
           reject(new NetworkError(err.message, {
diff --git a/frontend-js/src/test/js/ServerConnector-test.js b/frontend-js/src/test/js/ServerConnector-test.js
index 871a910b71..e3a170d473 100644
--- a/frontend-js/src/test/js/ServerConnector-test.js
+++ b/frontend-js/src/test/js/ServerConnector-test.js
@@ -284,7 +284,7 @@ describe('ServerConnector', function() {
           statusCode : HttpStatus.FORBIDDEN
         }));
       };
-      return ServerConnector.login("blabla", "blablabla").then(function() {
+      return ServerConnector.login("unknown", "unknown password").then(function() {
         ServerConnector.sendPostRequest = method;
         assert.ok(false);
       }, function(error) {
diff --git a/frontend-js/src/test/js/google-map-mock.js b/frontend-js/src/test/js/google-map-mock.js
index 7b8d8245c3..3d50280af2 100644
--- a/frontend-js/src/test/js/google-map-mock.js
+++ b/frontend-js/src/test/js/google-map-mock.js
@@ -286,8 +286,8 @@ var google = {
         this.options.map = map;
       };
       this.setOptions = function (options) {
-        for (var attrname in options) {
-          this.options[attrname] = options[attrname];
+        for (var key in options) {
+          this.options[key] = options[key];
         }
       };
       this.getBounds = function () {
diff --git a/frontend-js/src/test/js/gui/CommentDialog-test.js b/frontend-js/src/test/js/gui/CommentDialog-test.js
index 199aff0a2b..7e87c882c8 100644
--- a/frontend-js/src/test/js/gui/CommentDialog-test.js
+++ b/frontend-js/src/test/js/gui/CommentDialog-test.js
@@ -10,7 +10,7 @@ var logger = require('../logger');
 
 describe('CommentDialog', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var map = helper.createCustomMap();
 
     var dialog = new CommentDialog({
diff --git a/frontend-js/src/test/js/gui/LoginDialog-test.js b/frontend-js/src/test/js/gui/LoginDialog-test.js
index 4f9ec418e0..e7caebb84e 100644
--- a/frontend-js/src/test/js/gui/LoginDialog-test.js
+++ b/frontend-js/src/test/js/gui/LoginDialog-test.js
@@ -11,7 +11,7 @@ var logger = require('../logger');
 
 describe('LoginDialog', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var map = helper.createCustomMap();
 
     var dialog = new LoginDialog({
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 b0fe518592..51b82ca66f 100644
--- a/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
@@ -14,7 +14,7 @@ var logger = require('../../logger');
 
 describe('AbstractDbPanel', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var div = document.createElement("div");
 
     var map = helper.createCustomMap();
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 b526d38ef8..cdf1b7d628 100644
--- a/frontend-js/src/test/js/gui/leftPanel/ChemicalPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/ChemicalPanel-test.js
@@ -13,7 +13,7 @@ var logger = require('../../logger');
 
 describe('ChemicalPanel', function() {
 
-  describe('contructor', function() {
+  describe('constructor', function() {
     it('default', function() {
       var map = helper.createCustomMap();
       helper.createChemicalDbOverlay(map);
@@ -23,7 +23,7 @@ describe('ChemicalPanel', function() {
         customMap : map
       });
       assert.equal(logger.getWarnings().length, 0);
-      assert.ok(panel.isDisbaled());
+      assert.ok(panel.isDisabled());
     });
     it('map with disease', function() {
       return ServerConnector.getProject().then(function(project) {
@@ -41,7 +41,7 @@ describe('ChemicalPanel', function() {
           customMap : map
         });
         assert.equal(logger.getWarnings().length, 0);
-        assert.notOk(panel.isDisbaled());
+        assert.notOk(panel.isDisabled());
       });
     });
   });
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 569b01ef93..da683237f9 100644
--- a/frontend-js/src/test/js/gui/leftPanel/DrugPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/DrugPanel-test.js
@@ -12,7 +12,7 @@ var logger = require('../../logger');
 
 describe('DrugPanel', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var map = helper.createCustomMap();
     helper.createDrugDbOverlay(map);
 
@@ -23,7 +23,7 @@ describe('DrugPanel', function() {
     assert.equal(logger.getWarnings().length, 0);
   });
 
-  it('createDrugeader for empty', function() {
+  it('create DrugPanel', function() {
     var map = helper.createCustomMap();
     helper.createDrugDbOverlay(map);
 
@@ -35,7 +35,7 @@ describe('DrugPanel', function() {
     assert.ok(panel.createPreamble().innerHTML.indexOf("NOT FOUND") > 0);
   });
 
-  it('createDrugeader for empty', function() {
+  it('create DrugPanel for empty drug', function() {
     var map = helper.createCustomMap();
     helper.createDrugDbOverlay(map);
 
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 35b1fc7163..deb9f4b060 100644
--- a/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js
@@ -12,7 +12,7 @@ var logger = require('../../logger');
 
 describe('GenericSearchPanel', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var map = helper.createCustomMap();
     helper.createSearchDbOverlay(map);
 
@@ -103,13 +103,13 @@ describe('GenericSearchPanel', function() {
       helper.createSearchDbOverlay(map);
       
       var aliasObj = {
-        symbol : "S1_SYMB",
+        symbol : "S1_SYMBOL",
         formerSymbols : [],
         modelId : map.getId(),
         synonyms : [ "syn44" ],
         description : "DESCRIPTION",
         type : "Simple molecule",
-        abbreviation : "ABREVIATION",
+        abbreviation : "ABBREVIATION",
         name : "s1",
         bounds : {
           x : 170.0,
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 c57e0c9665..f179817e80 100644
--- a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
@@ -11,7 +11,7 @@ var logger = require('../../logger');
 
 describe('GuiUtils', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var map = helper.createCustomMap();
     helper.createSearchDbOverlay(map);
 
@@ -21,13 +21,13 @@ describe('GuiUtils', function() {
 
   it('default', function() {
     var aliasObj = {
-      symbol : "S1_SYMB",
+      symbol : "S1_SYMBOL",
       formerSymbols : [],
       modelId : 15781,
       synonyms : [ "syn44" ],
       description : "DESCRIPTION",
       type : "Simple molecule",
-      abbreviation : "ABREVIATION",
+      abbreviation : "ABBREVIATION",
       name : "s1",
       bounds : {
         x : 170.0,
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 258647f76c..874e0c9a2e 100644
--- a/frontend-js/src/test/js/gui/leftPanel/MiRnaPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/MiRnaPanel-test.js
@@ -12,7 +12,7 @@ var logger = require('../../logger');
 
 describe('MiRnaPanel', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var map = helper.createCustomMap();
     helper.createMiRnaDbOverlay(map);
 
@@ -23,7 +23,7 @@ describe('MiRnaPanel', function() {
     assert.equal(logger.getWarnings().length, 0);
   });
 
-  it('createMiRnaeader for empty', function() {
+  it('create MiRnaPanel for empty', function() {
     var map = helper.createCustomMap();
     helper.createMiRnaDbOverlay(map);
 
@@ -35,7 +35,7 @@ describe('MiRnaPanel', function() {
     assert.ok(panel.createPreamble().innerHTML.indexOf("NOT FOUND") > 0);
   });
 
-  it('createMiRnaeader for empty', function() {
+  it('create MiRnaPanel for empty MiRna', function() {
     var map = helper.createCustomMap();
     helper.createMiRnaDbOverlay(map);
 
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 58068fddd6..dc9d95fd5c 100644
--- a/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
@@ -10,41 +10,41 @@ var logger = require('../../logger');
 
 describe('PublicationListDialog', function () {
 
-    it('contructor', function () {
-        var div = testDiv;
+  it('constructor', function () {
+    var div = testDiv;
 
-        var map = helper.createCustomMap();
+    var map = helper.createCustomMap();
 
-        var dialog = new PublicationListDialog({
-            element: div,
-            customMap: map
-        });
-        assert.equal(logger.getWarnings().length, 0);
-
-        dialog.destroy();
+    var dialog = new PublicationListDialog({
+      element: div,
+      customMap: map
     });
-
-    it('_dataTableAjaxCall', function () {
-        var dialog;
-        var callbackCalled = false;
-        return ServerConnector.getProject().then(function (project) {
-            dialog = new PublicationListDialog({
-                element: testDiv,
-                customMap: helper.createCustomMap(project),
-            });
-            return dialog._dataTableAjaxCall({
-                start: 0,
-                length: 10,
-                order: [{column: 0, dir: 'asc'}],
-                search: {value: '', regex: false}
-            }, function () {
-                callbackCalled = true;
-            });
-        }).then(function () {
-            assert.ok(callbackCalled);
-        }).finally(function () {
-            dialog.destroy();
-        });
+    assert.equal(logger.getWarnings().length, 0);
+
+    dialog.destroy();
+  });
+
+  it('_dataTableAjaxCall', function () {
+    var dialog;
+    var callbackCalled = false;
+    return ServerConnector.getProject().then(function (project) {
+      dialog = new PublicationListDialog({
+        element: testDiv,
+        customMap: helper.createCustomMap(project),
+      });
+      return dialog._dataTableAjaxCall({
+        start: 0,
+        length: 10,
+        order: [{column: 0, dir: 'asc'}],
+        search: {value: '', regex: false}
+      }, function () {
+        callbackCalled = true;
+      });
+    }).then(function () {
+      assert.ok(callbackCalled);
+    }).finally(function () {
+      dialog.destroy();
     });
+  });
 
 });
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 c04d1893d9..ce0bddc904 100644
--- a/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
@@ -10,7 +10,7 @@ var logger = require('../../logger');
 
 describe('SubmapPanel', function() {
 
-  it('contructor', function() {
+  it('constructor', function() {
     var div = document.createElement("div");
 
     var map = helper.createCustomMap();
diff --git a/frontend-js/src/test/js/helper.js b/frontend-js/src/test/js/helper.js
index caf31be8d1..8082f7c557 100644
--- a/frontend-js/src/test/js/helper.js
+++ b/frontend-js/src/test/js/helper.js
@@ -152,10 +152,10 @@ Helper.prototype.createProject = function() {
 
 Helper.prototype.createUser = function() {
   var result = new User({
-    login : "testlogin",
+    login : "test_login",
     id : this.idCounter++,
     name : "some name",
-    surname : "surn",
+    surname : "surname",
   });
   return result;
 };
diff --git a/frontend-js/src/test/js/map/AbstractCustomMap-test.js b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
index e1eac29194..31a38dc20a 100644
--- a/frontend-js/src/test/js/map/AbstractCustomMap-test.js
+++ b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
@@ -42,17 +42,17 @@ describe('AbstractCustomMap', function() {
 
     var mockObject = new AbstractCustomMap(model, options);
 
-    var gmap = helper.createGoogleMap();
+    var googleMap = helper.createGoogleMap();
 
-    mockObject.setGoogleMap(gmap);
+    mockObject.setGoogleMap(googleMap);
 
     mockObject.setupLayouts();
     assert.ok(mockObject.getGoogleMap().getMapTypeId().indexOf(layout.getId()) >= 0);
   });
 
-  it("creatMapOptions", function() {
+  it("createMapOptions", function() {
     var mockObject = helper.createCustomMap();
-    assert.ok(mockObject.creatMapOptions());
+    assert.ok(mockObject.createMapOptions());
 
   });
 
@@ -87,9 +87,9 @@ describe('AbstractCustomMap', function() {
 
     var mockObject = new AbstractCustomMap(model, options);
 
-    var gmap = helper.createGoogleMap();
+    var googleMap = helper.createGoogleMap();
 
-    mockObject.setGoogleMap(gmap);
+    mockObject.setGoogleMap(googleMap);
     mockObject.setMaxZoomLevel();
 
     assert.equal(model.getMaxZoom(), mockObject.getGoogleMap().getZoom());
@@ -103,15 +103,15 @@ describe('AbstractCustomMap', function() {
 
     var mockObject = new AbstractCustomMap(model, options);
 
-    var gmap = new google.maps.Map(testDiv, {});
-    gmap.setCenter(new google.maps.LatLng(1, 2));
+    var googleMap = new google.maps.Map(testDiv, {});
+    googleMap.setCenter(new google.maps.LatLng(1, 2));
 
-    mockObject.setGoogleMap(gmap);
+    mockObject.setGoogleMap(googleMap);
 
-    var coords = mockObject.getMouseLatLng();
+    var coordinates = mockObject.getMouseLatLng();
 
-    assert.ok(coords);
-    assert.ok(coords instanceof google.maps.LatLng);
+    assert.ok(coordinates);
+    assert.ok(coordinates instanceof google.maps.LatLng);
   });
 
   it("fromPixelsToPoint 1", function() {
@@ -201,9 +201,9 @@ describe('AbstractCustomMap', function() {
   it("registerMapClickEvents", function() {
     var mockObject = helper.createAbstractCustomMap();
 
-    var gmap = new google.maps.Map(testDiv, {});
+    var googleMap = new google.maps.Map(testDiv, {});
 
-    mockObject.setGoogleMap(gmap);
+    mockObject.setGoogleMap(googleMap);
     // mock function to not put error log on console
     mockObject.getTopMap = function() {
       return null;
@@ -226,9 +226,9 @@ describe('AbstractCustomMap', function() {
   it("_turnOnOffDrawing", function() {
     var mockObject = helper.createAbstractCustomMap();
 
-    var gmap = new google.maps.Map(testDiv, {});
+    var googleMap = new google.maps.Map(testDiv, {});
 
-    mockObject.setGoogleMap(gmap);
+    mockObject.setGoogleMap(googleMap);
 
     // mock function to not put error log on console
     mockObject.getTopMap = function() {
@@ -245,12 +245,12 @@ describe('AbstractCustomMap', function() {
   it("areaToString", function() {
     var mockObject = helper.createAbstractCustomMap();
 
-    var triangleCoords = [ new google.maps.LatLng(25.774, -80.190), new google.maps.LatLng(18.466, -66.118),
+    var triangleCoordinates = [ new google.maps.LatLng(25.774, -80.190), new google.maps.LatLng(18.466, -66.118),
         new google.maps.LatLng(32.321, -64.757), new google.maps.LatLng(25.774, -80.190), ];
 
     // Construct the polygon.
     var bermudaTriangle = new google.maps.Polygon({
-      paths : triangleCoords,
+      paths : triangleCoordinates,
       strokeColor : '#FF0000',
       strokeOpacity : 0.8,
       strokeWeight : 2,
@@ -270,9 +270,9 @@ describe('AbstractCustomMap', function() {
     var y = 11040;
     var point = new google.maps.Point(x, y);
 
-    var coord = mockObject.fromPointToLatLng(point);
+    var coordinates = mockObject.fromPointToLatLng(point);
 
-    var point2 = mockObject.fromLatLngToPoint(coord);
+    var point2 = mockObject.fromLatLngToPoint(coordinates);
 
     assert.closeTo(point2.x, point.x, 0.5, "X coordinate is invalid after transformation");
     assert.closeTo(point2.y, point.y, 0.5, "Y coordinate is invalid after transformation");
diff --git a/frontend-js/src/test/js/map/CustomMap-test.js b/frontend-js/src/test/js/map/CustomMap-test.js
index 8ac064af40..07845ff871 100644
--- a/frontend-js/src/test/js/map/CustomMap-test.js
+++ b/frontend-js/src/test/js/map/CustomMap-test.js
@@ -22,965 +22,965 @@ var chai = require('chai');
 var assert = chai.assert;
 
 describe('CustomMap', function () {
-    describe("constructor", function () {
-        it("default", function () {
-            var options = helper.createCustomMapOptions();
-            var map = new CustomMap(options);
-            assert.ok(map);
-        });
-
-        it("with submaps", function () {
-            var options = helper.createCustomMapOptions();
-
-            options.getProject().getModel().addSubmodel(helper.createModel());
-
-            var map = new CustomMap(options);
-            assert.ok(map);
-        });
-
-        it("with session data pointing to not existing overlay", function () {
-            var options = helper.createCustomMapOptions();
-
-            ServerConnector.getSessionData(options.getProject()).setSelectedBackgroundOverlay("-1");
-
-            var map = new CustomMap(options);
-            assert.ok(map);
-        });
-    });
-
-    it("getSubmapById", function () {
-        var map = helper.createCustomMap();
-        assert.ok(map.getSubmapById(map.getId()));
-    });
-
-    it("getSubmapById (invalid)", function () {
-        var map = helper.createCustomMap();
-        assert.equal(map.getSubmapById(-1), null);
-    });
-
-    it("getSubmapById (string id)", function () {
-        var map = helper.createCustomMap();
-        assert.ok(map.getSubmapById(map.getId() + ""));
-    });
-
-    describe("openDataOverlay", function () {
-        it("for not existing id", function () {
-            var map = helper.createCustomMap();
-            try {
-                map.openDataOverlay(-1);
-                assert.ok(false);
-            } catch (exception) {
-                assert.ok(exception.message.indexOf("You have no privileges") >= 0);
-            }
-        });
-
-        it("for int id", function () {
-            var options = helper.createCustomMapOptions();
-            var model = options.getProject().getModel();
-            var layout = model.getLayouts()[0];
-            var map = new CustomMap(options);
-            map.openDataOverlay(layout.getId());
-            assert.equal(logger.getErrors().length, 0);
-        });
-
-        it("for overlay object", function () {
-            var options = helper.createCustomMapOptions();
-            var model = options.getProject().getModel();
-            var layout = model.getLayouts()[0];
-            var map = new CustomMap(options);
-            map.openDataOverlay(layout);
-            assert.equal(logger.getErrors().length, 0);
-        });
-
-        it("for string id", function () {
-            var options = helper.createCustomMapOptions();
-            var model = options.getProject().getModel();
-            var layout = model.getLayouts()[0];
-            var map = new CustomMap(options);
-            map.openDataOverlay(layout.getId() + "");
-            assert.equal(logger.getErrors().length, 0);
-        });
-
-        it("with background overlay", function () {
-            var map = helper.createCustomMap();
-            var layout = helper.createLayout();
-            layout.setInitialized(true);
-            layout.setInputDataAvailable(false);
-            map.getModel().addLayout(layout);
-
-            return map.openDataOverlay(layout.getId()).then(function () {
-                var vLayouts = ServerConnector.getSessionData(map.getProject()).getVisibleOverlays();
-                assert.equal(0, vLayouts.length);
-            });
-        });
-
-        it("simple", function () {
-            var map = helper.createCustomMap();
-            var alias = helper.createAlias();
-            alias.setModelId(map.getId());
-            map.getModel().addAlias(alias);
-
-            var reaction = helper.createReaction();
-            map.getModel().addReaction(reaction);
-
-            var layout = helper.createLayout();
-            layout.setInputDataAvailable(true);
-            layout.setInitialized(true);
-            var layoutAlias = helper.createLayoutAlias();
-            layoutAlias.setId(alias.getId());
-            layoutAlias.setModelId(map.getId());
-            layout.addAlias(layoutAlias);
-
-            var layoutReaction = helper.createLayoutReaction();
-            layoutReaction.setId(reaction.getId());
-            layoutReaction.setModelId(map.getId());
-            layout.addReaction(layoutReaction);
-
-            map.getModel().addLayout(layout);
-
-            return map.openDataOverlay(layout.getId()).then(function () {
-                return map._showSelectedLayout(layout.getId(), 0, 1);
-            }).then(function () {
-                var vLayouts = ServerConnector.getSessionData(map.getProject()).getVisibleOverlays();
-                assert.equal(1, vLayouts.length);
-                assert.equal(layout.getId(), vLayouts[0]);
-
-                assert.equal(2, map.selectedLayoutOverlays[layout.getId()].length);
-                assert.ok(map.selectedLayoutOverlays[layout.getId()][0] instanceof AliasSurface);
-                assert.ok(map.selectedLayoutOverlays[layout.getId()][1] instanceof ReactionSurface);
-
-                // now hide the layout
-                map._hideSelectedLayout(layout.getId());
-                assert.ok(map.selectedLayoutOverlays[layout.getId()]);
-                assert.equal(0, map.selectedLayoutOverlays[layout.getId()].length);
-            });
-
-        });
-
-        it("with submaps", function () {
-            var projectId = "complex_model_with_submaps";
-            helper.setUrl("http://test/?id=" + projectId);
-            var customMap;
-            var emptySubmodelId = 16730;
-            var filledSubmodelId = 16731;
-            var overlayId = 18083;
-
-            return ServerConnector.getProject(projectId).then(function (project) {
-                var options = helper.createCustomMapOptions(project);
-                customMap = new CustomMap(options);
-
-                return customMap.openSubmap(emptySubmodelId);
-            }).then(function () {
-                return customMap.openSubmap(filledSubmodelId);
-            }).then(function () {
-
-                var emptySubmap = customMap.getSubmapById(emptySubmodelId);
-                var filledSubmap = customMap.getSubmapById(filledSubmodelId);
-
-                return customMap.openDataOverlay(overlayId).then(function () {
-
-                    assert.equal(1, customMap.selectedLayoutOverlays[overlayId].length);
-                    assert.equal(1, filledSubmap.selectedLayoutOverlays[overlayId].length);
-                    assert.equal(0, emptySubmap.selectedLayoutOverlays[overlayId].length);
-
-                    // now hide the layout
-                    customMap.hideSelectedLayout(overlayId);
-                    assert.equal(0, customMap.selectedLayoutOverlays[overlayId].length);
-                    assert.equal(0, filledSubmap.selectedLayoutOverlays[overlayId].length);
-                    assert.equal(0, emptySubmap.selectedLayoutOverlays[overlayId].length);
-                });
-
-            }).then(function () {
-                return customMap.destroy();
-            });
-        });
-
+  describe("constructor", function () {
+    it("default", function () {
+      var options = helper.createCustomMapOptions();
+      var map = new CustomMap(options);
+      assert.ok(map);
     });
 
-    it("removeSelectedLayout", function () {
-        var map = helper.createCustomMap();
-        var layout = helper.createLayout();
-        layout.setInitialized(true);
-        layout.setInputDataAvailable(true);
-        map.getModel().addLayout(layout);
+    it("with submaps", function () {
+      var options = helper.createCustomMapOptions();
 
-        return map.openDataOverlay(layout.getId()).then(function () {
-            return map.removeSelectedLayout(layout.getId());
-        }).then(function () {
-            var vLayouts = ServerConnector.getSessionData(map.getProject()).getVisibleOverlays();
-            assert.equal(0, vLayouts.length);
-        });
+      options.getProject().getModel().addSubmodel(helper.createModel());
+
+      var map = new CustomMap(options);
+      assert.ok(map);
     });
 
-    describe("openInfoWindowForAlias", function () {
-        it("default", function () {
-            var map = helper.createCustomMap();
-            var layout = helper.createLayout();
-            var alias = helper.createAlias();
-            alias.setModelId(map.getId());
-            var layoutAlias = helper.createLayoutAlias();
-            layoutAlias.setId(alias.getId());
-
-            layout.addAlias(layoutAlias);
+    it("with session data pointing to not existing overlay", function () {
+      var options = helper.createCustomMapOptions();
 
-            // create layout
-            map.getModel().addLayout(layout);
-            map.getModel().addAlias(alias);
-
-            return map.openInfoWindowForAlias(alias).then(function () {
-                assert.ok(map.getAliasInfoWindowById(alias.getId()));
-                assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened());
-            });
-        });
-
-        it("for incomplete alias", function () {
-            var map, alias;
-            return ServerConnector.getProject().then(function (project) {
-                var options = helper.createCustomMapOptions(project);
-                map = new CustomMap(options);
-
-                return map.getModel().getAliasById(329171, false);
-            }).then(function (result) {
-                alias = result;
-                assert.notOk(alias.isComplete());
-                return map.openInfoWindowForAlias(alias);
-            }).then(function () {
-                assert.ok(map.getAliasInfoWindowById(alias.getId()));
-                assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened());
-            });
-        });
-    });
+      ServerConnector.getSessionData(options.getProject()).setSelectedBackgroundOverlay("-1");
+
+      var map = new CustomMap(options);
+      assert.ok(map);
+    });
+  });
+
+  it("getSubmapById", function () {
+    var map = helper.createCustomMap();
+    assert.ok(map.getSubmapById(map.getId()));
+  });
+
+  it("getSubmapById (invalid)", function () {
+    var map = helper.createCustomMap();
+    assert.equal(map.getSubmapById(-1), null);
+  });
 
-    it("getSearchAutocomplete", function () {
-        var map = helper.createCustomMap();
+  it("getSubmapById (string id)", function () {
+    var map = helper.createCustomMap();
+    assert.ok(map.getSubmapById(map.getId() + ""));
+  });
+
+  describe("openDataOverlay", function () {
+    it("for not existing id", function () {
+      var map = helper.createCustomMap();
+      try {
+        map.openDataOverlay(-1);
+        assert.ok(false);
+      } catch (exception) {
+        assert.ok(exception.message.indexOf("You have no privileges") >= 0);
+      }
+    });
+
+    it("for int id", function () {
+      var options = helper.createCustomMapOptions();
+      var model = options.getProject().getModel();
+      var layout = model.getLayouts()[0];
+      var map = new CustomMap(options);
+      map.openDataOverlay(layout.getId());
+      assert.equal(logger.getErrors().length, 0);
+    });
 
-        var t = map.getSearchAutocomplete("s");
-        assert.ok(t);
-        assert.equal(t.length, 0);
+    it("for overlay object", function () {
+      var options = helper.createCustomMapOptions();
+      var model = options.getProject().getModel();
+      var layout = model.getLayouts()[0];
+      var map = new CustomMap(options);
+      map.openDataOverlay(layout);
+      assert.equal(logger.getErrors().length, 0);
     });
 
-    it("getSearchAutocomplete 2", function () {
-        var map = helper.createCustomMap();
-
-        return map.refreshSearchAutocomplete("s").then(function () {
-            var t = map.getSearchAutocomplete("s");
-            assert.ok(t);
-            assert.ok(t.length > 0);
-        });
+    it("for string id", function () {
+      var options = helper.createCustomMapOptions();
+      var model = options.getProject().getModel();
+      var layout = model.getLayouts()[0];
+      var map = new CustomMap(options);
+      map.openDataOverlay(layout.getId() + "");
+      assert.equal(logger.getErrors().length, 0);
     });
 
-    describe("renderOverlayCollection", function () {
-        it("for alias", function () {
-            var map = helper.createCustomMap();
-            var reaction = helper.createReaction();
-            var alias = helper.createAlias();
-            map.getModel().addAlias(alias);
-            map.getModel().addReaction(reaction);
-
-            var oc = helper.createDbOverlay(map);
-
-            oc.getIdentifiedElements = function () {
-                return Promise.resolve([new IdentifiedElement({
-                    objectId: alias.getId(),
-                    icon: "empty.png",
-                    modelId: map.getId(),
-                    type: "Alias"
-                })]);
-            };
-            return map.renderOverlayCollection({
-                overlayCollection: oc
-            }).then(function () {
-                var aliasMarkerCount = 0;
-                var markers = oc.markers["ALIAS"];
-                for (var id in markers) {
-                    if (markers.hasOwnProperty(id)) {
-                        aliasMarkerCount++;
-                    }
-                }
-                assert.equal(1, aliasMarkerCount);
-            });
-        });
-
-        it("alias re-rendering with different icon", function () {
-            var map = helper.createCustomMap();
-            var reaction = helper.createReaction(map);
-            var alias = helper.createAlias(map);
-            map.getModel().addAlias(alias);
-            map.getModel().addReaction(reaction);
-
-            var marker;
-            var oc = helper.createDbOverlay(map);
-
-            oc.getIdentifiedElements = function () {
-                return Promise.resolve([new IdentifiedElement({
-                    objectId: alias.getId(),
-                    icon: "empty.png",
-                    modelId: map.getId(),
-                    type: "Alias"
-                }), new IdentifiedElement(reaction)]);
-            };
-            return map.renderOverlayCollection({
-                overlayCollection: oc
-            }).then(function () {
-                marker = oc.markers["ALIAS"][alias.getId()];
-                oc.getIdentifiedElements = function () {
-                    return Promise.resolve([new IdentifiedElement({
-                        objectId: alias.getId(),
-                        icon: "new_icon.png",
-                        modelId: map.getId(),
-                        type: "Alias"
-                    })]);
-                };
-                assert.ok(oc.mapOverlays["REACTION"][reaction.getId()]);
-
-                return map.renderOverlayCollection({
-                    overlayCollection: oc
-                });
-            }).then(function () {
-                assert.equal(marker.getIcon(), "new_icon.png");
-
-                assert.notOk(oc.mapOverlays["REACTION"][reaction.getId()]);
-            });
-        });
-
-        it("for set of aliases", function () {
-            var map = helper.createCustomMap();
-
-            var oc = helper.createDbOverlay(map);
-
-            var identifiedElements = [];
-            for (var i = 0; i < 3; i++) {
-                var alias = helper.createAlias(map);
-                map.getModel().addAlias(alias);
-                var ie = helper.createIdentifiedElement(alias);
-                ie.setIcon("");
-                identifiedElements.push(ie);
-            }
-
-            oc.getIdentifiedElements = function () {
-                return Promise.resolve(identifiedElements);
-            };
-
-            return map.renderOverlayCollection({
-                overlayCollection: oc
-            }).then(function () {
-                var aliasMarkerCount = 0;
-                var markers = oc.markers["ALIAS"];
-                for (var id in markers) {
-                    if (markers.hasOwnProperty(id)) {
-                        aliasMarkerCount++;
-                    }
-                }
-
-                assert.equal(aliasMarkerCount, 3);
-            });
-        });
-
-        it("for point", function () {
-            var map = helper.createCustomMap();
-
-            var oc = helper.createDbOverlay(map);
-
-            var javaObj = {
-                objectId: "Point2D.Double[117.685546875, 204.6923828125001]",
-                modelId: map.getId(),
-                type: "POINT",
-                icon: "marker/empty.png"
-            };
-
-            oc.getIdentifiedElements = function () {
-                return Promise.resolve([new IdentifiedElement(javaObj)]);
-            };
-
-            return map.renderOverlayCollection({
-                overlayCollection: oc
-            }).then(function () {
-                var markerCount = 0;
-                var markers = oc.markers["POINT"];
-                for (var id in markers) {
-                    if (markers.hasOwnProperty(id)) {
-                        markerCount++;
-                    }
-                }
-                assert.equal(1, markerCount);
-            });
-        });
+    it("with background overlay", function () {
+      var map = helper.createCustomMap();
+      var layout = helper.createLayout();
+      layout.setInitialized(true);
+      layout.setInputDataAvailable(false);
+      map.getModel().addLayout(layout);
 
-        it("for reaction", function () {
-            var map = helper.createCustomMap();
-            var reaction = helper.createReaction();
-            map.getModel().addReaction(reaction);
-
-            var oc = helper.createDbOverlay(map);
-
-            var javaObj = {
-                objectId: reaction.getId(),
-                modelId: map.getId(),
-                type: "Reaction",
-            };
-
-            oc.getIdentifiedElements = function () {
-                return Promise.resolve([new IdentifiedElement(javaObj)]);
-            };
-
-            return map.renderOverlayCollection({
-                overlayCollection: oc
-            }).then(function () {
-                var markerCount = 0;
-                var markers = oc.mapOverlays["REACTION"];
-                for (var id in markers) {
-                    if (markers.hasOwnProperty(id)) {
-                        markerCount++;
-                    }
-                }
-                assert.equal(1, markerCount);
-            });
-        });
+      return map.openDataOverlay(layout.getId()).then(function () {
+        var vLayouts = ServerConnector.getSessionData(map.getProject()).getVisibleOverlays();
+        assert.equal(0, vLayouts.length);
+      });
     });
 
-    it("clearDbOverlays", function () {
-        var map = helper.createCustomMap();
-
-        var oc = helper.createDbOverlay(map);
-
-        var javaObj = {
-            objectId: "Point2D.Double[117.685546875, 204.6923828125001]",
-            modelId: map.getId(),
-            type: "POINT",
-            icon: "marker/empty.png"
-        };
-        var searchResults = [new IdentifiedElement(javaObj)];
+    it("simple", function () {
+      var map = helper.createCustomMap();
+      var alias = helper.createAlias();
+      alias.setModelId(map.getId());
+      map.getModel().addAlias(alias);
+
+      var reaction = helper.createReaction();
+      map.getModel().addReaction(reaction);
 
+      var layout = helper.createLayout();
+      layout.setInputDataAvailable(true);
+      layout.setInitialized(true);
+      var layoutAlias = helper.createLayoutAlias();
+      layoutAlias.setId(alias.getId());
+      layoutAlias.setModelId(map.getId());
+      layout.addAlias(layoutAlias);
+
+      var layoutReaction = helper.createLayoutReaction();
+      layoutReaction.setId(reaction.getId());
+      layoutReaction.setModelId(map.getId());
+      layout.addReaction(layoutReaction);
+
+      map.getModel().addLayout(layout);
+
+      return map.openDataOverlay(layout.getId()).then(function () {
+        return map._showSelectedLayout(layout.getId(), 0, 1);
+      }).then(function () {
+        var vLayouts = ServerConnector.getSessionData(map.getProject()).getVisibleOverlays();
+        assert.equal(1, vLayouts.length);
+        assert.equal(layout.getId(), vLayouts[0]);
+
+        assert.equal(2, map.selectedLayoutOverlays[layout.getId()].length);
+        assert.ok(map.selectedLayoutOverlays[layout.getId()][0] instanceof AliasSurface);
+        assert.ok(map.selectedLayoutOverlays[layout.getId()][1] instanceof ReactionSurface);
+
+        // now hide the layout
+        map._hideSelectedLayout(layout.getId());
+        assert.ok(map.selectedLayoutOverlays[layout.getId()]);
+        assert.equal(0, map.selectedLayoutOverlays[layout.getId()].length);
+      });
+
+    });
+
+    it("with submaps", function () {
+      var projectId = "complex_model_with_submaps";
+      helper.setUrl("http://test/?id=" + projectId);
+      var customMap;
+      var emptySubmodelId = 16730;
+      var filledSubmodelId = 16731;
+      var overlayId = 18083;
+
+      return ServerConnector.getProject(projectId).then(function (project) {
+        var options = helper.createCustomMapOptions(project);
+        customMap = new CustomMap(options);
+
+        return customMap.openSubmap(emptySubmodelId);
+      }).then(function () {
+        return customMap.openSubmap(filledSubmodelId);
+      }).then(function () {
+
+        var emptySubmap = customMap.getSubmapById(emptySubmodelId);
+        var filledSubmap = customMap.getSubmapById(filledSubmodelId);
+
+        return customMap.openDataOverlay(overlayId).then(function () {
+
+          assert.equal(1, customMap.selectedLayoutOverlays[overlayId].length);
+          assert.equal(1, filledSubmap.selectedLayoutOverlays[overlayId].length);
+          assert.equal(0, emptySubmap.selectedLayoutOverlays[overlayId].length);
+
+          // now hide the layout
+          customMap.hideSelectedLayout(overlayId);
+          assert.equal(0, customMap.selectedLayoutOverlays[overlayId].length);
+          assert.equal(0, filledSubmap.selectedLayoutOverlays[overlayId].length);
+          assert.equal(0, emptySubmap.selectedLayoutOverlays[overlayId].length);
+        });
+
+      }).then(function () {
+        return customMap.destroy();
+      });
+    });
+
+  });
+
+  it("removeSelectedLayout", function () {
+    var map = helper.createCustomMap();
+    var layout = helper.createLayout();
+    layout.setInitialized(true);
+    layout.setInputDataAvailable(true);
+    map.getModel().addLayout(layout);
+
+    return map.openDataOverlay(layout.getId()).then(function () {
+      return map.removeSelectedLayout(layout.getId());
+    }).then(function () {
+      var vLayouts = ServerConnector.getSessionData(map.getProject()).getVisibleOverlays();
+      assert.equal(0, vLayouts.length);
+    });
+  });
+
+  describe("openInfoWindowForAlias", function () {
+    it("default", function () {
+      var map = helper.createCustomMap();
+      var layout = helper.createLayout();
+      var alias = helper.createAlias();
+      alias.setModelId(map.getId());
+      var layoutAlias = helper.createLayoutAlias();
+      layoutAlias.setId(alias.getId());
+
+      layout.addAlias(layoutAlias);
+
+      // create layout
+      map.getModel().addLayout(layout);
+      map.getModel().addAlias(alias);
+
+      return map.openInfoWindowForAlias(alias).then(function () {
+        assert.ok(map.getAliasInfoWindowById(alias.getId()));
+        assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened());
+      });
+    });
+
+    it("for incomplete alias", function () {
+      var map, alias;
+      return ServerConnector.getProject().then(function (project) {
+        var options = helper.createCustomMapOptions(project);
+        map = new CustomMap(options);
+
+        return map.getModel().getAliasById(329171, false);
+      }).then(function (result) {
+        alias = result;
+        assert.notOk(alias.isComplete());
+        return map.openInfoWindowForAlias(alias);
+      }).then(function () {
+        assert.ok(map.getAliasInfoWindowById(alias.getId()));
+        assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened());
+      });
+    });
+  });
+
+  it("getSearchAutocomplete", function () {
+    var map = helper.createCustomMap();
+
+    var t = map.getSearchAutocomplete("s");
+    assert.ok(t);
+    assert.equal(t.length, 0);
+  });
+
+  it("getSearchAutocomplete 2", function () {
+    var map = helper.createCustomMap();
+
+    return map.refreshSearchAutocomplete("s").then(function () {
+      var t = map.getSearchAutocomplete("s");
+      assert.ok(t);
+      assert.ok(t.length > 0);
+    });
+  });
+
+  describe("renderOverlayCollection", function () {
+    it("for alias", function () {
+      var map = helper.createCustomMap();
+      var reaction = helper.createReaction();
+      var alias = helper.createAlias();
+      map.getModel().addAlias(alias);
+      map.getModel().addReaction(reaction);
+
+      var oc = helper.createDbOverlay(map);
+
+      oc.getIdentifiedElements = function () {
+        return Promise.resolve([new IdentifiedElement({
+          objectId: alias.getId(),
+          icon: "empty.png",
+          modelId: map.getId(),
+          type: "Alias"
+        })]);
+      };
+      return map.renderOverlayCollection({
+        overlayCollection: oc
+      }).then(function () {
+        var aliasMarkerCount = 0;
+        var markers = oc.markers["ALIAS"];
+        for (var id in markers) {
+          if (markers.hasOwnProperty(id)) {
+            aliasMarkerCount++;
+          }
+        }
+        assert.equal(1, aliasMarkerCount);
+      });
+    });
+
+    it("alias re-rendering with different icon", function () {
+      var map = helper.createCustomMap();
+      var reaction = helper.createReaction(map);
+      var alias = helper.createAlias(map);
+      map.getModel().addAlias(alias);
+      map.getModel().addReaction(reaction);
+
+      var marker;
+      var oc = helper.createDbOverlay(map);
+
+      oc.getIdentifiedElements = function () {
+        return Promise.resolve([new IdentifiedElement({
+          objectId: alias.getId(),
+          icon: "empty.png",
+          modelId: map.getId(),
+          type: "Alias"
+        }), new IdentifiedElement(reaction)]);
+      };
+      return map.renderOverlayCollection({
+        overlayCollection: oc
+      }).then(function () {
+        marker = oc.markers["ALIAS"][alias.getId()];
         oc.getIdentifiedElements = function () {
-            return Promise.resolve(searchResults);
-        };
-        oc.clear = function () {
-            searchResults = [];
-            return this.callListeners("onSearch", searchResults);
+          return Promise.resolve([new IdentifiedElement({
+            objectId: alias.getId(),
+            icon: "new_icon.png",
+            modelId: map.getId(),
+            type: "Alias"
+          })]);
         };
+        assert.ok(oc.mapOverlays["REACTION"][reaction.getId()]);
 
         return map.renderOverlayCollection({
-            overlayCollection: oc
-        }).then(function () {
-
-            return map.clearDbOverlays();
-        }).then(function () {
-            var markerCount = 0;
-            for (var id in oc.pointMarkers) {
-                if (oc.pointMarkers.hasOwnProperty(id)) {
-                    markerCount++;
-                }
-            }
-
-            assert.equal(0, markerCount);
-        });
-
-    });
-
-    it("getInfoWindowForIdentifiedElement ( reaction)", function () {
-        var map = helper.createCustomMap();
-        var reaction = helper.createReaction(map);
-        map.getModel().addReaction(reaction);
-
-        var ie = helper.createIdentifiedElement(reaction);
-
-        var infoWindow = map.getInfoWindowForIdentifiedElement(ie);
-
-        assert.equal(null, infoWindow);
-        return map._openInfoWindowForReaction(reaction).then(function () {
-            infoWindow = map.getInfoWindowForIdentifiedElement(ie);
-
-            assert.ok(infoWindow);
+          overlayCollection: oc
         });
+      }).then(function () {
+        assert.equal(marker.getIcon(), "new_icon.png");
 
+        assert.notOk(oc.mapOverlays["REACTION"][reaction.getId()]);
+      });
     });
 
-    it("right click on map", function () {
-        var map = helper.createCustomMap();
-        map.setContextMenu(new MapContextMenu({
-            customMap: map,
-            element: testDiv
-        }));
-
-        var mev = {
-            stop: null,
-            latLng: new google.maps.LatLng(40.0, -90.0)
-        };
-
-        assert.notOk(map.getActiveSubmapId());
-        google.maps.event.trigger(map.getGoogleMap(), 'rightclick', mev);
-        assert.equal(map.getId(), map.getActiveSubmapId());
-
-    });
-
-    it("left click on map", function () {
-        var map;
-        var searchOverlay;
-        return ServerConnector.getProject().then(function (project) {
-            map = helper.createCustomMap(project);
-            searchOverlay = helper.createSearchDbOverlay(map);
-
-            var mev = {
-                stop: null,
-                latLng: new google.maps.LatLng(82.32061703407554, -167.25586206896548),
-            };
-            map.getGoogleMap().setZoom(4);
-            // latLng : new google.maps.LatLng(82.40238643645326, -148.44758620689652)
-
-            assert.notOk(map.getActiveSubmapId());
-            return google.maps.event.trigger(map.getGoogleMap(), 'click', mev);
-
-        }).then(function () {
-            assert.equal(map.getId(), map.getActiveSubmapId());
-            assert.ok(searchOverlay.markers["ALIAS"][329171]);
-        });
-
-    });
+    it("for set of aliases", function () {
+      var map = helper.createCustomMap();
 
-    it("left click on reaction", function () {
-        var map;
-        var searchOverlay;
-        return ServerConnector.getProject().then(function (project) {
-            map = helper.createCustomMap(project);
-            searchOverlay = helper.createSearchDbOverlay(map);
-
-            var mev = {
-                stop: null,
-                latLng: new google.maps.LatLng(82.40238643645326, -148.44758620689652)
-            };
-            map.getGoogleMap().setZoom(4);
-
-            assert.notOk(map.getActiveSubmapId());
-            return google.maps.event.trigger(map.getGoogleMap(), 'click', mev);
-        }).then(function () {
-            assert.equal(map.getId(), map.getActiveSubmapId());
-            assert.ok(searchOverlay.mapOverlays["REACTION"][153521]);
-            assert.ok(searchOverlay.mapOverlays["REACTION"][153521].isShown());
-            assert.ok(searchOverlay.markers["ALIAS"][329165]);
-        });
-    });
-
-    it("create polygon through drawingManager", function () {
-        var map = helper.createCustomMap();
-
-        map.setSelectionContextMenu(new SelectionContextMenu({
-            customMap: map,
-            element: testDiv
-        }));
-
-        map.turnOnDrawing();
-
-        var triangleCoords = [new google.maps.LatLng(25.774, -80.190), new google.maps.LatLng(18.466, -66.118),
-            new google.maps.LatLng(32.321, -64.757), new google.maps.LatLng(25.774, -80.190),];
-
-        // Construct the polygon.
-        var bermudaTriangle = new google.maps.Polygon({
-            paths: triangleCoords,
-            strokeColor: '#FF0000',
-            strokeOpacity: 0.8,
-            strokeWeight: 2,
-            fillColor: '#FF0000',
-            fillOpacity: 0.35
-        });
-        bermudaTriangle.setMap(map.getGoogleMap());
-
-        var eventParam = {
-            type: google.maps.drawing.OverlayType.POLYGON,
-            overlay: bermudaTriangle,
-        };
-
-        // check creation complete behaviour
-        assert.ok(map.isDrawingOn());
-        assert.equal(google.maps.drawing.OverlayType.POLYGON, map._drawingManager.getDrawingMode());
-        google.maps.event.trigger(map._drawingManager, 'overlaycomplete', eventParam);
-        assert.ok(map.isDrawingOn());
-        assert.equal(null, map._drawingManager.getDrawingMode());
-
-        // and now check how it behaves when we wiught click on the polygon
-        var clickEventParam = {
-            stop: null,
-            latLng: new google.maps.LatLng(40.0, -90.0)
-        };
-
-        assert.notOk(map.getSelectedPolygon());
-
-        assert.notOk(map.getActiveSubmapId());
-        assert.notOk(map.getSelectedArea());
-        google.maps.event.trigger(bermudaTriangle, 'rightclick', clickEventParam);
-        assert.ok(map.getSelectedArea());
-        assert.equal(map.getId(), map.getActiveSubmapId());
-
-        assert.ok(map.getSelectedPolygon());
-
-    });
-
-    it("getAliasVisibleLayoutsData", function () {
-        var mockObject = helper.createCustomMap();
-
-        var alias = helper.createAlias();
-        mockObject.getModel().addAlias(alias);
-
-        var layout = helper.createLayout();
-        layout.setInputDataAvailable(true);
-        layout.setInitialized(true);
-        mockObject.getModel().addLayout(layout);
-
-        return mockObject.openDataOverlay(layout.getId()).then(function () {
-            return mockObject.getAliasVisibleLayoutsData(alias.getId());
-        }).then(function (layoutAliases) {
-            assert.equal(layoutAliases.length, 1);
-        });
-    });
-
-    it("changed coords in map", function () {
-        var map = helper.createCustomMap();
-        var oldCenter = map.getGoogleMap().getCenter();
-        var newCenter = new google.maps.LatLng(3, 87);
-        map.getGoogleMap().setCenter(newCenter);
-        google.maps.event.trigger(map.getGoogleMap(), "center_changed");
-
-        var center = ServerConnector.getSessionData(map.getProject()).getCenter(map.getModel());
-        assert.ok(center !== oldCenter);
-        assert.ok(center instanceof google.maps.Point);
-    });
-
-    it("refreshComments", function () {
-        var map = helper.createCustomMap();
-        map.getModel().setId(15781);
-        var commentsOverlay = helper.createCommentDbOverlay(map);
-
-        ServerConnector.getSessionData().setShowComments(true);
-        return map.refreshComments().then(function () {
-            assert.notOk(commentsOverlay.markers["POINT"]['(241.01,372.35)']);
-            assert.ok(commentsOverlay.markers["POINT"]['(643.96,144.09)']);
-            assert.notOk(commentsOverlay.markers["POINT"]['(216.65,370.00)']);
-            assert.notOk(commentsOverlay.markers["POINT"]['unkId']);
-        });
-    });
-
-    it("hide comments", function () {
-        var map = helper.createCustomMap();
-        map.getModel().setId(15781);
-        var commentsOverlay = helper.createCommentDbOverlay(map);
-
-        ServerConnector.getSessionData().setShowComments(true);
-        return map.refreshComments().then(function () {
-            ServerConnector.getSessionData().setShowComments(false);
-            return map.refreshComments();
-        }).then(function () {
-            assert.notOk(commentsOverlay.markers["POINT"]['(241.01, 372.35)']);
-        });
-    });
-
-    it("openCommentDialog", function () {
-        var map = helper.createCustomMap();
-        map.getModel().setId(15781);
-        map.setActiveSubmapId(15781);
-        map.setActiveSubmapClickCoordinates(new google.maps.Point(2, 12));
-        return map.openCommentDialog().then(function () {
-            var types = map.getCommentDialog().getTypes();
-            assert.equal(types.length, 6);
-            var selected = map.getCommentDialog().getSelectedType();
-            assert.ok(selected === "<General>");
-
-            map.getCommentDialog().setSelectedType(1);
-            selected = map.getCommentDialog().getSelectedType();
-            assert.notOk(selected === "<General>");
-
-            map.getCommentDialog().setSelectedType(2);
-            selected = map.getCommentDialog().getSelectedType();
-            assert.notOk(selected === "<General>");
-        }).then(function () {
-            map.getCommentDialog().destroy();
-        });
-    });
-
-    it("addComment", function () {
-        var map;
-        return ServerConnector.getProject().then(function (project) {
-            map = helper.createCustomMap(project);
-            helper.createCommentDbOverlay(map);
-            map.setActiveSubmapId(map.getId());
-            map.setActiveSubmapClickCoordinates(new google.maps.Point(2, 12));
-            return map.openCommentDialog();
-        }).then(function () {
-            return map.getCommentDialog().addComment();
-        }).then(function () {
-            map.getCommentDialog().destroy();
-        });
-    });
-
-    it("addComment for protein", function () {
-        var map;
-        return ServerConnector.getProject().then(function (project) {
-            map = helper.createCustomMap(project);
-            helper.createCommentDbOverlay(map);
-            map.setActiveSubmapId(map.getId());
-            map.setActiveSubmapClickCoordinates(new google.maps.Point(2, 12));
-            return map.openCommentDialog();
-        }).then(function () {
-            var dialog = map.getCommentDialog();
-            dialog.setSelectedType(1);
-            return dialog.addComment();
-        }).then(function () {
-            map.getCommentDialog().destroy();
-        });
-    });
-
-    it("retrieveOverlayDetailDataForElement for comment", function () {
-        var map = helper.createCustomMap();
-        helper.createCommentDbOverlay(map);
+      var oc = helper.createDbOverlay(map);
 
+      var identifiedElements = [];
+      for (var i = 0; i < 3; i++) {
         var alias = helper.createAlias(map);
-        alias.setId(329158);
         map.getModel().addAlias(alias);
+        var ie = helper.createIdentifiedElement(alias);
+        ie.setIcon("");
+        identifiedElements.push(ie);
+      }
+
+      oc.getIdentifiedElements = function () {
+        return Promise.resolve(identifiedElements);
+      };
+
+      return map.renderOverlayCollection({
+        overlayCollection: oc
+      }).then(function () {
+        var aliasMarkerCount = 0;
+        var markers = oc.markers["ALIAS"];
+        for (var id in markers) {
+          if (markers.hasOwnProperty(id)) {
+            aliasMarkerCount++;
+          }
+        }
 
-        var ie = new IdentifiedElement(alias);
-
-        return map.retrieveOverlayDetailDataForElement(ie, {
-            comment: true
-        }).then(function (details) {
-            assert.ok(details);
-            assert.equal(details.length, 1);
-            assert.equal(details[0].length, 1);
-            assert.ok(details[0][0] instanceof Comment);
-        });
+        assert.equal(aliasMarkerCount, 3);
+      });
     });
 
-    it("getOverlayDataForIdentifiedElement", function () {
-        var map = helper.createCustomMap();
-        var commentOverlay = helper.createCommentDbOverlay(map);
+    it("for point", function () {
+      var map = helper.createCustomMap();
 
-        var alias = helper.createAlias(map);
-        alias.setId(329158);
-        map.getModel().addAlias(alias);
+      var oc = helper.createDbOverlay(map);
 
-        var ie = new IdentifiedElement(alias);
+      var javaObj = {
+        objectId: "Point2D.Double[117.685546875, 204.6923828125001]",
+        modelId: map.getId(),
+        type: "POINT",
+        icon: "marker/empty.png"
+      };
 
-        return map.getOverlayDataForIdentifiedElement(ie, {
-            comment: true
-        }).then(function (details) {
-            assert.equal(details.length, 1);
+      oc.getIdentifiedElements = function () {
+        return Promise.resolve([new IdentifiedElement(javaObj)]);
+      };
 
-            var overlayData = details[0];
-            assert.equal(overlayData.overlay, commentOverlay);
-            assert.ok(overlayData.data);
-            assert.equal(overlayData.data.length, 1);
-            assert.ok(overlayData.data[0] instanceof Comment);
-        });
-    });
-
-    it("openSubmap", function () {
-        var options = helper.createCustomMapOptions();
-
-        var submodel = helper.createModel();
-        options.getProject().getModel().addSubmodel(submodel);
-
-        var map = new CustomMap(options);
+      return map.renderOverlayCollection({
+        overlayCollection: oc
+      }).then(function () {
+        var markerCount = 0;
+        var markers = oc.markers["POINT"];
+        for (var id in markers) {
+          if (markers.hasOwnProperty(id)) {
+            markerCount++;
+          }
+        }
+        assert.equal(1, markerCount);
+      });
+    });
+
+    it("for reaction", function () {
+      var map = helper.createCustomMap();
+      var reaction = helper.createReaction();
+      map.getModel().addReaction(reaction);
+
+      var oc = helper.createDbOverlay(map);
+
+      var javaObj = {
+        objectId: reaction.getId(),
+        modelId: map.getId(),
+        type: "Reaction",
+      };
+
+      oc.getIdentifiedElements = function () {
+        return Promise.resolve([new IdentifiedElement(javaObj)]);
+      };
+
+      return map.renderOverlayCollection({
+        overlayCollection: oc
+      }).then(function () {
+        var markerCount = 0;
+        var markers = oc.mapOverlays["REACTION"];
+        for (var id in markers) {
+          if (markers.hasOwnProperty(id)) {
+            markerCount++;
+          }
+        }
+        assert.equal(1, markerCount);
+      });
+    });
+  });
+
+  it("clearDbOverlays", function () {
+    var map = helper.createCustomMap();
+
+    var oc = helper.createDbOverlay(map);
+
+    var javaObj = {
+      objectId: "Point2D.Double[117.685546875, 204.6923828125001]",
+      modelId: map.getId(),
+      type: "POINT",
+      icon: "marker/empty.png"
+    };
+    var searchResults = [new IdentifiedElement(javaObj)];
+
+    oc.getIdentifiedElements = function () {
+      return Promise.resolve(searchResults);
+    };
+    oc.clear = function () {
+      searchResults = [];
+      return this.callListeners("onSearch", searchResults);
+    };
+
+    return map.renderOverlayCollection({
+      overlayCollection: oc
+    }).then(function () {
+
+      return map.clearDbOverlays();
+    }).then(function () {
+      var markerCount = 0;
+      for (var id in oc.pointMarkers) {
+        if (oc.pointMarkers.hasOwnProperty(id)) {
+          markerCount++;
+        }
+      }
 
-        map.openSubmap(submodel.getId());
-        map.destroy();
+      assert.equal(0, markerCount);
     });
 
-    describe("setCenter", function () {
-        it("default", function () {
-            var options = helper.createCustomMapOptions();
+  });
 
-            var map = new CustomMap(options);
+  it("getInfoWindowForIdentifiedElement ( reaction)", function () {
+    var map = helper.createCustomMap();
+    var reaction = helper.createReaction(map);
+    map.getModel().addReaction(reaction);
 
-            map.setCenter(new google.maps.LatLng(10, 20));
-            assert.ok(ServerConnector.getSessionData().getCenter(map.getModel()));
-        });
+    var ie = helper.createIdentifiedElement(reaction);
 
-        it("on submap", function () {
-            var options = helper.createCustomMapOptions();
+    var infoWindow = map.getInfoWindowForIdentifiedElement(ie);
 
-            var submodel = helper.createModel();
-            options.getProject().getModel().addSubmodel(submodel);
+    assert.equal(null, infoWindow);
+    return map._openInfoWindowForReaction(reaction).then(function () {
+      infoWindow = map.getInfoWindowForIdentifiedElement(ie);
 
-            var map = new CustomMap(options);
-            map.openSubmap(submodel.getId());
-            map.setCenter(new google.maps.LatLng(10, 20));
-            assert.ok(ServerConnector.getSessionData().getCenter(submodel));
-            map.destroy();
-        });
+      assert.ok(infoWindow);
     });
 
-    it("setZoom", function () {
-        var options = helper.createCustomMapOptions();
+  });
 
-        var map = new CustomMap(options);
+  it("right click on map", function () {
+    var map = helper.createCustomMap();
+    map.setContextMenu(new MapContextMenu({
+      customMap: map,
+      element: testDiv
+    }));
 
-        map.setZoom(3);
-        assert.equal(3, ServerConnector.getSessionData().getZoomLevel(map.getModel()));
-    });
+    var mev = {
+      stop: null,
+      latLng: new google.maps.LatLng(40.0, -90.0)
+    };
 
-    it("removeSelection when invalid model selected", function () {
-        var options = helper.createCustomMapOptions();
+    assert.notOk(map.getActiveSubmapId());
+    google.maps.event.trigger(map.getGoogleMap(), 'rightclick', mev);
+    assert.equal(map.getId(), map.getActiveSubmapId());
 
-        var map = new CustomMap(options);
-        map.setActiveSubmapId(-1);
+  });
 
-        try {
-            map.removeSelection();
-            assert.ok(false);
-        } catch (e) {
-            assert.ok(e.message.indexOf("Cannot find submap") >= 0);
-        }
-    });
-
-    it("removeSelection", function () {
-        var options = helper.createCustomMapOptions();
-
-        var map = new CustomMap(options);
-        map.setActiveSubmapId(map.getId());
-        map.setSelectedArea(new google.maps.Rectangle({}));
-
-        map.removeSelection();
-        assert.equal(map.getSelectedArea(), null);
-    });
-
-    describe("createMarkerForDbOverlay", function () {
-        it("update marker", function () {
-            var map;
-            var marker1, marker2;
-            var element = new IdentifiedElement({
-                id: 329159,
-                modelId: 15781,
-                type: "ALIAS"
-            });
-            var overlay;
-            return ServerConnector.getProject().then(function (project) {
-                var options = helper.createCustomMapOptions(project);
-                map = new CustomMap(options);
-                overlay = helper.createDbOverlay(map);
-                return map.createMarkerForDbOverlay(element, overlay);
-            }).then(function (result) {
-                marker1 = result;
-                element.setIcon("another.png");
-                return map.createMarkerForDbOverlay(element, overlay);
-            }).then(function (result) {
-                marker2 = result;
-                assert.equal(marker1, marker2);
-            });
-        });
+  it("left click on map", function () {
+    var map;
+    var searchOverlay;
+    return ServerConnector.getProject().then(function (project) {
+      map = helper.createCustomMap(project);
+      searchOverlay = helper.createSearchDbOverlay(map);
 
-        it("update surface", function () {
-            var map;
-            var marker1, marker2;
-            var element = new IdentifiedElement({
-                id: 329159,
-                modelId: 15781,
-                type: "ALIAS"
-            });
-            var overlay;
-            return ServerConnector.getProject().then(function (project) {
-                var options = helper.createCustomMapOptions(project);
-                map = new CustomMap(options);
-                overlay = helper.createDbOverlay(map);
-                return map.createSurfaceForDbOverlay(element, overlay);
-            }).then(function (result) {
-                marker1 = result;
-                element.setColor("another.png");
-                return map.createSurfaceForDbOverlay(element, overlay);
-            }).then(function (result) {
-                marker2 = result;
-                assert.equal(marker1, marker2);
-            });
-        });
+      var mev = {
+        stop: null,
+        latLng: new google.maps.LatLng(82.32061703407554, -167.25586206896548),
+      };
+      map.getGoogleMap().setZoom(4);
+      // latLng : new google.maps.LatLng(82.40238643645326, -148.44758620689652)
 
-        it("reaction marker", function () {
-            var map;
-            var element = new IdentifiedElement({
-                id: 153508,
-                modelId: 15781,
-                type: "REACTION"
-            });
-            var overlay;
-            return ServerConnector.getProject().then(function (project) {
-                var options = helper.createCustomMapOptions(project);
-                map = new CustomMap(options);
-                overlay = helper.createDbOverlay(map);
-                return map.createMarkerForDbOverlay(element, overlay);
-            }).then(function (result) {
-                assert.ok(result.getReactionData());
-            });
-        });
+      assert.notOk(map.getActiveSubmapId());
+      return google.maps.event.trigger(map.getGoogleMap(), 'click', mev);
 
+    }).then(function () {
+      assert.equal(map.getId(), map.getActiveSubmapId());
+      assert.ok(searchOverlay.markers["ALIAS"][329171]);
     });
 
-    describe("_openInfoWindowForIdentifiedElement", function () {
-        it("for AliasMarker", function () {
-            var map;
-            var alias, marker;
-            return ServerConnector.getProject().then(function (project) {
-                map = helper.createCustomMap(project);
-                return map.getModel().getAliasById(329171);
-            }).then(function (result) {
-                alias = result;
-
-                var identifiedElement = new IdentifiedElement(alias);
-                identifiedElement.setIcon("empty.png");
+  });
 
-                marker = new AliasMarker({
-                    element: identifiedElement,
-                    map: map
-                });
+  it("left click on reaction", function () {
+    var map;
+    var searchOverlay;
+    return ServerConnector.getProject().then(function (project) {
+      map = helper.createCustomMap(project);
+      searchOverlay = helper.createSearchDbOverlay(map);
 
-                return marker.init();
-            }).then(function () {
-                assert.equal(null, map.getAliasInfoWindowById(alias.getId()));
-                return map._openInfoWindowForIdentifiedElement(marker).then(function () {
-                    assert.ok(map.getAliasInfoWindowById(alias.getId()));
-                });
-            });
-
-        });
-        it("for ReactionMarker", function () {
-            var map;
-            var reaction, marker;
-            return ServerConnector.getProject().then(function (project) {
-                map = helper.createCustomMap(project);
-                return map.getModel().getReactionById(153510);
-            }).then(function (result) {
-                reaction = result;
-
-                marker = new ReactionMarker({
-                    element: new IdentifiedElement(reaction),
-                    map: map
-                });
-                return marker.init();
-            }).then(function () {
-                assert.equal(null, map.getReactionInfoWindowById(reaction.getId()));
-                return map._openInfoWindowForIdentifiedElement(marker);
-            }).then(function () {
-                assert.ok(map.getReactionInfoWindowById(reaction.getId()));
-            });
+      var mev = {
+        stop: null,
+        latLng: new google.maps.LatLng(82.40238643645326, -148.44758620689652)
+      };
+      map.getGoogleMap().setZoom(4);
 
-        });
-        it("for PointMarker", function () {
+      assert.notOk(map.getActiveSubmapId());
+      return google.maps.event.trigger(map.getGoogleMap(), 'click', mev);
+    }).then(function () {
+      assert.equal(map.getId(), map.getActiveSubmapId());
+      assert.ok(searchOverlay.mapOverlays["REACTION"][153521]);
+      assert.ok(searchOverlay.mapOverlays["REACTION"][153521].isShown());
+      assert.ok(searchOverlay.markers["ALIAS"][329165]);
+    });
+  });
 
-            var mockObject = helper.createCustomMap();
+  it("create polygon through drawingManager", function () {
+    var map = helper.createCustomMap();
 
-            mockObject.getOverlayDataForPoint = function () {
-                return Promise.resolve([]);
-            };
+    map.setSelectionContextMenu(new SelectionContextMenu({
+      customMap: map,
+      element: testDiv
+    }));
 
-            var point = new google.maps.Point(2, 3.45);
-            var pointData = new PointData(point, mockObject.getId());
+    map.turnOnDrawing();
 
-            var pointMarker = new PointMarker({
-                element: new IdentifiedElement(pointData),
-                map: mockObject
-            });
+    var triangleCoordinates = [new google.maps.LatLng(25.774, -80.190), new google.maps.LatLng(18.466, -66.118),
+      new google.maps.LatLng(32.321, -64.757), new google.maps.LatLng(25.774, -80.190),];
 
-            return pointMarker.init().then(function () {
-                assert.equal(null, mockObject.getPointInfoWindowById(pointData.getId()));
-                return mockObject._openInfoWindowForIdentifiedElement(pointMarker.getIdentifiedElement());
-            }).then(function () {
-                assert.ok(mockObject.getPointInfoWindowById(pointData.getId()));
-            });
-        });
-    });
+    // Construct the polygon.
+    var bermudaTriangle = new google.maps.Polygon({
+      paths: triangleCoordinates,
+      strokeColor: '#FF0000',
+      strokeOpacity: 0.8,
+      strokeWeight: 2,
+      fillColor: '#FF0000',
+      fillOpacity: 0.35
+    });
+    bermudaTriangle.setMap(map.getGoogleMap());
+
+    var eventParam = {
+      type: google.maps.drawing.OverlayType.POLYGON,
+      overlay: bermudaTriangle,
+    };
+
+    // check creation complete behaviour
+    assert.ok(map.isDrawingOn());
+    assert.equal(google.maps.drawing.OverlayType.POLYGON, map._drawingManager.getDrawingMode());
+    google.maps.event.trigger(map._drawingManager, 'overlaycomplete', eventParam);
+    assert.ok(map.isDrawingOn());
+    assert.equal(null, map._drawingManager.getDrawingMode());
+
+    // and now check how it behaves when we click on the polygon
+    var clickEventParam = {
+      stop: null,
+      latLng: new google.maps.LatLng(40.0, -90.0)
+    };
+
+    assert.notOk(map.getSelectedPolygon());
+
+    assert.notOk(map.getActiveSubmapId());
+    assert.notOk(map.getSelectedArea());
+    google.maps.event.trigger(bermudaTriangle, 'rightclick', clickEventParam);
+    assert.ok(map.getSelectedArea());
+    assert.equal(map.getId(), map.getActiveSubmapId());
+
+    assert.ok(map.getSelectedPolygon());
+
+  });
+
+  it("getAliasVisibleLayoutsData", function () {
+    var mockObject = helper.createCustomMap();
+
+    var alias = helper.createAlias();
+    mockObject.getModel().addAlias(alias);
+
+    var layout = helper.createLayout();
+    layout.setInputDataAvailable(true);
+    layout.setInitialized(true);
+    mockObject.getModel().addLayout(layout);
+
+    return mockObject.openDataOverlay(layout.getId()).then(function () {
+      return mockObject.getAliasVisibleLayoutsData(alias.getId());
+    }).then(function (layoutAliases) {
+      assert.equal(layoutAliases.length, 1);
+    });
+  });
+
+  it("changed coordinates in map", function () {
+    var map = helper.createCustomMap();
+    var oldCenter = map.getGoogleMap().getCenter();
+    var newCenter = new google.maps.LatLng(3, 87);
+    map.getGoogleMap().setCenter(newCenter);
+    google.maps.event.trigger(map.getGoogleMap(), "center_changed");
+
+    var center = ServerConnector.getSessionData(map.getProject()).getCenter(map.getModel());
+    assert.ok(center !== oldCenter);
+    assert.ok(center instanceof google.maps.Point);
+  });
+
+  it("refreshComments", function () {
+    var map = helper.createCustomMap();
+    map.getModel().setId(15781);
+    var commentsOverlay = helper.createCommentDbOverlay(map);
+
+    ServerConnector.getSessionData().setShowComments(true);
+    return map.refreshComments().then(function () {
+      assert.notOk(commentsOverlay.markers["POINT"]['(241.01,372.35)']);
+      assert.ok(commentsOverlay.markers["POINT"]['(643.96,144.09)']);
+      assert.notOk(commentsOverlay.markers["POINT"]['(216.65,370.00)']);
+      assert.notOk(commentsOverlay.markers["POINT"]['unkId']);
+    });
+  });
+
+  it("hide comments", function () {
+    var map = helper.createCustomMap();
+    map.getModel().setId(15781);
+    var commentsOverlay = helper.createCommentDbOverlay(map);
+
+    ServerConnector.getSessionData().setShowComments(true);
+    return map.refreshComments().then(function () {
+      ServerConnector.getSessionData().setShowComments(false);
+      return map.refreshComments();
+    }).then(function () {
+      assert.notOk(commentsOverlay.markers["POINT"]['(241.01, 372.35)']);
+    });
+  });
+
+  it("openCommentDialog", function () {
+    var map = helper.createCustomMap();
+    map.getModel().setId(15781);
+    map.setActiveSubmapId(15781);
+    map.setActiveSubmapClickCoordinates(new google.maps.Point(2, 12));
+    return map.openCommentDialog().then(function () {
+      var types = map.getCommentDialog().getTypes();
+      assert.equal(types.length, 6);
+      var selected = map.getCommentDialog().getSelectedType();
+      assert.ok(selected === "<General>");
+
+      map.getCommentDialog().setSelectedType(1);
+      selected = map.getCommentDialog().getSelectedType();
+      assert.notOk(selected === "<General>");
+
+      map.getCommentDialog().setSelectedType(2);
+      selected = map.getCommentDialog().getSelectedType();
+      assert.notOk(selected === "<General>");
+    }).then(function () {
+      map.getCommentDialog().destroy();
+    });
+  });
+
+  it("addComment", function () {
+    var map;
+    return ServerConnector.getProject().then(function (project) {
+      map = helper.createCustomMap(project);
+      helper.createCommentDbOverlay(map);
+      map.setActiveSubmapId(map.getId());
+      map.setActiveSubmapClickCoordinates(new google.maps.Point(2, 12));
+      return map.openCommentDialog();
+    }).then(function () {
+      return map.getCommentDialog().addComment();
+    }).then(function () {
+      map.getCommentDialog().destroy();
+    });
+  });
+
+  it("addComment for protein", function () {
+    var map;
+    return ServerConnector.getProject().then(function (project) {
+      map = helper.createCustomMap(project);
+      helper.createCommentDbOverlay(map);
+      map.setActiveSubmapId(map.getId());
+      map.setActiveSubmapClickCoordinates(new google.maps.Point(2, 12));
+      return map.openCommentDialog();
+    }).then(function () {
+      var dialog = map.getCommentDialog();
+      dialog.setSelectedType(1);
+      return dialog.addComment();
+    }).then(function () {
+      map.getCommentDialog().destroy();
+    });
+  });
+
+  it("retrieveOverlayDetailDataForElement for comment", function () {
+    var map = helper.createCustomMap();
+    helper.createCommentDbOverlay(map);
+
+    var alias = helper.createAlias(map);
+    alias.setId(329158);
+    map.getModel().addAlias(alias);
+
+    var ie = new IdentifiedElement(alias);
+
+    return map.retrieveOverlayDetailDataForElement(ie, {
+      comment: true
+    }).then(function (details) {
+      assert.ok(details);
+      assert.equal(details.length, 1);
+      assert.equal(details[0].length, 1);
+      assert.ok(details[0][0] instanceof Comment);
+    });
+  });
+
+  it("getOverlayDataForIdentifiedElement", function () {
+    var map = helper.createCustomMap();
+    var commentOverlay = helper.createCommentDbOverlay(map);
+
+    var alias = helper.createAlias(map);
+    alias.setId(329158);
+    map.getModel().addAlias(alias);
+
+    var ie = new IdentifiedElement(alias);
+
+    return map.getOverlayDataForIdentifiedElement(ie, {
+      comment: true
+    }).then(function (details) {
+      assert.equal(details.length, 1);
+
+      var overlayData = details[0];
+      assert.equal(overlayData.overlay, commentOverlay);
+      assert.ok(overlayData.data);
+      assert.equal(overlayData.data.length, 1);
+      assert.ok(overlayData.data[0] instanceof Comment);
+    });
+  });
+
+  it("openSubmap", function () {
+    var options = helper.createCustomMapOptions();
+
+    var submodel = helper.createModel();
+    options.getProject().getModel().addSubmodel(submodel);
+
+    var map = new CustomMap(options);
+
+    map.openSubmap(submodel.getId());
+    map.destroy();
+  });
+
+  describe("setCenter", function () {
+    it("default", function () {
+      var options = helper.createCustomMapOptions();
+
+      var map = new CustomMap(options);
+
+      map.setCenter(new google.maps.LatLng(10, 20));
+      assert.ok(ServerConnector.getSessionData().getCenter(map.getModel()));
+    });
+
+    it("on submap", function () {
+      var options = helper.createCustomMapOptions();
+
+      var submodel = helper.createModel();
+      options.getProject().getModel().addSubmodel(submodel);
+
+      var map = new CustomMap(options);
+      map.openSubmap(submodel.getId());
+      map.setCenter(new google.maps.LatLng(10, 20));
+      assert.ok(ServerConnector.getSessionData().getCenter(submodel));
+      map.destroy();
+    });
+  });
+
+  it("setZoom", function () {
+    var options = helper.createCustomMapOptions();
+
+    var map = new CustomMap(options);
+
+    map.setZoom(3);
+    assert.equal(3, ServerConnector.getSessionData().getZoomLevel(map.getModel()));
+  });
+
+  it("removeSelection when invalid model selected", function () {
+    var options = helper.createCustomMapOptions();
+
+    var map = new CustomMap(options);
+    map.setActiveSubmapId(-1);
+
+    try {
+      map.removeSelection();
+      assert.ok(false);
+    } catch (e) {
+      assert.ok(e.message.indexOf("Cannot find submap") >= 0);
+    }
+  });
+
+  it("removeSelection", function () {
+    var options = helper.createCustomMapOptions();
+
+    var map = new CustomMap(options);
+    map.setActiveSubmapId(map.getId());
+    map.setSelectedArea(new google.maps.Rectangle({}));
+
+    map.removeSelection();
+    assert.equal(map.getSelectedArea(), null);
+  });
+
+  describe("createMarkerForDbOverlay", function () {
+    it("update marker", function () {
+      var map;
+      var marker1, marker2;
+      var element = new IdentifiedElement({
+        id: 329159,
+        modelId: 15781,
+        type: "ALIAS"
+      });
+      var overlay;
+      return ServerConnector.getProject().then(function (project) {
+        var options = helper.createCustomMapOptions(project);
+        map = new CustomMap(options);
+        overlay = helper.createDbOverlay(map);
+        return map.createMarkerForDbOverlay(element, overlay);
+      }).then(function (result) {
+        marker1 = result;
+        element.setIcon("another.png");
+        return map.createMarkerForDbOverlay(element, overlay);
+      }).then(function (result) {
+        marker2 = result;
+        assert.equal(marker1, marker2);
+      });
+    });
+
+    it("update surface", function () {
+      var map;
+      var marker1, marker2;
+      var element = new IdentifiedElement({
+        id: 329159,
+        modelId: 15781,
+        type: "ALIAS"
+      });
+      var overlay;
+      return ServerConnector.getProject().then(function (project) {
+        var options = helper.createCustomMapOptions(project);
+        map = new CustomMap(options);
+        overlay = helper.createDbOverlay(map);
+        return map.createSurfaceForDbOverlay(element, overlay);
+      }).then(function (result) {
+        marker1 = result;
+        element.setColor("another.png");
+        return map.createSurfaceForDbOverlay(element, overlay);
+      }).then(function (result) {
+        marker2 = result;
+        assert.equal(marker1, marker2);
+      });
+    });
+
+    it("reaction marker", function () {
+      var map;
+      var element = new IdentifiedElement({
+        id: 153508,
+        modelId: 15781,
+        type: "REACTION"
+      });
+      var overlay;
+      return ServerConnector.getProject().then(function (project) {
+        var options = helper.createCustomMapOptions(project);
+        map = new CustomMap(options);
+        overlay = helper.createDbOverlay(map);
+        return map.createMarkerForDbOverlay(element, overlay);
+      }).then(function (result) {
+        assert.ok(result.getReactionData());
+      });
+    });
+
+  });
+
+  describe("_openInfoWindowForIdentifiedElement", function () {
+    it("for AliasMarker", function () {
+      var map;
+      var alias, marker;
+      return ServerConnector.getProject().then(function (project) {
+        map = helper.createCustomMap(project);
+        return map.getModel().getAliasById(329171);
+      }).then(function (result) {
+        alias = result;
+
+        var identifiedElement = new IdentifiedElement(alias);
+        identifiedElement.setIcon("empty.png");
+
+        marker = new AliasMarker({
+          element: identifiedElement,
+          map: map
+        });
+
+        return marker.init();
+      }).then(function () {
+        assert.equal(null, map.getAliasInfoWindowById(alias.getId()));
+        return map._openInfoWindowForIdentifiedElement(marker).then(function () {
+          assert.ok(map.getAliasInfoWindowById(alias.getId()));
+        });
+      });
+
+    });
+    it("for ReactionMarker", function () {
+      var map;
+      var reaction, marker;
+      return ServerConnector.getProject().then(function (project) {
+        map = helper.createCustomMap(project);
+        return map.getModel().getReactionById(153510);
+      }).then(function (result) {
+        reaction = result;
+
+        marker = new ReactionMarker({
+          element: new IdentifiedElement(reaction),
+          map: map
+        });
+        return marker.init();
+      }).then(function () {
+        assert.equal(null, map.getReactionInfoWindowById(reaction.getId()));
+        return map._openInfoWindowForIdentifiedElement(marker);
+      }).then(function () {
+        assert.ok(map.getReactionInfoWindowById(reaction.getId()));
+      });
+
+    });
+    it("for PointMarker", function () {
+
+      var mockObject = helper.createCustomMap();
+
+      mockObject.getOverlayDataForPoint = function () {
+        return Promise.resolve([]);
+      };
+
+      var point = new google.maps.Point(2, 3.45);
+      var pointData = new PointData(point, mockObject.getId());
+
+      var pointMarker = new PointMarker({
+        element: new IdentifiedElement(pointData),
+        map: mockObject
+      });
+
+      return pointMarker.init().then(function () {
+        assert.equal(null, mockObject.getPointInfoWindowById(pointData.getId()));
+        return mockObject._openInfoWindowForIdentifiedElement(pointMarker.getIdentifiedElement());
+      }).then(function () {
+        assert.ok(mockObject.getPointInfoWindowById(pointData.getId()));
+      });
+    });
+  });
 
 });
diff --git a/frontend-js/src/test/js/map/CustomMapOptions-test.js b/frontend-js/src/test/js/map/CustomMapOptions-test.js
index 65bbdbc213..04e4f6d273 100644
--- a/frontend-js/src/test/js/map/CustomMapOptions-test.js
+++ b/frontend-js/src/test/js/map/CustomMapOptions-test.js
@@ -5,50 +5,53 @@ var chai = require('chai');
 var assert = chai.assert;
 var logger = require('../logger');
 
-describe('CustomMapOptions', function() {
-  it("contructor with invalid arg", function() {
-    try {
-      new CustomMapOptions({
-        markerOptimization : 12,
-        bigLogo : "some strange string",
-        hideDiv : "some div ide",
-        customTouchInterface : "strange param",
-        debug : "unk boolean"
-      });
-      assert.ok(false);
-    } catch (exception) {
-      assert.ok(exception.message.indexOf("element must be defined") >= 0);
-    }
-  });
+describe('CustomMapOptions', function () {
+  describe("constructor", function () {
+    it("with invalid arg", function () {
+      try {
+        new CustomMapOptions({
+          markerOptimization: 12,
+          bigLogo: "some strange string",
+          hideDiv: "some div ide",
+          customTouchInterface: "strange param",
+          debug: "unk boolean"
+        });
+        assert.ok(false);
+      } catch (exception) {
+        assert.ok(exception.message.indexOf("element must be defined") >= 0);
+      }
+    });
+    it("with invalid arg 3", function () {
+      try {
+        new CustomMapOptions({
+          element: testDiv,
+        });
+      } catch (exception) {
+        assert.ok(exception.message.indexOf("project must be defined") >= 0);
+      }
+    });
 
-  it("contructor with invalid arg 3", function() {
-    try {
+    it("with valid arg 2", function () {
+      var project = helper.createProject();
       new CustomMapOptions({
-        element : testDiv,
+        element: testDiv,
+        project: project,
+        debug: false,
       });
-    } catch (exception) {
-      assert.ok(exception.message.indexOf("project must be defined") >= 0);
-    }
-  });
 
-  it("contructor with valid arg 2", function() {
-    var project = helper.createProject();
-    new CustomMapOptions({
-      element : testDiv,
-      project : project,
-      debug : false,
+      assert.equal(0, logger.getErrors().length);
+      assert.equal(0, logger.getWarnings().length);
     });
 
-    assert.equal(0, logger.getErrors().length);
-    assert.equal(0, logger.getWarnings().length);
   });
-  
-  it("getDebug", function() {
+
+
+  it("getDebug", function () {
     var project = helper.createProject();
     var options = new CustomMapOptions({
-      element : testDiv,
-      project : project,
-      debug : true,
+      element: testDiv,
+      project: project,
+      debug: true,
     });
 
     assert.ok(options.isDebug());
diff --git a/frontend-js/src/test/js/map/Submap-test.js b/frontend-js/src/test/js/map/Submap-test.js
index 2adb8b24ec..8a20f0c9da 100644
--- a/frontend-js/src/test/js/map/Submap-test.js
+++ b/frontend-js/src/test/js/map/Submap-test.js
@@ -9,7 +9,7 @@ var chai = require('chai');
 var assert = chai.assert;
 
 describe('Submap', function() {
-  it("simple contructor", function() {
+  it("simple constructor", function() {
     var map = helper.createCustomMap();
 
     var model = helper.createModel();
diff --git a/frontend-js/src/test/js/map/data/Alias-test.js b/frontend-js/src/test/js/map/data/Alias-test.js
index afdfc51f59..ec4404357e 100644
--- a/frontend-js/src/test/js/map/data/Alias-test.js
+++ b/frontend-js/src/test/js/map/data/Alias-test.js
@@ -5,123 +5,126 @@ var chai = require('chai');
 var assert = chai.assert;
 var logger = require('../../logger');
 
-describe('Alias', function() {
-  beforeEach(function() {
+describe('Alias', function () {
+  beforeEach(function () {
     logger.flushBuffer();
   });
 
-  it("contructor with invalid arg", function() {
-    try {
-      new Alias({});
-      assert.ok(null);
-    } catch (exception) {
-      assert.ok(exception.message.indexOf("ModelId is not defined") >= 0);
-    }
-  });
+  describe("constructor", function () {
+    it("with invalid arg", function () {
+      try {
+        new Alias({});
+        assert.ok(null);
+      } catch (exception) {
+        assert.ok(exception.message.indexOf("ModelId is not defined") >= 0);
+      }
+    });
+    it("simple", function () {
+      var javaObject = {
+        bounds: {
+          x: 190,
+          y: 44,
+          width: 80,
+          height: 40
+        },
+        modelId: 57,
+        idObject: 18554
+      };
+      var alias = new Alias(javaObject);
+      assert.equal(alias.isComplete(), false);
+      assert.equal(null, alias.name);
+      assert.equal(alias.getX(), 190);
+    });
+    it("complex", function () {
+      var javaObject = {
+        notes: "",
+        type: "Protein",
+        name: "s1",
+        synonyms: [],
+        formerSymbols: [],
+        references: [],
+        other: [],
+        bounds: {
+          x: 59,
+          y: 73,
+          width: 80,
+          height: 40
+        },
+        modelId: 54,
+        idObject: 18552
+      };
+      var alias = new Alias(javaObject);
+      assert.ok(alias.isComplete());
+      assert.equal('s1', alias.name);
+    });
 
-  it("Alias simple contructor", function() {
-    var javaObject = {
-      bounds : {
-        x : 190,
-        y : 44,
-        width : 80,
-        height : 40
-      },
-      modelId : 57,
-      idObject : 18554
-    };
-    var alias = new Alias(javaObject);
-    assert.equal(alias.isComplete(), false);
-    assert.equal(null, alias.name);
-    assert.equal(alias.getX(), 190);
   });
 
-  it("Alias update method", function() {
+
+  it("Alias update method", function () {
     var javaObject = {
-      bounds : {
-        x : 190,
-        y : 44,
-        width : 80,
-        height : 40
+      bounds: {
+        x: 190,
+        y: 44,
+        width: 80,
+        height: 40
       },
-      modelId : 57,
-      idObject : 18554
+      modelId: 57,
+      idObject: 18554
     };
     var alias = new Alias(javaObject);
     var javaObject2 = {
-      notes : "",
-      type : "Protein",
-      name : "s1",
-      synonyms : [],
-      formerSymbols : [],
-      references : [],
-      other : [],
-      bounds : {
-        x : 59,
-        y : 73,
-        width : 80,
-        height : 40
+      notes: "",
+      type: "Protein",
+      name: "s1",
+      synonyms: [],
+      formerSymbols: [],
+      references: [],
+      other: [],
+      bounds: {
+        x: 59,
+        y: 73,
+        width: 80,
+        height: 40
       },
-      modelId : 54,
-      idObject : 18552
+      modelId: 54,
+      idObject: 18552
     };
     alias.update(javaObject2);
     assert.ok(alias.isComplete());
     assert.equal('s1', alias.name);
   });
 
-  it("Alias update method 2", function() {
+  it("Alias update method 2", function () {
     var javaObject = {
-      bounds : {
-        x : 190,
-        y : 44,
-        width : 80,
-        height : 40
+      bounds: {
+        x: 190,
+        y: 44,
+        width: 80,
+        height: 40
       },
-      modelId : 57,
-      idObject : 18554
+      modelId: 57,
+      idObject: 18554
     };
     var alias = new Alias(javaObject);
     var javaObject2 = {
-      notes : "",
-      type : "Protein",
-      synonyms : [],
-      formerSymbols : [],
-      references : [],
-      other : [],
-      bounds : {
-        x : 59,
-        y : 73,
-        width : 80,
-        height : 40
+      notes: "",
+      type: "Protein",
+      synonyms: [],
+      formerSymbols: [],
+      references: [],
+      other: [],
+      bounds: {
+        x: 59,
+        y: 73,
+        width: 80,
+        height: 40
       },
-      modelId : 54,
-      idObject : 18552
+      modelId: 54,
+      idObject: 18552
     };
     alias.update(javaObject2);
     assert.equal(alias.isComplete(), false);
   });
 
-  it("Alias complex contructor", function() {
-    var javaObject = {
-      notes : "",
-      type : "Protein",
-      name : "s1",
-      synonyms : [],
-      formerSymbols : [],
-      references : [],
-      other : [],
-      bounds : {
-        x : 59,
-        y : 73,
-        width : 80,
-        height : 40
-      },
-      modelId : 54,
-      idObject : 18552
-    };
-    var alias = new Alias(javaObject);
-    assert.ok(alias.isComplete());
-    assert.equal('s1', alias.name);
-  });
 });
diff --git a/frontend-js/src/test/js/map/data/GeneVariant-test.js b/frontend-js/src/test/js/map/data/GeneVariant-test.js
index a776ad9f68..de7f1fa518 100644
--- a/frontend-js/src/test/js/map/data/GeneVariant-test.js
+++ b/frontend-js/src/test/js/map/data/GeneVariant-test.js
@@ -4,7 +4,7 @@ var GeneVariant = require('../../../../main/js/map/data/GeneVariant');
 var assert = require('assert');
 
 describe('GeneVariant', function() {
-  it("contructor", function() {
+  it("constructor", function() {
     var data = {
       position : 12,
       originalDna : "A",
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 755f32394c..271f40c60f 100644
--- a/frontend-js/src/test/js/map/data/IdentifiedElement-test.js
+++ b/frontend-js/src/test/js/map/data/IdentifiedElement-test.js
@@ -11,163 +11,167 @@ var chai = require('chai');
 var assert = chai.assert;
 var expect = chai.expect;
 
-describe('IdentifiedElement', function() {
-  beforeEach(function() {
+describe('IdentifiedElement', function () {
+  beforeEach(function () {
     logger.flushBuffer();
   });
 
-  it("simple contructor", function() {
-    var javaObj = {
-      objectId : "31165",
-      modelId : 269,
-      type : "alias",
-      icon : "marker/marker/marker_red_1.png"
-    };
-    var ie = new IdentifiedElement(javaObj);
-    assert.ok(ie);
-    assert.equal(31165, ie.getId());
-    assert.equal(269, ie.getModelId());
-    assert.equal("ALIAS", ie.getType());
-    assert.equal("marker/marker/marker_red_1.png", ie.getIcon());
+  describe("constructor", function () {
+    it("simple", function () {
+      var javaObj = {
+        objectId: "31165",
+        modelId: 269,
+        type: "alias",
+        icon: "marker/marker/marker_red_1.png"
+      };
+      var ie = new IdentifiedElement(javaObj);
+      assert.ok(ie);
+      assert.equal(31165, ie.getId());
+      assert.equal(269, ie.getModelId());
+      assert.equal("ALIAS", ie.getType());
+      assert.equal("marker/marker/marker_red_1.png", ie.getIcon());
+    });
+
+    it("from point", function () {
+      var javaObj = {
+        objectId: "Point2D.Double[117.685546875, 204.6923828125001]",
+        modelId: 269,
+        type: "POINT",
+        icon: "icons/comment.png"
+      };
+      var ie = new IdentifiedElement(javaObj);
+      assert.ok(ie);
+      assert.ok(ie.getPoint());
+    });
+
+    it("from point 2", function () {
+      var javaObj = {
+        objectId: "(117.685546875, 204.6923828125001)",
+        modelId: 269,
+        type: "POINT",
+        icon: "empty.png"
+      };
+      var ie = new IdentifiedElement(javaObj);
+      assert.ok(ie);
+      assert.ok(ie.getPoint());
+    });
+    it("from alias", function () {
+      var jsonString = '{"bounds":{"x":190,"y":44,"width":80,"height":40},"modelId":57,"idObject":18554}';
+      var javaObject = JSON.parse(jsonString);
+      var alias = new Alias(javaObject);
+      var ie = new IdentifiedElement(alias);
+      assert.ok(ie);
+      assert.equal(ie.getType(), "ALIAS");
+    });
+
+    it("from Reaction", function () {
+      var javaObject = {
+        lines: [{
+          start: Object,
+          end: Object,
+          type: "START"
+        }, {
+          start: Object,
+          end: Object,
+          type: "END"
+        }, {
+          start: Object,
+          end: Object,
+          type: "MIDDLE"
+        }],
+        modelId: 319,
+        idObject: "13178",
+        centerPoint: {}
+      };
+      var reaction = new Reaction(javaObject);
+
+      var ie = new IdentifiedElement(reaction);
+      assert.ok(ie);
+      assert.equal(ie.getType(), "REACTION");
+    });
+
+    it("from invalid object", function () {
+      var javaObject = {
+        modelId: 2
+      };
+      var code = function () {
+        new IdentifiedElement(javaObject);
+      };
+      assert.throws(code, new RegExp("Type not defined"));
+    });
+
+    it("from PointData", function () {
+      var modelId = 3;
+      var point = new google.maps.Point(2, 3.45);
+      var pointData = new PointData(point, modelId);
+
+      var ie = new IdentifiedElement(pointData);
+      assert.ok(ie);
+      assert.equal(ie.getType(), "POINT");
+    });
+
+    it("from invalid object 2", function () {
+      var javaObject = {
+        modelId: 2,
+        type: "unk_type"
+      };
+      var code = function () {
+        new IdentifiedElement(javaObject);
+      };
+      assert.throws(code, new RegExp("Unknown type"));
+    });
+
+    it("from invalid object 3", function () {
+      var javaObject = {
+        type: "alias",
+        objectId: "el_id"
+      };
+      var code = function () {
+        new IdentifiedElement(javaObject);
+      };
+      assert.throws(code, new RegExp("ModelId is invalid"));
+    });
+
+    it("from invalid object 4", function () {
+      var javaObject = {
+        type: "alias",
+        modelId: 4,
+      };
+      var code = function () {
+        new IdentifiedElement(javaObject);
+      };
+      assert.throws(code, new RegExp("Id not defined"));
+    });
+
+    it("from artificial obj", function () {
+      var javaObject = {
+        type: "alias",
+        objectId: "el_id",
+        modelId: "m_id"
+      };
+      var ie = new IdentifiedElement(javaObject);
+      var point = ie.getPoint();
+      expect(point).to.equal(null);
+      assert.equal(logger.getWarnings().length, 1);
+    });
+
   });
 
-  it("equals", function() {
+  it("equals", function () {
     var javaObj = {
-      objectId : "31165",
-      modelId : 269,
-      type : "alias"
+      objectId: "31165",
+      modelId: 269,
+      type: "alias"
     };
     var ie = new IdentifiedElement(javaObj);
     var ie2 = new IdentifiedElement(javaObj);
-    
+
     var ie3 = helper.createIdentifiedElement();
-    
+
     assert.ok(ie.equals(ie));
     assert.ok(ie.equals(ie2));
     assert.notOk(ie.equals(ie3));
-    
-  });
 
-  it("point contructor", function() {
-    var javaObj = {
-      objectId : "Point2D.Double[117.685546875, 204.6923828125001]",
-      modelId : 269,
-      type : "POINT",
-      icon : "icons/comment.png"
-    };
-    var ie = new IdentifiedElement(javaObj);
-    assert.ok(ie);
-    assert.ok(ie.getPoint());
   });
 
-  it("point contructor 2", function() {
-    var javaObj = {
-      objectId : "(117.685546875, 204.6923828125001)",
-      modelId : 269,
-      type : "POINT",
-      icon : "empty.png"
-    };
-    var ie = new IdentifiedElement(javaObj);
-    assert.ok(ie);
-    assert.ok(ie.getPoint());
-  });
-  it("contructor from alias", function() {
-    var jsonString = '{"bounds":{"x":190,"y":44,"width":80,"height":40},"modelId":57,"idObject":18554}';
-    var javaObject = JSON.parse(jsonString);
-    var alias = new Alias(javaObject);
-    var ie = new IdentifiedElement(alias);
-    assert.ok(ie);
-    assert.equal(ie.getType(), "ALIAS");
-  });
-
-  it("contructor from Reaction", function() {
-    var javaObject = {
-      lines : [ {
-        start : Object,
-        end : Object,
-        type : "START"
-      }, {
-        start : Object,
-        end : Object,
-        type : "END"
-      }, {
-        start : Object,
-        end : Object,
-        type : "MIDDLE"
-      } ],
-      modelId : 319,
-      idObject : "13178",
-      centerPoint : {}
-    };
-    var reaction = new Reaction(javaObject);
-
-    var ie = new IdentifiedElement(reaction);
-    assert.ok(ie);
-    assert.equal(ie.getType(), "REACTION");
-  });
-
-  it("contructor from invalid object", function() {
-    var javaObject = {
-      modelId : 2
-    };
-    var code = function() {
-      new IdentifiedElement(javaObject);
-    };
-    assert.throws(code, new RegExp("Type not defined"));
-  });
-
-  it("contructor from PointData", function() {
-    var modelId = 3;
-    var point = new google.maps.Point(2, 3.45);
-    var pointData = new PointData(point, modelId);
-
-    var ie = new IdentifiedElement(pointData);
-    assert.ok(ie);
-    assert.equal(ie.getType(), "POINT");
-  });
-
-  it("contructor from invalid object 2", function() {
-    var javaObject = {
-      modelId : 2,
-      type : "unk_type"
-    };
-    var code = function() {
-      new IdentifiedElement(javaObject);
-    };
-    assert.throws(code, new RegExp("Unknown type"));
-  });
-
-  it("contructor from invalid object 3", function() {
-    var javaObject = {
-      type : "alias",
-      objectId : "el_id"
-    };
-    var code = function() {
-      new IdentifiedElement(javaObject);
-    };
-    assert.throws(code, new RegExp("ModelId is invalid"));
-  });
-
-  it("contructor from invalid object 4", function() {
-    var javaObject = {
-      type : "alias",
-      modelId : 4,
-    };
-    var code = function() {
-      new IdentifiedElement(javaObject);
-    };
-    assert.throws(code, new RegExp("Id not defined"));
-  });
-
-  it("contructor from artifitial obj", function() {
-    var javaObject = {
-      type : "alias",
-      objectId : "el_id",
-      modelId : "m_id"
-    };
-    var ie = new IdentifiedElement(javaObject);
-    var point = ie.getPoint();
-    expect(point).to.equal(null);
-    assert.equal(logger.getWarnings().length, 1);
-  });
 });
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 cd33b25e11..d4fd9295f4 100644
--- a/frontend-js/src/test/js/map/data/LayoutAlias-test.js
+++ b/frontend-js/src/test/js/map/data/LayoutAlias-test.js
@@ -70,7 +70,7 @@ describe('LayoutAlias', function() {
       alias.update("invalid data");
       assert.ok(false);
     } catch (exception) {
-      assert.ok(exception.message.indexOf("Unknown paramter type") >= 0);
+      assert.ok(exception.message.indexOf("Unknown parameter type") >= 0);
     }
 
   });
diff --git a/frontend-js/src/test/js/map/data/LayoutData-test.js b/frontend-js/src/test/js/map/data/LayoutData-test.js
index ed1af0ba80..92413c34b7 100644
--- a/frontend-js/src/test/js/map/data/LayoutData-test.js
+++ b/frontend-js/src/test/js/map/data/LayoutData-test.js
@@ -9,7 +9,7 @@ var assert = chai.assert;
 var logger = require('../../logger');
 
 describe('LayoutData', function() {
-  describe("contructor", function() {
+  describe("constructor", function() {
     it("default", function() {
       var layoutId = 3;
       var name = "nm";
@@ -43,7 +43,7 @@ describe('LayoutData', function() {
       assert.equal(data.getDirectory(), "dir/subDir");
     });
 
-    it("from prolematic json", function() {
+    it("from problematic json", function() {
       var obj = {
         modelId : 15781,
         name : "test",
diff --git a/frontend-js/src/test/js/map/data/PointData-test.js b/frontend-js/src/test/js/map/data/PointData-test.js
index b950c77d44..4a4d577bcf 100644
--- a/frontend-js/src/test/js/map/data/PointData-test.js
+++ b/frontend-js/src/test/js/map/data/PointData-test.js
@@ -1,12 +1,12 @@
 "use strict";
 
 var PointData = require('../../../../main/js/map/data/PointData');
-var IdentfiedElement = require('../../../../main/js/map/data/IdentifiedElement');
+var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
 var assert = require('assert');
 
 describe('PointData', function() {
-  describe("contructor", function() {
-    it("from coords", function() {
+  describe("constructor", function() {
+    it("from coordinates", function() {
       var point = new google.maps.Point(2, 3.45);
       var pointData = new PointData(point);
       assert.ok(pointData);
@@ -28,7 +28,7 @@ describe('PointData', function() {
       var pointData = new PointData({
         idObject : "Point2D.Double[2.0, 3.0]"
       }, 102);
-      var ie = new IdentfiedElement(pointData);
+      var ie = new IdentifiedElement(pointData);
       var pointData2 = new PointData(ie);
       assert.equal(pointData.getModelId(), pointData2.getModelId());
     });
diff --git a/frontend-js/src/test/js/map/data/ReferenceGenome-test.js b/frontend-js/src/test/js/map/data/ReferenceGenome-test.js
index 92cac57805..c3eff93fdd 100644
--- a/frontend-js/src/test/js/map/data/ReferenceGenome-test.js
+++ b/frontend-js/src/test/js/map/data/ReferenceGenome-test.js
@@ -3,39 +3,42 @@
 var ReferenceGenome = require('../../../../main/js/map/data/ReferenceGenome');
 var assert = require('assert');
 
-describe('ReferenceGenome', function() {
-  it("contructor", function() {
-    var data = {
-      type : "TYP",
-      version : "v3",
-      localUrl : "http://google.pl/",
-      sourceUrl : "http://google.pl/",
-    };
-    var genome = new ReferenceGenome(data);
-    assert.equal(genome.getType(), data.type);
-    assert.equal(genome.getVersion(), data.version);
-    assert.equal(genome.getUrl(), data.localUrl);
-    assert.equal(genome.getGeneMappings().length, 0);
-  });
+describe('ReferenceGenome', function () {
+  describe("constructor", function () {
+    it("full", function () {
+      var data = {
+        type: "TYP",
+        version: "v3",
+        localUrl: "http://google.pl/",
+        sourceUrl: "http://google.pl/",
+      };
+      var genome = new ReferenceGenome(data);
+      assert.equal(genome.getType(), data.type);
+      assert.equal(genome.getVersion(), data.version);
+      assert.equal(genome.getUrl(), data.localUrl);
+      assert.equal(genome.getGeneMappings().length, 0);
+    });
+    it("simple", function () {
+      var data = {
+        sourceUrl: "http://google.pl/",
+        geneMapping: [{}],
+      };
+      var genome = new ReferenceGenome(data);
+      assert.equal(genome.getUrl(), data.sourceUrl);
+      assert.equal(genome.getGeneMappings().length, 1);
+    });
 
-  it("contructor 2", function() {
-    var data = {
-      sourceUrl : "http://google.pl/",
-      geneMapping : [ {} ],
-    };
-    var genome = new ReferenceGenome(data);
-    assert.equal(genome.getUrl(), data.sourceUrl);
-    assert.equal(genome.getGeneMappings().length, 1);
-  });
+    it("empty argument", function () {
+      var genome = new ReferenceGenome();
+      assert.ok(genome);
+    });
 
-  it("contructor 3", function() {
-    var genome = new ReferenceGenome();
-    assert.ok(genome);
-  });
+    it("null argument", function () {
+      var genome = new ReferenceGenome(null);
+      assert.ok(genome);
+    });
 
-  it("contructor with null arg", function() {
-    var genome = new ReferenceGenome(null);
-    assert.ok(genome);
   });
 
+
 });
diff --git a/frontend-js/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js b/frontend-js/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js
index 64d68ceab5..9b05299fba 100644
--- a/frontend-js/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js
+++ b/frontend-js/src/test/js/map/data/ReferenceGenomeGeneMapping-test.js
@@ -4,7 +4,7 @@ var ReferenceGenomeGeneMapping = require('../../../../main/js/map/data/Reference
 var assert = require('assert');
 
 describe('ReferenceGenomeGeneMapping', function() {
-  it("contructor", function() {
+  it("constructor", function() {
     var data = {
       name: "TYPe",
       localUrl : "http://google.pl/",
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 13f742cba1..ec99abe767 100644
--- a/frontend-js/src/test/js/map/overlay/UserDbOverlay-test.js
+++ b/frontend-js/src/test/js/map/overlay/UserDbOverlay-test.js
@@ -53,7 +53,7 @@ describe('UserDbOverlay', function() {
   });
 
   describe("addMarker", function() {
-    it("add unexisting object", function() {
+    it("add non existing object", function() {
       var overlay;
       return ServerConnector.getProject().then(function(project) {
         var options = helper.createCustomMapOptions(project);
@@ -79,7 +79,7 @@ describe('UserDbOverlay', function() {
       });
     });
 
-    it("add to unexisting map", function() {
+    it("add to non existing map", function() {
       var overlay;
       return ServerConnector.getProject().then(function(project) {
         var options = helper.createCustomMapOptions(project);
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 52f8f5b1ce..724cf40907 100644
--- a/frontend-js/src/test/js/map/surface/ReactionSurface-test.js
+++ b/frontend-js/src/test/js/map/surface/ReactionSurface-test.js
@@ -55,7 +55,7 @@ describe('ReactionSurface', function() {
 
   });
 
-  it("changedToCustimzed", function() {
+  it("changedToCustomized", function() {
     var map = helper.createCustomMap();
     var reaction = helper.createReaction(map);
     var layoutReaction = helper.createLayoutReaction(reaction);
@@ -67,12 +67,12 @@ describe('ReactionSurface', function() {
       customized : false
     });
 
-    reactionOverlay.changedToCustimzed();
+    reactionOverlay.changedToCustomized();
     assert.ok(reactionOverlay.isCustomized());
 
   });
 
-  it("createline", function() {
+  it("createLine", function() {
     var map = helper.createAbstractCustomMap();
 
     var line = ReactionSurface.createLine({
diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js
index bd6652b84d..ace46e3e10 100644
--- a/frontend-js/src/test/js/minerva-test.js
+++ b/frontend-js/src/test/js/minerva-test.js
@@ -16,15 +16,10 @@ var logger = require('./logger');
 
 describe('minerva global', function () {
   beforeEach(function () {
-    global.scriptDiv = document.createElement("script");
-    global.GuiConnector = undefined;
     global.ServerConnector = undefined;
-    document.body.appendChild(global.scriptDiv);
   });
 
   afterEach(function () {
-    document.body.removeChild(global.scriptDiv);
-    global.GuiConnector = GuiConnectorMock;
     global.ServerConnector = ServerConnectorMock;
   });
 
@@ -98,7 +93,7 @@ describe('minerva global', function () {
     });
   });
 
-  it("constructor with GET coord param", function () {
+  it("constructor with GET coordinates param", function () {
     helper.setUrl("http://test/?x=5&y=6");
     var options;
     return ServerConnectorMock.getProject().then(function (project) {
@@ -186,7 +181,7 @@ describe('minerva global', function () {
     });
   });
 
-  it('create with show sumbodel GET param', function () {
+  it('create with show submodel GET param', function () {
     helper.setUrl("http://test/?submap=15781");
 
     var project = helper.createProject();
diff --git a/frontend-js/src/test/js/mocha-config.js b/frontend-js/src/test/js/mocha-config.js
index 6ca11b6142..dda8135e47 100644
--- a/frontend-js/src/test/js/mocha-config.js
+++ b/frontend-js/src/test/js/mocha-config.js
@@ -53,7 +53,7 @@ before(function () {
   var originalCreateElement = document.createElement;
   document.createElement = function (arg) {
     var result = originalCreateElement.call(this, arg);
-    // woraround for: https://github.com/tmpvar/jsdom/issues/961
+    // workaround for: https://github.com/tmpvar/jsdom/issues/961
     if ("li" === arg) {
       result.dataset = [];
     }
-- 
GitLab