﻿//DATA CONFIG VARIABLES

// max record count set in the service cfg file
// look under <install_dir>/arcgis/server/user/cfg
var maxRecordCountRMS = 500;

// show crime points on map (true or false)
// may be used in a public site where actual crime points on map
var showCrimePoints = true;

// show adavanced date option (true or false)
// may be used in a public site, general dates will be only used
var showAdvancedDate = false;

// show adavanced buffer distance option (true or false)
// may be used in a public site, general distances will be only used
var showAdvancedBuffer = false;

// show layer list option (true or false)
// may not allow user to toggle layers in the base map service
var showLayerList = false;

// show graphic selection tab
var showGraphicTab = true;

// show pictometry toggle button
var showPictometryButton = false;

// show measure option
var showMeasureOption = false;

// data base type: CAT_EXPORT, MSSQL, ORACLE, ACCESS, FILE
var dbType = "CAT_EXPORT";

// general settings
// organization department to be shown on web page title and printed map
var orgDepartment = "Fayetteville Police Department";

// all images are to be placed in the images directory
// badge or logo of organization to be shown on web page title and printed map
var badgeLogoName = "fpdpdpatch.gif";
// north arrow image to be shown on printed map
var northArrow = "northarrow.png";
// organization home page text used on web page
var homePage = "Police Home";
// organization home page url used on web page
var homePageLink = "police.ci.fayetteville.nc.us";
// organization disclaimer to be on printed map
var disclaimer = "Data compiled from Fayettevile Police and GIS departments. This map is a graphic representation and should only be used for illustrative purposes. In no way should this map be used for exact locations.";

// MAP SERVICES
// base map service
var baseMap = "http://server.arcgisonline.com/ArcGIS/REST/services/ESRI_StreetMap_World_2D/MapServer";
var refScale_baseMap = 4326;
var isBaseMapTiled = true;
// overlay map service
var overlayMap = "http://crimemapping.bethebadge.com/ArcGIS/REST/services/Fayetteville_Base_Ovrly/MapServer";
// crime map service
var crimeMap = "http://crimemapping.bethebadge.com/ArcGIS/REST/services/Fayetteville_EXT_RMS/MapServer";
// geometry service service
var geoService = "http://crimemapping.bethebadge.com/ArcGIS/REST/services/Geometry/GeometryServer";
// address locator service
var addressLocator = "http://crimemapping.bethebadge.com/ArcGIS/REST/services/Fayetteville_Geocode/GeocodeServer";
var refScale_addressLocator = 2264;

// does the locator use zone
var useZone = true;

// intial extent
var XMin = -79.09;
var YMin = 34.97;
var XMax = -78.82;
var YMax = 35.17;

//var XMin = 1968460;
//var YMin = 442826;
//var XMax = 2059919;
//var YMax = 519432;

// label crime points
var useLabels_RMS = false;
var labelField_RMS = "Case_Number";

// field to match symbol images (crime code)
var symbolMatchField_RMS = "CRIME_CODE"

// required date time fields
var dateIMAP_RMS = "DATE_IMAP";
var timeIMAP_RMS = "TIME_IMAP";
var dayIMAP_RMS = "DAY_IMAP";

// return crime fields used in query, will not be shown
// refer to infowintemp and table fields for fields to be shown
var fldsReturn_RMS = ["DATE_IMAP", "TIME_IMAP", "MONTH_IMAP", "DAY_IMAP", "YEAR_IMAP", "CASE_NUMBER", "ADDRESS", "CRIME_CODE", "OFFENSE_DESCRIPTION"];

// return for info window (identify results) - field names are case sensitive
var infoWinTemp_RMS = "Case: ${Case_Number}<br />Crime Code: ${CRIME_CODE}<br />Date: ${DATE_IMAP}<br />Day: ${DAY_IMAP}<br />Time: ${TIME_IMAP}<br />Offense(${CRIME_CODE}): ${Offense_Description}<br />Address: ${Address}";

// return fields for query result table 
// real - actual field names to be shown, these are case sensitive
// alias - what user sees
var fldsSmallReturnTableReal_RMS = "DATE_IMAP|DAY_IMAP|TIME_IMAP|Case_Number|CRIME_CODE|Offense_Description";
var fldsSmallReturnTableAlias_RMS = "Date|Day|Time|Case Number|Code|Offense"; 

// if using cad data along with rms complete the following variables
//**********************************************************************************

// max record count set in the service cfg file
// look under <install_dir>/arcgis/server/user/cfg
var maxRecordCountCAD = 500;

// show cad points on map (true or false)
// may be used in a public site where actual cad points on map
var showCADPoints = false;

// cad map service
//var cadMap = "http://neptune/ArcGIS/REST/services/York_CAD_GDB/MapServer";
var cadMap = "";

// label CAD points
var useLabels_CAD = false;
var labelField_CAD = "INCIDENTNUM";

// field to match symbol images (incident code)
var symbolMatchField_CAD = "INCTYPE";

// required date time fields
var dateIMAP_CAD = "DATE_IMAP";
var timeIMAP_CAD = "TIME_IMAP";
var dayIMAP_CAD = "DAY_IMAP";

// return cad fields used in query, will not be shown
// refer to infowintemp and table fields for fields to be shown
var fldsReturn_CAD = ["DATE_IMAP", "TIME_IMAP", "MONTH_IMAP", "DAY_IMAP", "YEAR_IMAP", "INCIDENTNUM", "GEOADDRESS", "INCTYPE"];

// return for info window (identify results) - field names are case sensitive
var infoWinTemp_CAD = "Incident: ${INCIDENTNUM}<br />Type: ${INCTYPE}<br />Date: ${DATE_IMAP}<br />Day: ${DAY_IMAP}<br />Time: ${TIME_IMAP}<br />Address: ${GEOADDRESS}";

// return fields for query result table 
// real - actual field names to be shown, these are case sensitive
// alias - what user sees
var fldsSmallReturnTableReal_CAD = "DATE_IMAP|DAY_IMAP|TIME_IMAP|INCIDENTNUM|INCTYPE";
var fldsSmallReturnTableAlias_CAD = "Date|Day|Time|Incident|Type";

//**********************************************************************************
     
// location layers - put in order to be shown
// these layers must be in the base map service
// names - what user sees
// indices - layer index in the map document
// fields - fields must be formated as strings and case sensitive
// do not use alias field names in map document
var locationDisplayNames = "Parks|Establishments|Schools|Patrol Zones";
var locationLayerIndices = "0|1|2|5";
var locationLayerQueryFields = "NAME1|Z____BUSIN|NAME1|ZONE_";

// general dates - put in order to be shown - values in days
// text - what user sees
// value - in days
// default - default text to be shown
// special codes are YTD (year to date), LY (last year), LM (last month)
var generalDateText = "Year to Date|Last Month|Last 365 days|Last 270 days|Last 180 days|Last 90 days|Last 60 days|Last 30 days|Last 15 days";
var generalDateValue = "YTD|LM|365|270|180|90|60|30|15";
var generalDateDefault = "Last 90 days";

// buffer distances - put in order to be shown - values in feet
// text - what user sees
// value - on feet
// default - default text to be shown
var bufferDistanceText = "None|10 feet|50 feet|100 feet|200 feet|500 feet|1000 feet|1/2 mile|1 mile";
var bufferDistanceValue = "1|10|50|100|200|500|1000|2640|5280";
var bufferDistanceDefault = "10 feet";


// DO NOT TOUCH THESE SETTINGS

// system variables
var map;                    // map refernce
var navToolbar;             // main tool bar reference
var locator;                // address locator reference
var geometryService;        // geometry service reference
var visible = [];           // used by layer list to track layer visibility
var loading;                // loading image
var resizeTimer;
var levelPointTileSpace = [];
var symbolClustering = true;
var lotsOfPoints = [];

var dynamicMapServiceLayer; // dynamic base map service layer
var tiledMapServiceLayer;   // tiled base map service layer
var overlayMapServiceLayer; // overlay map service layer

var activeTool = '';        // current navigation tool selected

var grphjson;               // buffer graphic as json for print map
var printCrimes;            // crime point array as json for print map
var printCADs;              // cad point array as json for print map

