Index: trunk/webapps/cptms/js/calloutLayer.js
===================================================================
--- trunk/webapps/cptms/js/calloutLayer.js	(revision 539)
+++ trunk/webapps/cptms/js/calloutLayer.js	(revision 557)
@@ -13,4 +13,7 @@
 // a list of infoWindows, one for each region
 var infowindows = [];
+// a list of crew contact info, one for each region
+// each item contains supervisor name, region number, phone number
+var crewcontact = {};
 
 // Initialize the layer by showing a control button and drawing polygons
@@ -40,6 +43,20 @@
 
     });
-    // Go create the polygons
-    initPolygons();
+
+    // Load the crew contact info from an external file
+    loadJSON("data_layers/crewcontact.json", function(response)
+    {
+        // Parse JSON string into object
+        contactjson = JSON.parse(response);
+        // Add each contact to a lookup dictionary 
+        for (var i = 0; i < contactjson.length; i++)
+        {
+            var item = contactjson[i];
+            crewcontact[item.Region] = item;
+        }
+        // Go create the polygons (after JSON finishes loading)
+        initPolygons();
+    });
+
 }
 // Show the layer (the polygons and markers)
@@ -222,5 +239,5 @@
             lng: -117.9475  //-117.91213989257814
         },
-        infoContent: "Phone numbers crew 12"
+        infoContent: crewcontact["12"].Supervisor + " " + crewcontact["12"].Phone
     }, 
     {
@@ -232,5 +249,5 @@
             lng: -117.8545  //-117.85858154296876
         }, 
-        infoContent: "Phone numbers crew 11"
+        infoContent: crewcontact["11"].Supervisor + " " + crewcontact["11"].Phone
     }, 
     {
@@ -242,5 +259,5 @@
             lng: -117.69790649414064
         },
-        infoContent: "Phone numbers crew 10"
+        infoContent: crewcontact["10"].Supervisor + " " + crewcontact["10"].Phone
     }, 
     {
@@ -252,5 +269,5 @@
             lng: -117.9986572265625
         },
-        infoContent: "Phone numbers crew 22"
+        infoContent: crewcontact["22"].Supervisor + " " + crewcontact["22"].Phone
     }, 
     {
@@ -262,5 +279,5 @@
             lng: -117.92999267578126
         }, 
-        infoContent: "Phone numbers crew 21"
+        infoContent: crewcontact["21"].Supervisor + " " + crewcontact["21"].Phone
     }, 
     {
@@ -272,5 +289,5 @@
             lng: -118.03573608398439
         }, 
-        infoContent: "Phone numbers crew 20"
+        infoContent: crewcontact["20"].Supervisor + " " + crewcontact["20"].Phone
     }, 
     {
@@ -282,5 +299,5 @@
             lng: -117.68829345703126
         },
-        infoContent: "Phone numbers crew 32"
+        infoContent: crewcontact["32"].Supervisor + " " + crewcontact["32"].Phone
     }, 
     {
@@ -292,5 +309,5 @@
             lng: -117.80364990234376
         },
-        infoContent: "Phone numbers crew 31"
+        infoContent: crewcontact["31"].Supervisor + " " + crewcontact["31"].Phone
     }, 
     {
@@ -302,5 +319,5 @@
             lng: -117.5805  //-117.5784
         },
-        infoContent: "JENNY WELLS 949-462-8102"
+        infoContent: crewcontact["30"].Supervisor + " " + crewcontact["30"].Phone
     }, 
     ];
Index: trunk/webapps/cptms/data_layers/crewcontact.json
===================================================================
--- trunk/webapps/cptms/data_layers/crewcontact.json	(revision 557)
+++ trunk/webapps/cptms/data_layers/crewcontact.json	(revision 557)
@@ -0,0 +1,57 @@
+[
+ {
+   "Supervisor": "GARIN SCHNEIDER",
+   "Region": 10,
+   "Phone": "949-456-0120"
+ },
+ {
+   "Supervisor": "ORALIA MENDEZ",
+   "Region": 11,
+   "Phone": "949-457-1964"
+ },
+ {
+   "Supervisor": "JORGE MEJIA",
+   "Region": 12,
+   "Phone": "949-458-6166"
+ },
+ {
+   "Supervisor": "HAL COTA",
+   "Region": 20,
+   "Phone": "949-459-6700"
+ },
+ {
+   "Supervisor": "JERRALD NANCE",
+   "Region": 21,
+   "Phone": "949-460-4193"
+ },
+ {
+   "Supervisor": "KARLA SMITH",
+   "Region": 22,
+   "Phone": "949-461-6807"
+ },
+ {
+   "Supervisor": "JENNY WELLS",
+   "Region": 30,
+   "Phone": "949-462-8102"
+ },
+ {
+   "Supervisor": "JOEL ARRIA",
+   "Region": 31,
+   "Phone": "949-463-1105"
+ },
+ {
+   "Supervisor": "APRIL MAY",
+   "Region": 32,
+   "Phone": "949-464-6560"
+ },
+ {
+   "Supervisor": "MARJIE FONG",
+   "Region": 35,
+   "Phone": "949-453-3601"
+ },
+ {
+   "Supervisor": "LISA BLUM",
+   "Region": 40,
+   "Phone": "949-451-1980"
+ }
+]
Index: trunk/webapps/common/js/fileutils.js
===================================================================
--- trunk/webapps/common/js/fileutils.js	(revision 551)
+++ trunk/webapps/common/js/fileutils.js	(revision 557)
@@ -1,4 +1,5 @@
 // Load the dynamic json file for highways, etc.
 // Ref: https://codepen.io/KryptoniteDove/post/load-json-file-locally-using-pure-javascript
+// Can also load .csv files
 function loadJSON(inFile, callback)
 {
