Topojsons have all been formatted with jsonlint
Added topojson files for all supportted maps, optimised the countries topojson files to remove unused properties.

Added Javadocs for UiTopoMap

Refactored Topo Maps to use UiTopoMapFactory, UiTopoMap classes.

Change-Id: I976137baa7f62a81e48231e1612b967d39dc641d

Refactored Topo Maps to use UiTopoMapFactory, UiTopoMap classes.

Change-Id: I976137baa7f62a81e48231e1612b967d39dc641d

Added Copyright

Change-Id: Ie62171ba6ab08bbf955bc444cd2db41d0c30baaa

Added file path for topojson or svg

Change-Id: Ib1fc79672079ec4c6e2cd35bc39a28abeafca297

Line break to account for the soft limit

Change-Id: Ib2b57ceee139b20a73d7ad0110b37fc1b5326ed7

Added File Path to the Map Class

Change-Id: Ic6ae4ca507e58155bb106ad46be14e048dc3a95c

Added File Path to the Map Class

Change-Id: Ib2200b0bf315f9dccb581447ddb4b6f6669e34ff
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index e37e987..1b6859c 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -376,7 +376,12 @@
     function currentMap() {
         return ps.getPrefs(
             'topo_mapid',
-            { mapid: 'usa', mapscale: 1, tint: 'off'},
+            {
+                mapid: 'usa',
+                mapscale: 1,
+                mapfilepath: '*continental_us',
+                tint: 'off'
+            },
             $loc.search()
         );
     }
@@ -384,6 +389,7 @@
     function setUpMap() {
         var prefs = currentMap(),
             mapId = prefs.mapid,
+            mapFilePath = prefs.mapfilepath,
             mapScale = prefs.mapscale,
             tint = prefs.tint,
             promise,
@@ -402,35 +408,24 @@
                 d3.selectAll(this.childNodes).remove();
             });
         }
-        if (mapId === 'usa') {
-            shadeFlip = 0;
-            promise = ms.loadMapInto(mapG, '*continental_us', {
-                adjustScale: mapScale,
-                shading: shading()
-            });
-        } else if (mapId === 'bayarea') {
-            shadeFlip = 1;
-            promise = ms.loadMapInto(mapG, '*bayarea', {
-                objectTag: 'bayareaGEO',
-                adjustScale: mapScale,
-                shading: shading()
-            });
-        } else if (mapId === 'taiwan') {
-            shadeFlip = 0;
-            promise = ms.loadMapInto(mapG, '*taiwan', {
-                objectTag: 'taiwan',
-                adjustScale: mapScale,
-                shading: shading()
-            })
-        } else {
-            shadeFlip = 0;
+
+        if (mapFilePath === '*countries') {
+
             cfilter = countryFilters[mapId] || countryFilters.uk;
+
             promise = ms.loadMapRegionInto(mapG, {
                 countryFilter: cfilter,
                 adjustScale: mapScale,
                 shading: shading()
             });
+        } else {
+
+            promise = ms.loadMapInto(mapG, mapFilePath, mapId, {
+                adjustScale: mapScale,
+                shading: shading()
+            });
         }
+
         ps.setPrefs('topo_mapid', prefs);
         return promise;
     }