﻿dojo.require("esri.map");
dojo.require("esri.toolbars.navigation");
dojo.require("esri.tasks.identify");
dojo.require("esri.virtualearth.VETiledLayer");
dojo.require("dijits.overview.OverviewMap");
dojo.require("esri.tasks.geometry");
dojo.require("esri.toolbars.draw");
dojo.require("esri.tasks.query");

var streetMap = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer";
var satelliteMap = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer";
var applicationURL = "http://srwmd.pbsjis.com/map/";
var baseDFIRMURL = applicationURL + "FloodInformation/";
var DFIRMFileExt = ".png";
var baseCountyFISURL = "http://www.srwmdfloodmaps.com/pdf/fis_";

// ArcGIS Server base URL
// Test
//var ServicesUrl = "http://ausdev02vm1/";
//Production
var ServicesUrl = "http://odcisgis1.pbsjis.com/";

// Note: Update Proxy.Config also
var baseDataLayer = ServicesUrl + "ArcGIS/rest/services/srwmd/SRWMD_Web_Map_Viewer_phase1/MapServer";
var overviewDataLayer = ServicesUrl + "ArcGIS/rest/services/srwmd/SRWMD_Web_Map_Viewer_phase1/MapServer";
var reportPrintMapLayer = ServicesUrl + "ArcGIS/rest/services/srwmd/Map_Standard_8.5x11/MapServer";
var srwmdAerials = ServicesUrl + "ArcGIS/rest/services/srwmd/SRWMD_Aerials/MapServer";
var srwmdAerialsLevel = 15;
var geometryService = ServicesUrl + "ArcGIS/rest/services/Geometry/GeometryServer";
var locatorService = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer";
var queryService = ServicesUrl + "ArcGIS/rest/services/srwmd/SRWMD_Web_Map_Viewer_phase1/MapServer";

// Test
//var siteDomain = "localhost";
// Production
var siteDomain = "srwmd.pbsjis.com";

var defaultSpatialReference = new esri.SpatialReference({"wkid" : 102100});
var baseDataSpatialReference = new esri.SpatialReference({"wkid" : 2883});

var initialExtent =
    {"xmin": -9384421.5516, "ymin": 3363543.7571, "xmax": -9106295.8098, "ymax": 3601067.2009, "spatialReference": defaultSpatialReference };

var fullExtent =
    { "xmin": -9384421.5516, "ymin": 3363543.7571, "xmax": -9106295.8098, "ymax": 3601067.2009, "spatialReference": defaultSpatialReference };  
  
var cookieExpirationDays = 90;
var cookieExpirationDate = new Date(new Date().getTime()+(1000*60*60*24*cookieExpirationDays));
var bookmarkCookieName = "SRWMDFIRM-bookmarkData";

var layerCounty = "/6";
var allParcelsLayer = "/8";
var layerPLSS = "/5";
var layerFirmPanels = "/20";
var proposedFloodLayer = "/47";

var veTokenUrl = "./VEToken/vetoken.ashx";
var veEnvironment = "production";
var veTokenDuration = 15;

var bingKey = "AouJWHdttYlz2VrI4RM7BzWIxA93DKwdfddAWDEg9RFAJvybnUHkznWuwjLaWgIo";
// Time (ms) to allow operations to proceed before cancelling and throwing an error 
var ajaxTimeout = 60000; // 60 seconds

// Levels and associated group layers to display named labels for on the zoom slider
// Zoom slider will only display the first word of each of these
var sliderText = new Array();
sliderText[8] = "Region";
sliderText[11] = "County";
sliderText[12] = "City";
sliderText[13] = "Panel";
sliderText[15] = "Parcel";

var activeParcelField = "PARCEL"; //hopefully this is uniform across parcel layers
var searchPoint;
var markerSearchText;
var defaultZoomLevel = 9;
var defaultParcelZoomLevel = 11;
var parcelMarkerText = "Parcel Id: ";

allCountiesConfig = {
  countyLayerID: 6,
  parcelLayerID: 8,
  countyName: "All SRWMD Counties",
  popupMsg: "None",
  parcelPattern: "123-456-789"
};

alachuaConfig = {
  countyName: "Alachua",
  dfirmKey: "001C",
  parcelPattern: "99999 999 999",
  popupMsg: "Alachua Flood Hazard Areas Status: not available"
};
/* no parcels
  countyName: "Baker",
  parcelPattern:"",
  popupMsg: "Baker Flood Hazard Areas Status: not available" 
};
*/
bradfordConfig = {
  countyName: "Bradford",
  dfirmKey: "007C",
  parcelPattern: "99999-9-99999",
  popupMsg: "Bradford Flood Hazard Areas Status: preliminary"
};

columbiaConfig = {
  countyName: "Columbia",
  dfirmKey: "023C",
  parcelPattern: "99-9A-99-99999-999",
  popupMsg: "Columbia Flood Hazard Areas Status: Effective: 02/04/2009"
};

dixieConfig = {
  countyName: "Dixie",
  dfirmKey: "029C",
  parcelPattern: "123456789012345678",
  popupMsg: "Dixie Flood Hazard Areas Status: Effective: 09/29/2006"
};

gilchristConfig = {
  countyName: "Gilchrist",
  dfirmKey: "041C",
  parcelPattern: "99-99-99-9999-9999-9999",
  popupMsg: "Gilchrist Flood Hazard Areas Status: Effective: 09/29/2006"
};

hamiltonConfig = {
  countyName: "Hamilton",
  dfirmKey: "047C",
  parcelPattern: "9999-999",
  popupMsg: "Hamilton Flood Hazard Areas Status: Effective: 06/04/2010"
};
/*
jeffersonConfig = {
  countyName: "Jefferson",
  parcelPattern: "pattern needed",
  popupMsg: "Jefferson Flood Hazard Areas Status: not available"
};
*/
lafayetteConfig = {
  countyName: "Lafayette",
  dfirmKey: "067C",
  parcelPattern: "1234567890123456789",
  popupMsg: "Lafayette Flood Hazard Areas Status: Effective: 09/29/2006"
};

levyConfig = {
  countyName: "Levy",
  dfirmKey: "075C",
  parcelPattern: "1234567890123456789",
  popupMsg: "Levy Flood Hazard Areas Status: preliminary"
};

madisonConfig = {
  countyName: "Madison",
  dfirmKey: "079C",
  parcelPattern: "99-9A-99-9999-999-999",
  popupMsg: "Madison Flood Hazard Areas Status: Effective: 05/03/2010"
};

suwanneeConfig = {
  countyName: "Suwannee",
  dfirmKey: "121C",
  parcelPattern: "9999S99E99999999999",
  popupMsg: "Suwannee Flood Hazard Areas Status: Effective: 09/28/2007"
};

taylorConfig = {
  countyName: "Taylor",
  dfirmKey: "123C",
  parcelPattern: "12345678",
  popupMsg: "Taylor Flood Hazard Areas Status: Effective: 05/04/2009"
};

unionConfig = {
  countyName: "Union",
  dfirmKey: "125C",
  parcelPattern: "99-99-99-99-999-9999-9",
  popupMsg: "Union Flood Hazard Areas Status: Effective: 02/04/2009"
};

var srwmdCounties = [alachuaConfig, /*bakerConfig,*/ bradfordConfig, columbiaConfig, dixieConfig,
                     gilchristConfig, hamiltonConfig, /*jeffersonConfig,*/ lafayetteConfig,
                     levyConfig, madisonConfig, suwanneeConfig, taylorConfig, unionConfig];

var activeCounty = allCountiesConfig;

//error messages
var msgNoParcelFound = "No parcels found for search criteria";

