// ArcIMSparam.js
// javascript file with parameters specific to calling page

//***************************************************************************
//*			parameters File for HTML Template		    *
//***************************************************************************

// get machine name
var hostName = document.location.host;
// common portion of url
var esriBlurb = "/servlet/com.esri.esrimap.Esrimap?ServiceName="
// make URL for getting mapservice catalog
var catURL = "http://" + hostName + esriBlurb + "catalog";
// make prefix for URL
var serverURL  = "http://" + hostName + esriBlurb;



//*********************************************************************
//*			parameters set by Designer			                     *
//*********************************************************************
var imsURL = 'http://www.southwestdata.org/servlet/com.esri.esrimap.Esrimap?ServiceName=dip_DaveWood';
var imsOVURL =  'http://www.southwestdata.org/servlet/com.esri.esrimap.Esrimap?ServiceName=dip_DaveWood_OV';
var imsQueryURL = '';
var imsGeocodeURL = '';

//initial map extent
var startLeft = 233609.1896;
var startRight = 249801.722;
var startTop = 4262141.8697;
var startBottom = 4220866.7872;

//maximum map extent
var limitLeft = 144471.749816;
var limitRight = 391207.687645;
var limitTop = 4348173.999713;
var limitBottom = 4143918.500221;

var usePan=true;
var usePanNorth=false;
var usePanWest=false;
var usePanEast=false;
var usePanSouth=false;
var useZoomIn=true;
var useZoomOut=true;
var useFullExtent=false;
var useZoomActive=true;
var useZoomLast=true;
var useIdentify=true;
var useMeasure=true;
var useSetUnits=true;
var useSelect=true;
var useQuery=true;
var useFind=true;
var useGeocode=false;
var useStoredQuery=false;
var useClearSelect=true;
var usePrint=true;
var useGeoNetwork=true;
var useBuffer=true;
var useExtract=true;

var MapUnits = "Meters";
var ScaleBarUnits = "Miles";



// End of Designer set parameters

var useHyperLink=true;
var useHyperLinkAny=false;
var useIdentifyAll=false;
var useBufferShape=false; 
var hasToolBarOnLayer=false;
	// useHyperLink takes priority - both cannot be true
if (useHyperLink) useHyperLinkAny=false;
	// useIdentify takes priority - both cannot be true
if (useIdentify) useIdentifyAll=false;
	// allow debugging
var setDebug=true;


/**************************************
* Basic Map parameters
**************************************/

// variables for setting component colors
var mapBackColor = "";
var ovBoxColor = "#ff0000";
var ovBoxSize = 3;
var zoomBoxColor = "#ff0000";

// variables for using individual components
var hasOVMap = true;
var hasTOC = true;
var useModeFrame = true;

// variables for map pixel offset from upper left corner of frame
	// horizontal offset
var hspc = 0;
	// vertical offset
var vspc = 0;

//panning factor for arrow buttons
var panFactor = 85/100;
//zoom factors for v.3
var zoomFactor = 2

// margin factor for zooming in on selected lines and polygons - based on feature width and height. . . margin will be selectMargin * width or height
var selectMargin = 25/100;
// margin margin factor for zooming in on selected points - based on full extent. . . margin will be selectPointMargin * fullWidth or fullHeight
var selectPointMargin = 25/1000

// show the scale factor
var showScalePercent=true;
// display coords in status line
var showXYs=true;

// Have ArcXML responses URL encoded? Will not work with multi-byte characters
var doURLencode = false;

// automatically adjust for ArcMapServer, if necessary
	// North Arrow size is smaller from ArcMapServer
var autoAdjustForArcMapServer = true;
// if it is an ArcMap Service, is it using a Personal Database?
	// critical for correct sql expression on queries on date fields
	// Syntax for date fields is different for layers from a Personal Database than for other ArcMap Service data sources
var isPersonalDatabase = false;

//variables for MapDrawing
	// North Arrow
var drawNorthArrow = true;
var NorthArrowType = "4";
var NorthArrowSize = "9";
var NorthArrowCoords = "20 35";
var NorthArrowAngle = "0";
	// Scale Bar
var drawScaleBar = true;
	// MapUnits=DEGREES,FEET,METERS
	// can MapUnits be changed by user?
var setMapUnits=false;
	// ScaleBarUnits=KILOMETERS,METERS,MILES,FEET
var ScaleBarBackground = "false";
var ScaleBarBackColor = "0,0,0";
var ScaleBarFontColor = "0,0,0";
var ScaleBarColor = "128,128,128";
var ScaleBarFont = "";
var ScaleBarStyle = "Regular";
var ScaleBarRound = "1";
var ScaleBarSize = "9";
var ScaleBarWidth = "5";
var ScaleBarPrecision = 2;
var numDecimals = ScaleBarPrecision;
	// Scale Bar 2
var drawScaleBar2 = false;
var ScaleBar2Units = "KILOMETERS";
var ScaleBar2Background = "false";
var ScaleBar2BackColor = "0,0,0";
var ScaleBar2FontColor = "0,0,0";
var ScaleBar2Color = "128,128,128";
var ScaleBar2Font = "";
var ScaleBar2Style = "Regular";
var ScaleBar2Round = "1";
var ScaleBar2Size = "9";
var ScaleBar2Width = "5";
var ScaleBar2Precision = 2;

	// Copyright blurb
var drawCopyright = true;
var CopyrightFont = "";
var CopyrightStyle = "Regular";
var CopyrightSize = "8";
var CopyrightCoords = "3 3";
var CopyrightColor = "0,0,0";
var CopyrightBackground = "True";
var CopyrightBGColor = "255,255,255";
var CopyrightGlow = "False";
var CopyrightGlowColor = "255,255,255";
var CopyrightShadow = "False";
var CopyrightShadowColor = "32,32,32";
var CurrentYear = new Date().getFullYear();
var CopyrightText = "Copyright (C) " +  CurrentYear + " SouthWest Data Center, Inc.";

	// place bar behind Copyright text and scalebars
var drawBottomBar = false;
var bottomBarColor = "255,255,255";
var bottomBarOutline = "0,0,0";
var bottomBarHeight = "18";

	// Mode on Map
var drawModeOnMap = false;
var modeRefreshMap = false;
var modeMapColor = "255,255,255";
var modeMapGlow = "128,0,255";

var ovImageVar;
var ovBorderWidth = 2;
var ovExtentBoxSize = 2;

// map image background transparent? - requires gif or png8 types
var mapTransparent=false;

// setup test for Nav 4.0
var isIE = false;
var isNav = (navigator.appName.indexOf("Netscape")>=0);
var isNav4 = false;
var isIE4 = false;
var is5up = false;
//alert(navigator.appVersion);
if (isNav) {
	
	if (parseFloat(navigator.appVersion)<5) {
		isNav4=true;
		//alert("Netscape 4.x or older");
	} else {
		is5up = true;
	}
} else {
	isIE4=true;
	isIE=true;
	if ((navigator.appVersion.indexOf("MSIE 5")>0) || (navigator.appVersion.indexOf("MSIE 6")>0)) {
		isIE4 = false;
		is5up = true;
		//alert("IE5");
	}
}	
		
/**************************************
* Extended Map parameters
**************************************/

// variables for ovmap offset
var ovHspc = 0;
var ovVspc = 0;

// color for Main Map zoombox in html hex RGB format
//var zoomBoxColor = "#ff0000";

// index of initial active layer. . . if more than or equal to layer count top layer used
var ActiveLayerIndex=5;

// variables for using individual components
var useTextFrame=false;
// use external window for dialogs
var useExternalWindow=true;

// colors for tables 
var textFrameBackColor="White";
var tableBackColor="White";
var textFrameTextColor="Black";
var textFrameLinkColor="Blue";
var textFrameFormColor="white";

// LayerList visible at service load
var showTOC=true;
// set layer visibility according to LayerList or by custom programming
var toggleVisible = true;
// set layer visibility of OVMap according to LayerList or by custom programming
	// imsURL must equal imsOVMap - depends on one LayerList
var toggleOVVisible = false;
// will the LayerList show all layers, not just those available at current scale
var listAllLayers = false;

// toggle the check of non-listing of layers in LayerList and Legend
// if true, noListLayer array must have an element defined for each layer
var hideLayersFromList=false;
// layers that will be listed in the LayerList or Legend
	// Note: This does not affect map display
var noListLayer = new Array();
// noListLayer[0] = false;
// noListLayer[1] = false;
// noListLayer[2] = false;
// noListLayer[3] = true;	// this one will not be listed
// noListLayer[4] = false;

	// Mode on floating layer
var drawFloatingMode = false;
var modeLayerOn = false;
var modeLayerColor = "Black";
var modeLayerShadowColor = "White";
var modeLayerFont = "Arial";
var modeLayerSize = "4";

	// does the overview map a layer on top of map?... 
var ovMapIsLayer=true;

var webParams = "";
if (parent.MapFrame!=null) {
	webParams = parent.document.location.search;
} else {
	webParams = document.location.search;
}

/**************************************
* Interactive Map parameters
**************************************/

// Click points - Measure/Shape Select/Shape Buffer
var clickMarkerColor="255,0,0";
var clickMarkerType="Circle";
var clickMarkerSize="6";


/**************************************
* Identify/Select/Query/Buffer parameters
**************************************/

// search tolerance in pixels around click
var pixelTolerance=2;
// color of selected features in decimal RGB format
var selectColor="255,255,0";
// color of highlighted feature in decimal RGB format
var highlightColor="255,0,0";
// level of transparency of selected and highlighted color
var transparentLevel = "0.5";
	// zoom to selected feature if only one is returned?
var zoomToSingleSelect = false;
	// use only unique values in sample field value lists
var onlyUniqueSamples = true;
	// are string queries case insensitive?
		// false by default to match Java Viewer and ArcExplorer
var queryCaseInsensitive=false;

// fields to be returned in identify/selection/query request. . . #ALL#=all fields
var selectFields= "#ALL#";
//var selectFields= "#ID# #SHAPE#";
// swap out the list of returned fields? 
//If true, a list must be defined in selFieldList[n] for each layer to update selectFields
var swapSelectFields=true;
// array for each layer's returned fields if swapSelectFields=true
var selFieldList = new Array();
// sample set for world - if not #ALL#, id and shape fields required. Separate with a space

// DAVE WOOD ROAD MODULE
selFieldList[0]="PROD.SWDC.DW_STATIONMARKERS.STATIONMAR PROD.SWDC.DW_STATIONMARKERS.METERS #ID# #SHAPE#";
selFieldList[1]="#ID# #SHAPE#";
selFieldList[2]="#ID# #SHAPE#";
selFieldList[3]="PROD.SWDC.DW_INDEXSTRIP.SMAP_NUM #ID# #SHAPE#";
selFieldList[4]="PROD.SWDC.DW_INDEXSTRIP.SMAP_NUM #ID# #SHAPE#";
selFieldList[5]="PROD.SWDC.DW_INDEXSTRIP.SMAP_NUM #ID# #SHAPE#";
selFieldList[6]="#ID# #SHAPE#";
// end of DAVE WOOD ROAD MODULE

// BOUNDARIES MODULE
// SWDC County Boundaries
selFieldList[7]="PROD.SWDC.SWDC_CO_COUNTIES.COUNTY PROD.SWDC.SWDC_CO_COUNTIES.NAME PROD.SWDC.SWDC_CO_COUNTIES.SQ_MI PROD.SWDC.SWDC_CO_COUNTIES.ACRES PROD.SWDC.SWDC_CO_COUNTIES.REGION PROD.SWDC.SWDC_CO_COUNTIES.A2000 #ID# #SHAPE#";
// SWDC Municipal Boundaries Zoomed In
selFieldList[3]="PROD.SWDC.SWDC_MUNIBD02.PLACE PROD.SWDC.SWDC_MUNIBD02.NAMELC #ID# #SHAPE#";
// city of Montrose Boundary
selFieldList[9]="PROD.SWDC.MOCIT_BOUNDARY.SQ_MILES #ID# #SHAPE#";
// end of BOUNDARIES MODULE

// TRANSPORTATION MODULE
// SWDC CDOT Extent
selFieldList[10]=" #ID# #SHAPE#";
// Montrose Regional Airport Runway
selFieldList[11]=" #ID# #SHAPE#";
// Montrose County Roads
selFieldList[12]="PROD.SWDC.MOCO_ROADS.LENGTH PROD.SWDC.MOCO_ROADS.ROUTE PROD.SWDC.MOCO_ROADS.STATUS PROD.SWDC.MOCO_ROADS.DATE_ PROD.SWDC.MOCO_ROADS.DATA_METHO PROD.SWDC.MOCO_ROADS.FUNC PROD.SWDC.MOCO_ROADS.SURFACE PROD.SWDC.MOCO_ROADS.CONDITION PROD.SWDC.MOCO_ROADS.WIDTH PROD.SWDC.MOCO_ROADS.JURISDICTI PROD.SWDC.MOCO_ROADS.HUTF_ELIG PROD.SWDC.MOCO_ROADS.RS2477 PROD.SWDC.MOCO_ROADS.SNOWROUTE PROD.SWDC.MOCO_ROADS.FROMLEFT PROD.SWDC.MOCO_ROADS.TOLEFT PROD.SWDC.MOCO_ROADS.FROMRIGHT PROD.SWDC.MOCO_ROADS.TORIGHT PROD.SWDC.MOCO_ROADS.AKA PROD.SWDC.MOCO_ROADS.HUTF_ID PROD.SWDC.MOCO_ROADS.SEG_NB PROD.SWDC.MOCO_ROADS.SEG_ID PROD.SWDC.MOCO_ROADS.SEG_LENG PROD.SWDC.MOCO_ROADS.OWNER PROD.SWDC.MOCO_ROADS.MAINTENANC PROD.SWDC.MOCO_ROADS.SURFACE_NA PROD.SWDC.MOCO_ROADS.HUTCODE PROD.SWDC.MOCO_ROADS.FUNC_DEF #ID# #SHAPE#";
// Ouray County Roads
selFieldList[13]="PROD.SWDC.OCO_ROADS.MAPKEY:MAPKEY|PROD.SWDC.OCO_ROADS.OCO_CLASS:CLASS";
// San Miguel County Roads
selFieldList[14]="PROD.SWDC.SMCO_ROADS.SMC_UID PROD.SWDC.SMCO_ROADS.S_NAME PROD.SWDC.SMCO_ROADS.S_ALIAS1 PROD.SWDC.SMCO_ROADS.S_ALIAS2 PROD.SWDC.SMCO_ROADS.SMC_NUM PROD.SWDC.SMCO_ROADS.POSTAL_R PROD.SWDC.SMCO_ROADS.SUBDIV PROD.SWDC.SMCO_ROADS.CTY_MAINTAINED PROD.SWDC.SMCO_ROADS.DESCR PROD.SWDC.SMCO_ROADS.SEG_DESCR PROD.SWDC.SMCO_ROADS.ESN #ID# #SHAPE#";
// end of TRANSPORTATION MODULE

// HYDROGRAPHY MODULE
// Waterbodies
selFieldList[15]="PROD.SWDC.SWDC_DTL_WAT.NAME PROD.SWDC.SWDC_DTL_WAT.FTYPE PROD.SWDC.SWDC_DTL_WAT.FCODE PROD.SWDC.SWDC_DTL_WAT.FCODE_DESC PROD.SWDC.SWDC_DTL_WAT.SQKM PROD.SWDC.SWDC_DTL_WAT.SQMI #ID# #SHAPE#";
// Flowlines
selFieldList[16]="PROD.SWDC.SWDC_DTL_RIV.NAME PROD.SWDC.SWDC_DTL_RIV.FTYPE PROD.SWDC.SWDC_DTL_RIV.FCODE PROD.SWDC.SWDC_DTL_RIV.FCODE_DESC PROD.SWDC.SWDC_DTL_RIV.STRM_LEVEL PROD.SWDC.SWDC_DTL_RIV.AP_WITHIN PROD.SWDC.SWDC_DTL_RIV.METERS PROD.SWDC.SWDC_DTL_RIV.FEET #ID# #SHAPE#";
// end of HYDROGRAPHY MODULE

// PLSS MODULE
// PLSS Township Range
selFieldList[17]="PROD.SWDC.PLSS_TWNSHP.TOWN PROD.SWDC.PLSS_TWNSHP.TWNFRT PROD.SWDC.PLSS_TWNSHP.TWNDIR PROD.SWDC.PLSS_TWNSHP.RANGE PROD.SWDC.PLSS_TWNSHP.RNGDIR PROD.SWDC.PLSS_TWNSHP.RNGFRT PROD.SWDC.PLSS_TWNSHP.TWNDUP PROD.SWDC.PLSS_TWNSHP.TWNTYPE PROD.SWDC.PLSS_TWNSHP.PROVIDERID PROD.SWDC.PLSS_TWNSHP.DATEMODIFI PROD.SWDC.PLSS_TWNSHP.LABEL #ID# #SHAPE#";
// PLSS Sections
selFieldList[18]="PROD.SWDC.PLSS_LADESC.LNDKEY PROD.SWDC.PLSS_LADESC.SECTIONKEY PROD.SWDC.PLSS_LADESC.QSECTION PROD.SWDC.PLSS_LADESC.NOMLOC PROD.SWDC.PLSS_LADESC.SURSYS PROD.SWDC.PLSS_LADESC.SURNUM PROD.SWDC.PLSS_LADESC.SURSUF PROD.SWDC.PLSS_LADESC.SURNOTE PROD.SWDC.PLSS_LADESC.LADESCAR PROD.SWDC.PLSS_LADESC.LADUNT PROD.SWDC.PLSS_LADESC.LADSRC PROD.SWDC.PLSS_LADESC.DISCCD PROD.SWDC.PLSS_LADESC.EXCCD PROD.SWDC.PLSS_LADESC.VALIDCD PROD.SWDC.PLSS_LADESC.DESCDUP PROD.SWDC.PLSS_LADESC.SUBONLY PROD.SWDC.PLSS_LADESC.MINORSUB PROD.SWDC.PLSS_LADESC.PROVIDERID PROD.SWDC.PLSS_LADESC.SECFRT PROD.SWDC.PLSS_LADESC.SECTN PROD.SWDC.PLSS_LADESC.SECDUP PROD.SWDC.PLSS_LADESC.QQSECTION #ID# #SHAPE#";
// end of PLSS MODULE

// PARCELS MODULE
// Montrose County Parcels
selFieldList[19]="PROD.SWDC.MOCO_PARCELS.ASSESSORSI PROD.SWDC.MOCO_PARCELS.SPECIAL_US PROD.SWDC.MOCO_PARCELS.ZONING_NU prod.swdc.MOCO_ASSESSOR.ACCOUNTNO prod.swdc.MOCO_ASSESSOR.NAMEADDRID prod.swdc.MOCO_ASSESSOR.NAME prod.swdc.MOCO_ASSESSOR.CAREOF prod.swdc.MOCO_ASSESSOR.PARCELNB prod.swdc.MOCO_ASSESSOR.AEAID prod.swdc.MOCO_ASSESSOR.ACCTTYPE prod.swdc.MOCO_ASSESSOR.BUSINESSNA prod.swdc.MOCO_ASSESSOR.MAPNO prod.swdc.MOCO_ASSESSOR.STREETNO prod.swdc.MOCO_ASSESSOR.STREETNAME prod.swdc.MOCO_ASSESSOR.ACRES prod.swdc.MOCO_ASSESSOR.SQFT prod.swdc.MOCO_ASSESSOR.LEGAL prod.swdc.MOCO_ASSESSOR.LOCCITY prod.swdc.MOCO_ASSESSOR.SUBNAME prod.swdc.MOCO_ASSESSOR.BOOK prod.swdc.MOCO_ASSESSOR.PAGE prod.swdc.MOCO_ASSESSOR.RECEPTION_ #ID# #SHAPE#";
// Ouray County Parcels
selFieldList[20]=" #ID# #SHAPE#";
// San Miguel County Parcels
selFieldList[21]="PROD.SWDC.SMCO_PARCELS.PIN #ID# #SHAPE#";
// end of PARCELS MODULE

// PUBLIC LANDS MODULE
// BLM Surface Landowner
selFieldList[22]="PROD.SWDC.BLM_MAR_LANDOWNER_SURFACE.MAR_LST_ PROD.SWDC.BLM_MAR_LANDOWNER_SURFACE.MAR_LST_ID PROD.SWDC.BLM_MAR_LANDOWNER_SURFACE.OWNERSHIP #ID# #SHAPE#";
// end of PUBLIC LANDS MODULE

// ELEVATION MODULE
// Topographic Lines
selFieldList[23]="PROD.SWDC.BLM_MAR_100_TOPO.MAR100_TOPO_ID PROD.SWDC.BLM_MAR_100_TOPO.ELEV_METERS PROD.SWDC.BLM_MAR_100_TOPO.ELEV_FEET #ID# #SHAPE#";
// end of ELEVATION MODULE

// use the field alias in the data display? 
//If true, a list must be defined in fieldAliasList[n] for each layer defining aliases for those fields needing them
var useFieldAlias=true;
// array for aliases for each layer's returned fields if useFieldAlias=true
var fieldAliasList  = new Array();
// sample set for world - fieldname:alias pairs separated by a bar (|)... if no aliases, use empty string ("")

// DAVE WOOD ROAD MODULE
fieldAliasList[0]="PROD.SWDC.DW_STATIONMARKERS.STATIONMAR:Station Markers|PROD.SWDC.DW_STATIONMARKERS.METERS:Meters";
fieldAliasList[1]="";
fieldAliasList[2]="";
fieldAliasList[3]="PROD.SWDC.DW_INDEXSTRIP.SMAP_NUM:MapBook Page";
fieldAliasList[4]="PROD.SWDC.DW_INDEXSTRIP.SMAP_NUM:MapBook Page";
fieldAliasList[5]="PROD.SWDC.DW_INDEXSTRIP.SMAP_NUM:MapBook Page";
fieldAliasList[6]="";
// end of DAVE WOOD ROAD MODULE

// BOUNDARIES MODULE
// SWDC County Boundaries
fieldAliasList[7]="PROD.SWDC.SWDC_CO_COUNTIES.COUNTY:FIPS Code|PROD.SWDC.SWDC_CO_COUNTIES.NAME:Name|PROD.SWDC.SWDC_CO_COUNTIES.SQ_MI:SQ Miles|PROD.SWDC.SWDC_CO_COUNTIES.ACRES:Acres|PROD.SWDC.SWDC_CO_COUNTIES.REGION:Region|PROD.SWDC.SWDC_CO_COUNTIES.A2000:Pop 2000";
// SWDC Municipal Boundaries Zoomed In
fieldAliasList[8]="PROD.SWDC.SWDC_MUNIBD02.PLACE:PLACE|PROD.SWDC.SWDC_MUNIBD02.NAMELC:NAMELC";
// City of Montrose Boundary
fieldAliasList[9]="PROD.SWDC.MOCIT_BOUNDARY.SQ_MILES:SQUARE MILES";
// end of BOUNDARIES MODULE

// TRANSPORTATION MODULE
// SWDC CDOT Extent
fieldAliasList[10]="";
// Montrose Regional Airport Runway
fieldAliasList[11]="";
// Montrose County Roads
fieldAliasList[12]="PROD.SWDC.MOCO_ROADS.LENGTH:LENGTH|PROD.SWDC.MOCO_ROADS.ROUTE:ROUTE|PROD.SWDC.MOCO_ROADS.STATUS:STATUS|PROD.SWDC.MOCO_ROADS.DATE_:DATE_|PROD.SWDC.MOCO_ROADS.DATA_METHO:DATA_METHO|PROD.SWDC.MOCO_ROADS.FUNC:FUNC|PROD.SWDC.MOCO_ROADS.SURFACE:SURFACE|PROD.SWDC.MOCO_ROADS.CONDITION:CONDITION|PROD.SWDC.MOCO_ROADS.WIDTH:WIDTH|PROD.SWDC.MOCO_ROADS.JURISDICTI:JURISDICTI|PROD.SWDC.MOCO_ROADS.HUTF_ELIG:HUTF_ELIG|PROD.SWDC.MOCO_ROADS.RS2477:RS2477|PROD.SWDC.MOCO_ROADS.SNOWROUTE:SNOWROUTE|PROD.SWDC.MOCO_ROADS.FROMLEFT:FROMLEFT|PROD.SWDC.MOCO_ROADS.TOLEFT:TOLEFT|PROD.SWDC.MOCO_ROADS.FROMRIGHT:FROMRIGHT|PROD.SWDC.MOCO_ROADS.TORIGHT:TORIGHT|PROD.SWDC.MOCO_ROADS.AKA:AKA|PROD.SWDC.MOCO_ROADS.HUTF_ID:HUTF_ID|PROD.SWDC.MOCO_ROADS.SEG_NB:SEG_NB|PROD.SWDC.MOCO_ROADS.SEG_ID:SEG_ID|PROD.SWDC.MOCO_ROADS.SEG_LENG:SEG_LENG|PROD.SWDC.MOCO_ROADS.OWNER:OWNER|PROD.SWDC.MOCO_ROADS.MAINTENANC:MAINTENANC|PROD.SWDC.MOCO_ROADS.SURFACE_NA:SURFACE_NA|PROD.SWDC.MOCO_ROADS.HUTCODE:HUTCODE|PROD.SWDC.MOCO_ROADS.FUNC_DEF:FUNC_DEF";
// Ouray County Roads
fieldAliasList[13]="PROD.SWDC.OCO_ROADS.MAPKEY:MAPKEY|PROD.SWDC.OCO_ROADS.OCO_CLASS:CLASS";
// San Miguel County Roads
fieldAliasList[14]="PROD.SWDC.SMCO_ROADS.SMC_UID:SMC_UID|PROD.SWDC.SMCO_ROADS.S_NAME:S_NAME|PROD.SWDC.SMCO_ROADS.S_ALIAS1:S_ALIAS1|PROD.SWDC.SMCO_ROADS.S_ALIAS2:S_ALIAS2|PROD.SWDC.SMCO_ROADS.SMC_NUM:SMC_NUM|PROD.SWDC.SMCO_ROADS.POSTAL_R:POSTAL_R|PROD.SWDC.SMCO_ROADS.SUBDIV:SUBDIVISION|PROD.SWDC.SMCO_ROADS.REGION:REGION|PROD.SWDC.SMCO_ROADS.DESCR:Description|PROD.SWDC.SMCO_ROADS.SEG_DESCR:SEG_DESCR|PROD.SWDC.SMCO_ROADS.ESN:ESN";
// end of TRANSPORTATION MODULE

// HYDROGRAPHY MODULE
// Waterbodies
fieldAliasList[15]="PROD.SWDC.SWDC_DTL_WAT.NAME:NAME|PROD.SWDC.SWDC_DTL_WAT.FTYPE:FTYPE|PROD.SWDC.SWDC_DTL_WAT.FCODE:FCODE|PROD.SWDC.SWDC_DTL_WAT.FCODE_DESC:FCODE_DESC|PROD.SWDC.SWDC_DTL_WAT.SQKM:SQKM|PROD.SWDC.SWDC_DTL_WAT.SQMI:SQMI";
// Flowlines
fieldAliasList[16]="PROD.SWDC.SWDC_DTL_RIV.NAME:NAME|PROD.SWDC.SWDC_DTL_RIV.FTYPE:FTYPE|PROD.SWDC.SWDC_DTL_RIV.FCODE:FCODE|PROD.SWDC.SWDC_DTL_RIV.FCODE_DESC:FCODE_DESC|PROD.SWDC.SWDC_DTL_RIV.STRM_LEVEL:STRM_LEVEL|PROD.SWDC.SWDC_DTL_RIV.AP_WITHIN:AP_WITHIN|PROD.SWDC.SWDC_DTL_RIV.METERS:METERS|PROD.SWDC.SWDC_DTL_RIV.FEET:FEET";
// end of HYDROGRAPHY MODULE

// PLSS MODULE
// PLSS Township Range
fieldAliasList[17]="PROD.SWDC.PLSS_TWNSHP.LNDKEY:LNDKEY|PROD.SWDC.PLSS_TWNSHP.STATE:STATE|PROD.SWDC.PLSS_TWNSHP.PRIMER:PRIMER|PROD.SWDC.PLSS_TWNSHP.TOWN:TOWN|PROD.SWDC.PLSS_TWNSHP.TWNFRT:TWNFRT|PROD.SWDC.PLSS_TWNSHP.TWNDIR:TWNDIR|PROD.SWDC.PLSS_TWNSHP.RANGE:RANGE|PROD.SWDC.PLSS_TWNSHP.RNGDIR:RNGDIR|PROD.SWDC.PLSS_TWNSHP.RNGFRT:RNGFRT|PROD.SWDC.PLSS_TWNSHP.TWNDUP:TWNDUP|PROD.SWDC.PLSS_TWNSHP.TWNTYPE:TWNTYPE|PROD.SWDC.PLSS_TWNSHP.PROVIDERID:PROVIDERID|PROD.SWDC.PLSS_TWNSHP.DATEMODIFI:DATEMODIFI|PROD.SWDC.PLSS_TWNSHP.LABEL:LABEL";
// PLSS Sections
fieldAliasList[18]="PROD.SWDC.PLSS_LADESC.LNDKEY:LNDKEY|PROD.SWDC.PLSS_LADESC.SECTIONKEY:SECTIONKEY|PROD.SWDC.PLSS_LADESC.QSECTION:QSECTION|PROD.SWDC.PLSS_LADESC.NOMLOC:NOMLOC|PROD.SWDC.PLSS_LADESC.SURSYS:SURSYS|PROD.SWDC.PLSS_LADESC.SURNUM:SURNUM|PROD.SWDC.PLSS_LADESC.SURSUF:SURSUF|PROD.SWDC.PLSS_LADESC.SURNOTE:SURNOTE|PROD.SWDC.PLSS_LADESC.LADESCAR:LADESCAR|PROD.SWDC.PLSS_LADESC.LADUNT:LADUNT|PROD.SWDC.PLSS_LADESC.LADSRC:LADSRC|PROD.SWDC.PLSS_LADESC.DISCCD:DISCCD|PROD.SWDC.PLSS_LADESC.EXCCD:EXCCD|PROD.SWDC.PLSS_LADESC.VALIDCD:VALIDCD|PROD.SWDC.PLSS_LADESC.DESCDUP:DESCDUP|PROD.SWDC.PLSS_LADESC.SUBONLY:SUBONLY|PROD.SWDC.PLSS_LADESC.MINORSUB:MINORSUB|PROD.SWDC.PLSS_LADESC.PROVIDERID:PROVIDERID|PROD.SWDC.PLSS_LADESC.SECFRT:SECFRT|PROD.SWDC.PLSS_LADESC.SECTN:SECTN|PROD.SWDC.PLSS_LADESC.SECDUP:SECDUP|PROD.SWDC.PLSS_LADESC.QQSECTION:QQSECTION";
// end of PLSS MODULE

// PARCELS MODULE
fieldAliasList[19]="PROD.SWDC.MOCO_PARCELS.ASSESSORSI:Assessor ID|PROD.SWDC.MOCO_PARCELS.SPECIAL_US:Special Use|PROD.SWDC.MOCO_PARCELS.ZONING_NU:Zoning Number|prod.swdc.MOCO_ASSESSOR.ACCOUNTNO:Account Number|prod.swdc.MOCO_ASSESSOR.NAMEADDRID:Name Address ID|prod.swdc.MOCO_ASSESSOR.NAME:Name|prod.swdc.MOCO_ASSESSOR.CAREOF:Care Of|prod.swdc.MOCO_ASSESSOR.PARCELNB:Parcel Number|AEAID:Area ID|prod.swdc.MOCO_ASSESSOR.ACCTTYPE:Account Type|prod.swdc.MOCO_ASSESSOR.BUSINESSNA:Business Name|prod.swdc.MOCO_ASSESSOR.MAPNO:Map Number|prod.swdc.MOCO_ASSESSOR.STREETNO:Street Number|prod.swdc.MOCO_ASSESSOR.STREETNAME:Street Name|prod.swdc.MOCO_ASSESSOR.ACRES:Acres|prod.swdc.MOCO_ASSESSOR.SQFT:Square Feet|prod.swdc.MOCO_ASSESSOR.LEGAL:Legal Description|prod.swdc.MOCO_ASSESSOR.LOCCITY:City Location|prod.swdc.MOCO_ASSESSOR.SUBNAME:Subdivision Name|prod.swdc.MOCO_ASSESSOR.BOOK:Book|prod.swdc.MOCO_ASSESSOR.PAGE:Page|prod.swdc.MOCO_ASSESSOR.RECEPTION_:Reception Number";
fieldAliasList[20]="";
fieldAliasList[21]="PROD.SWDC.SMCO_PARCELS.PIN:PIN";
// end of PARCELS MODULE

// PUBLIC LANDS MODULE
// BLM Surface Landowner
fieldAliasList[22]="PROD.SWDC.BLM_MAR_LANDOWNER_SURFACE.MAR_LST_:MAR_LST_|PROD.SWDC.BLM_MAR_LANDOWNER_SURFACE.MAR_LST_ID:MAR_LST_ID|PROD.SWDC.BLM_MAR_LANDOWNER_SURFACE.OWNERSHIP:OWNERSHIP";
// end of PUBLIC LANDS MODULE

// ELEVATION MODULE
// Topographic Lines
fieldAliasList[23]="PROD.SWDC.BLM_MAR_100_TOPO.MAR100_TOPO_ID:MAR100_TOPO_ID|PROD.SWDC.BLM_MAR_100_TOPO.ELEV_METERS:ELEV_METERS|PROD.SWDC.BLM_MAR_100_TOPO.ELEV_FEET:ELEV_FEET";
// end of ELEVATION MODULE

// Hide the ID field display? The ID Field must be included in field list, but we don't have to show it.
var hideIDFieldData = true;
// Hide the shape field display? The Shape Field must be included in field list, but we don't have to show it.
var hideShapeFieldData = true;


// parameters for setting up hyperlinks in data display
var hyperLinkLayers = new Array(); // layers to have hyperlink
var hyperLinkFields = new Array();	// field in those layers to be used for hyperlink
var hyperLinkPrefix = new Array();  // prefix (if any) to place before field value to make hyperlink url
var hyperLinkSuffix = new Array();  // suffix (if any) to place after field value to make hyperlink url

hyperLinkLayers[1] = "SeriesDW01";
hyperLinkFields[1] = "SMAP_NAME";
hyperLinkPrefix[1] = "http://www.southwestdata.org/MapBooks/dip/DaveWood/SeriesDW01/DW01_";
hyperLinkSuffix[1] = ".pdf";

hyperLinkLayers[2] = "SeriesDW02";
hyperLinkFields[2] = "SMAP_NAME";
hyperLinkPrefix[2] = "http://www.southwestdata.org/MapBooks/dip/DaveWood/SeriesDW02/DW02_";
hyperLinkSuffix[2] = ".pdf";

hyperLinkLayers[3] = "SeriesDW03";
hyperLinkFields[3] = "SMAP_NAME";
hyperLinkPrefix[3] = "http://www.southwestdata.org/MapBooks/dip/DaveWood/SeriesDW03/DW03_";
hyperLinkSuffix[3] = ".pdf";

hyperLinkLayers[3] = "Quick Tour Demo";
hyperLinkFields[3] = "SMAP_NAME";
hyperLinkPrefix[3] = "http://www.southwestdata.org/MapBooks/dip/DaveWood/QuickTour/QuickTour_";
hyperLinkSuffix[3] = ".pdf";

// will the returned data be displayed in text frame?
var showSelectedData=true;
// will the returned features be drawn?
var showSelectedFeatures=true;
// maximum number of features returned from query
var maxFeaturesReturned=25;
// for ID All - List all visible layers in response - default is false
	// if false only visible layers with idenitified features written to table
	// if true the names of all visible layers will be diplayed even if no features returned
var listAllLayersInIDAll = false;


// number of data samples retrieved for query form
var numberDataSamples = 50;



/**************************************
* Legend parameters - aimsLegend.js
**************************************/

// legend map size
var legWidth=170;
var legHeight=300;
var legFont="Arial";
var legTitle="Legend";

/**************************************
* Options parameters - aimsOptions.js
**************************************/

// allowing user to set options
var allowOptions=false;

/**************************************
* ClassRender parameters - aimsClassRender.js
**************************************/

// parameters for custom class rendering... overrides default renderer
var ClassRenderLayer = new Array();  // layers to have custom renderers
var ClassRenderString = new Array(); // initial custom renderer XML string for the layers
ClassRenderLayer[0] = "Cities";
ClassRenderString[0] = "";
/*
ClassRenderString[0] ='<VALUEMAPRENDERER lookupfield="population">\n<RANGE LOWER="0" UPPER="1000000">\n<SIMPLEMARKERSYMBOL color="255,0,255" type="circle" size="4" />\n</RANGE>';
ClassRenderString[0] = ClassRenderString[0] + '<RANGE LOWER="1000000" UPPER="2500000">\n<SIMPLEMARKERSYMBOL color="255,0,255" type="circle" size="6" />\n</RANGE>';
ClassRenderString[0] = ClassRenderString[0] + '<RANGE LOWER="2500000" UPPER="5000000">\n<SIMPLEMARKERSYMBOL color="255,0,255" type="circle" size="9" />\n</RANGE>';
ClassRenderString[0] = ClassRenderString[0] + '<RANGE LOWER="5000000" UPPER="10000000">\n<SIMPLEMARKERSYMBOL color="255,0,255" type="circle" size="12" />\n</RANGE>';
ClassRenderString[0] = ClassRenderString[0] + '<RANGE LOWER="10000000" UPPER="30000000">\n<SIMPLEMARKERSYMBOL color="255,0,255" type="circle" size="16" />\n</RANGE>\n</VALUEMAPRENDERER>';
*/

/**************************************
* Geocode parameters - aimsGeocode.js
**************************************/

// maximum geocode candidates returned - default = 20
var maxGeocodeCandidates=20;
// minimal acceptable geocode score for candidate
var minGeocodeScore=50;
var geocodePointColor = "255,0,0";
var geocodePointSize = "15";
var geocodeLabelSize = "12";
var geocodePointType = "star";
var currentGeocodePointIndex = 0;

// custom functions needed for Reverse Geocoding - RouteServer extension required
var useReverseGeocode = false;
var useRoute=false;

// the starting point. . . it all starts here on loading
function checkParams() {
	appDir = getPath(document.location.pathname);
	// global for overview map. . . change if not on same frame as Map
	ovImageVar = document.ovImage;
	debugOn = 0;
	if (parent.TextFrame==null) {
		useTextFrame = false;
		useExternalWindow=true;
	}
	if (!hasLayer("measureBox")) useMeasure=false;
	if ((!useMeasure) && (!drawScaleBar)) useSetUnits=false;
	if (ovImageVar==null) hasOVMap = false;
	if (parent.TOCFrame==null) hasTOC = false;
	if (parent.ModeFrame==null) useModeFrame = false;
	
	
	if (isIE)	{
		if (hasLayer("theTop")) document.all.theTop.style.cursor = "crosshair";
		if (hasOVMap) ovImageVar.style.cursor = "hand";
	}
		
	if (hasOVMap) {
		// size of ov map image
		i2Width = parseInt(ovImageVar.width);
		i2Height = parseInt(ovImageVar.height);
		forceNewOVMap = false;
		// position of ov map
		//ovMapLeft = iWidth - (i2Width + 6);
		//ovMapTop = 2;
	}
	if (webParams!="") {
		//alert(webParams);
		getCommandLineParams(webParams);
	}
	// if starting extents zero'd then flag to get start from mapservice
	if ((startLeft!=0) && (startRight!=0)) getStartingExtent=false;
	// if limit extents zero'd then flag to get max from mapservice
	if ((limitLeft!=0) && (limitRight!=0)) {
		getLimitExtent=false;
		enforceFullExtent=true;
	}
	if (ovBoxColor=="") ovBoxColor = "255,0,0";
	//ovBoxColor = convertHexToDec(ovBoxColor);
	checkCoords();
	if (aimsNavigationPresent) {
		// Set up event capture for mouse movement
		if (isNav4) {
			document.captureEvents(Event.MOUSEMOVE);
			document.captureEvents(Event.MOUSEDOWN);
			document.captureEvents(Event.MOUSEUP);
			//document.captureEvents(Event.MOUSEOUT);
		}
		document.onmousemove = getMouse;
		//document.onmousedown = chkMouseDown;
		document.onmousedown = mapTool;
		document.onmouseup = chkMouseUp;
		//document.onmouseout = chkMouseOut;
	} else {
		usePan=false;
		usePanNorth=false;
		usePanWest=false;
		usePanEast=false;
		usePanSouth=false;
		useMeasure=false;
		useZoomIn=false;
		useZoomOut=false
		//useFullExtent=false;
		useZoomActive=false;
		//useZoomLast=false;	
	}
	
	if (!aimsBufferPresent) {
		useBuffer=false;
	}
	if (!aimsQueryPresent) {
		aimsBufferPresent=false;
		useQuery=false;
		useFind=false;
		useBuffer=false;
		useStoredQuery=false;
	}
	if (!aimsSelectPresent) {
		aimsQueryPresent=false;
		aimsBufferPresent=false;
 		useSelect=false;
		useQuery=false;
		useFind=false;
		useBuffer=false;
		useStoredQuery=false;
		useClearSelect=false;
	}
	if (!aimsIdentifyPresent) {
		aimsSelectPresent=false;
		aimsQueryPresent=false;
		aimsBufferPresent=false;
		canQuery=false;
		useIdentify=false;
 		useSelect=false;
		useQuery=false;
		useFind=false;
		useBuffer=false;
		useStoredQuery=false;
		useHyperLink=false;
		useHyperLinkAny=false;
		useIdentifyAll=false;
	}
	if (!aimsGeocodePresent) {
		useGeocode=false;
		useReverseGeocode=false;
	}
	if (!aimsPrintPresent) {
		usePrint=false;
	}
	if (!aimsOptionsPresent) {
		allowOptions=false;
	}
	if ((aimsXMLPresent) && (aimsMapPresent)) {
		if (aimsClickPresent) clickFunction("zoomin");
		if (parent.ToolFrame!=null) parent.ToolFrame.document.location="toolbar.htm";
		startMap();
	} else {
		alert(msgList[0]);
	}
}



