// ArcIMSparam.js
// javascript file with parameters specific to calling page

//***************************************************************************
//*			parameters File for HTML Template		    *
//***************************************************************************
// get machine name
var hostName = document.location.host;
// make URL for getting mapservice catalog
var catURL = "http://" + hostName + "/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog";
// make prefix for URL
var serverURL  = "http://" + hostName + "/servlet/com.esri.esrimap.Esrimap?ServiceName=";


//*********************************************************************
//*			parameters set by Designer			                     *
//*********************************************************************
var imsURL = 'http://www2.q-city.com/servlet/com.esri.esrimap.Esrimap?ServiceName=scorecard_0209';
var imsOVURL =  'http://www2.q-city.com/servlet/com.esri.esrimap.Esrimap?ServiceName=overview_0209';
var imsQueryURL = '';
var imsGeocodeURL = '';

// variables for setting component colors

var mapBackColor = '225,225,225';
var ovBoxColor = '#ff0000';
var ovBoxSize = 3;
var zoomBoxColor = '#ff0000';

// variables for using individual components

var hasOVMap = true;
var hasTOC = true;
var useModeFrame = true;

//initial map extent
var startLeft = 176066.71;
var startRight = 320310.11;
var startTop = 898072.27;
var startBottom = 801022.60;
//maximum map extent
var limitLeft = 176066.71;
var limitRight = 320310.11;
var limitTop = 898072.27;
var limitBottom = 801022.60;

var usePan=true;
var usePanNorth=false;
var usePanWest=false;
var usePanEast=false;
var usePanSouth=false;
var useZoomIn=true;
var useZoomOut=true;
var useFullExtent=true;
var useZoomActive=false;
var useZoomLast=true;
var useIdentify=true;
var useMeasure=true;
var useSetUnits=false;
var useSelect=true;
var useQuery=true;
var useFind=true;
var useGeocode=false;
var useStoredQuery=false;
var useClearSelect=true;
var usePrint=true;
var useGeoNetwork=false;
var useBuffer=true;
var useExtract=false;

var MapUnits = "Meters";
var ScaleBarUnits = "Miles";
var newBufferUnits = "Feet";


// End of Designer set parameters


var useHyperLink=false;
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 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 = 50/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;

//variables for MapDrawing
	// North Arrow
var drawNorthArrow = false;
var NorthArrowType = "4";
var NorthArrowSize = "15";
var NorthArrowCoords = "20 30";
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 = "TRUE";
var ScaleBarBackColor = "0,0,0";
var ScaleBarFontColor = "255,255,255";
var ScaleBarColor = "192,192,192";
var ScaleBarFont = "Arial";
var ScaleBarStyle = "Bold";
var ScaleBarRound = "1";
var ScaleBarSize = "14";
var ScaleBarWidth = "7";
var ScaleBarPrecision = 4;
var numDecimals = ScaleBarPrecision;
	// Copyright blurb
var drawCopyright = false;
var CopyrightFont = "Arial";
var CopyrightStyle = "Bold";
var CopyrightSize = "8";
var CopyrightCoords = "4 4";
var CopyrightColor = "0,0,0";
var CopyrightBackground = "False";
var CopyrightBGColor = "255,255,255";
var CopyrightGlow = "True";
var CopyrightGlowColor = "255,255,255";
var CopyrightText = "Map created with ArcIMS - Copyright (C) 1992-2001 ESRI Inc.";
	// 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) {
		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=55;

// variables for using individual components
var useTextFrame=true;
// use external window for dialogs
var useExternalWindow=false;

// colors for tables 
var textFrameBackColor="Silver";
var tableBackColor="White";
var textFrameTextColor="Black";
var textFrameLinkColor="Blue";
var textFrameFormColor="Gray";

// 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;

// CREATE NEW ARRAY WITH LAYER LIST ALIAS NAMES
var LayerNameAlias = new Array();
LayerNameAlias[0] = "Town labels";
LayerNameAlias[1] = "MassGIS Open Space";
LayerNameAlias[2] = "MassGIS Chapter 61 lands";
LayerNameAlias[3] = "1A - Abington parcels";
LayerNameAlias[4] = "1A - Acushnet parcels";
LayerNameAlias[5] = "1A - Berkley parcels";
LayerNameAlias[6] = "1A - Bourne parcels";
LayerNameAlias[7] = "1A - Bridgewater parcels";
LayerNameAlias[8] = "1A - Carver parcels";
LayerNameAlias[9] = "1A - Cohasset parcels";
LayerNameAlias[10] = "1A - Dartmouth parcels";
LayerNameAlias[11] = "1A - Dighton parcels";
LayerNameAlias[12] = "1A - Duxbury parcels";
LayerNameAlias[13] = "1A - East Bridgewater parcels";
LayerNameAlias[14] = "1A - Easton parcels";
LayerNameAlias[15] = "1A - Fairhaven parcels";
LayerNameAlias[16] = "1A - Fall River parcels";
LayerNameAlias[17] = "1A - Halifax parcels";
LayerNameAlias[18] = "1A - Hanover parcels";
LayerNameAlias[19] = "1A - Hanson parcels";
LayerNameAlias[20] = "1A - Hingham parcels";
LayerNameAlias[21] = "1A - Hull parcels";
LayerNameAlias[22] = "1A - Kingston parcels";
LayerNameAlias[23] = "1A - Lakeville parcels";
LayerNameAlias[24] = "1A - Mansfield parcels";
LayerNameAlias[25] = "1A - Marion parcels";
LayerNameAlias[26] = "1A - Marshfield parcels";
LayerNameAlias[27] = "1A - Mattapoisett parcels";
LayerNameAlias[28] = "1A - Middleborough parcels";
LayerNameAlias[29] = "1A - New Bedford parcels";
LayerNameAlias[30] = "1A - North Attleborough parcels";
LayerNameAlias[31] = "1A - Norton parcels";
LayerNameAlias[32] = "1A - Norwell parcels";
LayerNameAlias[33] = "1A - Plymouth parcels";
LayerNameAlias[34] = "1A - Raynham parcels";
LayerNameAlias[35] = "1A - Rehoboth parcels";
LayerNameAlias[36] = "1A - Rochester parcels";
LayerNameAlias[37] = "1A - Sandwich parcels";
LayerNameAlias[38] = "1A - Scituate parcels";
LayerNameAlias[39] = "1A - Seekonk parcels";
LayerNameAlias[40] = "1A - Sharon parcels";
LayerNameAlias[41] = "1A - Somerset parcels";
LayerNameAlias[42] = "1A - Stoughton parcels";
LayerNameAlias[43] = "1A - Swansea parcels";
LayerNameAlias[44] = "1A - Taunton parcels";
LayerNameAlias[45] = "1A - Walpole parcels";
LayerNameAlias[46] = "1A - Wareham parcels";
LayerNameAlias[47] = "1A - Westport parcels";
LayerNameAlias[48] = "1A - Weymouth parcels";
LayerNameAlias[49] = "Major drainage basins";
LayerNameAlias[50] = "1A - Roads";
LayerNameAlias[51] = "1A - Streams & rivers";
LayerNameAlias[52] = "1A - Major streams & rivers";
LayerNameAlias[53] = "1A - Ponds & lakes";
LayerNameAlias[54] = "1A - Major ponds & lakes";
LayerNameAlias[55] = "";
LayerNameAlias[56] = "1B - Undeveloped upland patches";
LayerNameAlias[57] = "1C - Landscape integrity values";
LayerNameAlias[58] = "2A - Representation";
LayerNameAlias[59] = "2C - Vegetation classes";
LayerNameAlias[60] = "3A - Aquifers";
LayerNameAlias[61] = "3B - Aquatic buffer (100 ft)";
LayerNameAlias[62] = "3B - Aquatic buffer (200 ft)";
LayerNameAlias[63] = "3C - CVPs";
LayerNameAlias[64] = "3C - PVPs";
LayerNameAlias[65] = "3D - CVP buffer (100 ft)";
LayerNameAlias[66] = "3D - PVP buffer (100 ft)";
LayerNameAlias[67] = "4A - BioMap Core Habitats";
LayerNameAlias[68] = "4A - BioMap Supporting Natural Landscape";
LayerNameAlias[69] = "4B - Living Waters Core Habitats";
LayerNameAlias[70] = "4B - Living Waters Critical Supporting Watersheds";
LayerNameAlias[71] = "4C - Priority Habitats";
LayerNameAlias[72] = "5A - ACECs";
LayerNameAlias[73] = "5A - ORWs";
LayerNameAlias[74] = "5A - North River Scenic Corridor";
LayerNameAlias[75] = "";
LayerNameAlias[76] = "";
LayerNameAlias[77] = "";

// CREATE NEW ARRAY WITH METADATA FILE NAMES
var layerMetadata = new Array();
layerMetadata[0] = "meta/town_labels.htm";
layerMetadata[1] = "meta/openspace.htm";
layerMetadata[2] = "meta/chapter61.htm";
layerMetadata[3] = "meta/abington_parcels.htm";
layerMetadata[4] = "meta/acushnet_parcels.htm";
layerMetadata[5] = "meta/berkley_parcels.htm";
layerMetadata[6] = "meta/bourne_parcels.htm";
layerMetadata[7] = "meta/bridgewater_parcels.htm";
layerMetadata[8] = "meta/carver_parcels.htm";
layerMetadata[9] = "meta/cohasset_parcels.htm";
layerMetadata[10] = "meta/dartmouth_parcels.htm";
layerMetadata[11] = "meta/dighton_parcels.htm";
layerMetadata[12] = "meta/duxbury_parcels.htm";
layerMetadata[13] = "meta/eastbridge_parcels.htm";
layerMetadata[14] = "meta/easton_parcels.htm";
layerMetadata[15] = "meta/fairhaven_parcels.htm";
layerMetadata[16] = "meta/fallriver_parcels.htm";
layerMetadata[17] = "meta/halifax_parcels.htm";
layerMetadata[18] = "meta/hanover_parcels.htm";
layerMetadata[19] = "meta/hanson_parcels.htm";
layerMetadata[20] = "meta/hingham_parcels.htm";
layerMetadata[21] = "meta/hull_parcels.htm";
layerMetadata[22] = "meta/kingston_parcels.htm";
layerMetadata[23] = "meta/lakeville_parcels.htm";
layerMetadata[24] = "meta/mansfield_parcels.htm";
layerMetadata[25] = "meta/marion_parcels.htm";
layerMetadata[26] = "meta/marshfield_parcels.htm";
layerMetadata[27] = "meta/mattapoisett_parcels.htm";
layerMetadata[28] = "meta/middleborough_parcels.htm";
layerMetadata[29] = "meta/newbedford_parcels.htm";
layerMetadata[30] = "meta/northattle_parcels.htm";
layerMetadata[31] = "meta/norton_parcels.htm";
layerMetadata[32] = "meta/norwell_parcels.htm";
layerMetadata[33] = "meta/plymouth_parcels.htm";
layerMetadata[34] = "meta/raynham_parcels.htm";
layerMetadata[35] = "meta/rehoboth_parcels.htm";
layerMetadata[36] = "meta/rochester_parcels.htm";
layerMetadata[37] = "meta/sandwich_parcels.htm";
layerMetadata[38] = "meta/scituate_parcels.htm";
layerMetadata[39] = "meta/seekonk_parcels.htm";
layerMetadata[40] = "meta/sharon_parcels.htm";
layerMetadata[41] = "meta/somerset_parcels.htm";
layerMetadata[42] = "meta/stoughton_parcels.htm";
layerMetadata[43] = "meta/swansea_parcels.htm";
layerMetadata[44] = "meta/taunton_parcels.htm";
layerMetadata[45] = "meta/walpole_parcels.htm";
layerMetadata[46] = "meta/wareham_parcels.htm";
layerMetadata[47] = "meta/westport_parcels.htm";
layerMetadata[48] = "meta/weymouth_parcels.htm";
layerMetadata[49] = "meta/majorbasins.htm";
layerMetadata[50] = "meta/roads.htm";
layerMetadata[51] = "meta/streams.htm";
layerMetadata[52] = "meta/majorstreams.htm";
layerMetadata[53] = "meta/ponds.htm";
layerMetadata[54] = "meta/majorponds.htm";
layerMetadata[55] = "";
layerMetadata[56] = "meta/green_patches.htm";
layerMetadata[57] = "meta/landscape_integrity.htm";
layerMetadata[58] = "meta/landcover_representation.htm";
layerMetadata[59] = "meta/vegetation_classes.htm";
layerMetadata[60] = "meta/aquifers.htm";
layerMetadata[61] = "meta/aquatic_buffer.htm";
layerMetadata[62] = "meta/aquatic_buffer.htm";
layerMetadata[63] = "meta/cvp.htm";
layerMetadata[64] = "meta/pvp.htm";
layerMetadata[65] = "meta/cvp_buffer.htm";
layerMetadata[66] = "meta/pvp_buffer.htm";
layerMetadata[67] = "meta/biomap_core.htm";
layerMetadata[68] = "meta/biomap_snl.htm";
layerMetadata[69] = "meta/lw_core.htm";
layerMetadata[70] = "meta/lw_csw.htm";
layerMetadata[71] = "meta/prihab.htm";
layerMetadata[72] = "meta/acec.htm";
layerMetadata[73] = "meta/orw.htm";
layerMetadata[74] = "meta/northriver_corridor.htm";
layerMetadata[75] = "";
layerMetadata[76] = "";
layerMetadata[77] = "";

// toggle the check of non-listing of layers in LayerList
// if true, noListLayer array must have an element defined for each layer
var hideLayersFromList=true;
// layers that will be listed in the LayerList
	// Note: This does not affect map display
var noListLayer = new Array();
noListLayer[0] = false;
noListLayer[1] = false;
noListLayer[2] = false;
noListLayer[3] = true;		// NOT LISTED
noListLayer[4] = true;		// NOT LISTED
noListLayer[5] = true;		// NOT LISTED
noListLayer[6] = true;		// NOT LISTED
noListLayer[7] = true;		// NOT LISTED
noListLayer[8] = true;		// NOT LISTED
noListLayer[9] = true;		// NOT LISTED
noListLayer[10] = true;		// NOT LISTED
noListLayer[11] = true;		// NOT LISTED
noListLayer[12] = true;		// NOT LISTED
noListLayer[13] = true;		// NOT LISTED
noListLayer[14] = true;		// NOT LISTED
noListLayer[15] = true;		// NOT LISTED
noListLayer[16] = true;		// NOT LISTED
noListLayer[17] = true;		// NOT LISTED
noListLayer[18] = true;		// NOT LISTED
noListLayer[19] = true;		// NOT LISTED
noListLayer[20] = true;		// NOT LISTED
noListLayer[21] = true;		// NOT LISTED
noListLayer[22] = true;		// NOT LISTED
noListLayer[23] = true;		// NOT LISTED
noListLayer[24] = true;		// NOT LISTED
noListLayer[25] = true;		// NOT LISTED
noListLayer[26] = true;		// NOT LISTED
noListLayer[27] = true;		// NOT LISTED
noListLayer[28] = true;		// NOT LISTED
noListLayer[29] = true;		// NOT LISTED
noListLayer[30] = true;		// NOT LISTED
noListLayer[31] = true;		// NOT LISTED
noListLayer[32] = true;		// NOT LISTED
noListLayer[33] = true;		// NOT LISTED
noListLayer[34] = true;		// NOT LISTED
noListLayer[35] = true;		// NOT LISTED
noListLayer[36] = true;		// NOT LISTED
noListLayer[37] = true;		// NOT LISTED
noListLayer[38] = true;		// NOT LISTED
noListLayer[39] = true;		// NOT LISTED
noListLayer[40] = true;		// NOT LISTED
noListLayer[41] = true;		// NOT LISTED
noListLayer[42] = true;		// NOT LISTED
noListLayer[43] = true;		// NOT LISTED
noListLayer[44] = true;		// NOT LISTED
noListLayer[45] = true;		// NOT LISTED
noListLayer[46] = true;		// NOT LISTED
noListLayer[47] = true;		// NOT LISTED
noListLayer[48] = true;		// NOT LISTED
noListLayer[49] = false;
noListLayer[50] = false;
noListLayer[51] = false;
noListLayer[52] = false;
noListLayer[53] = false;
noListLayer[54] = false;
noListLayer[55] = true;		// NOT LISTED
noListLayer[56] = false;
noListLayer[57] = false;
noListLayer[58] = false;
noListLayer[59] = false;
noListLayer[60] = false;
noListLayer[61] = false;
noListLayer[62] = false;
noListLayer[63] = false;
noListLayer[64] = false;
noListLayer[65] = false;
noListLayer[66] = false;
noListLayer[67] = false;
noListLayer[68] = false;
noListLayer[69] = false;
noListLayer[70] = false;
noListLayer[71] = false;
noListLayer[72] = false;
noListLayer[73] = false;
noListLayer[74] = false;
noListLayer[75] = true;		// NOT LISTED
noListLayer[76] = true;		// NOT LISTED
noListLayer[77] = true;		// NOT LISTED

// toggle the check of non-listing of layers in Legend
// if true, noLegendLayer array must have an element defined for each layer
// NEW VARIABLE -- CHECKS FOR NON-LISTING OF CERTAIN LAYERS IN LEGEND
var hideLayersFromLegend=true;
// NEW ARRAY -- LAYERS THAT WILL NOT BE LISTED IN THE LEGEND
var noLegendLayer = new Array();
noLegendLayer[0] = true;	// NOT LISTED
noLegendLayer[1] = false;
noLegendLayer[2] = false;
noLegendLayer[3] = true;	// NOT LISTED
noLegendLayer[4] = true;	// NOT LISTED
noLegendLayer[5] = true;	// NOT LISTED
noLegendLayer[6] = true;	// NOT LISTED
noLegendLayer[7] = true;	// NOT LISTED
noLegendLayer[8] = true;	// NOT LISTED
noLegendLayer[9] = true;	// NOT LISTED
noLegendLayer[10] = true;	// NOT LISTED
noLegendLayer[11] = true;	// NOT LISTED
noLegendLayer[12] = true;	// NOT LISTED
noLegendLayer[13] = true;	// NOT LISTED
noLegendLayer[14] = true;	// NOT LISTED
noLegendLayer[15] = true;	// NOT LISTED
noLegendLayer[16] = true;	// NOT LISTED
noLegendLayer[17] = true;	// NOT LISTED
noLegendLayer[18] = true;	// NOT LISTED
noLegendLayer[19] = true;	// NOT LISTED
noLegendLayer[20] = true;	// NOT LISTED
noLegendLayer[21] = true;	// NOT LISTED
noLegendLayer[22] = true;	// NOT LISTED
noLegendLayer[23] = true;	// NOT LISTED
noLegendLayer[24] = true;	// NOT LISTED
noLegendLayer[25] = true;	// NOT LISTED
noLegendLayer[26] = true;	// NOT LISTED
noLegendLayer[27] = true;	// NOT LISTED
noLegendLayer[28] = true;	// NOT LISTED
noLegendLayer[29] = true;	// NOT LISTED
noLegendLayer[30] = true;	// NOT LISTED
noLegendLayer[31] = true;	// NOT LISTED
noLegendLayer[32] = true;	// NOT LISTED
noLegendLayer[33] = true;	// NOT LISTED
noLegendLayer[34] = true;	// NOT LISTED
noLegendLayer[35] = true;	// NOT LISTED
noLegendLayer[36] = true;	// NOT LISTED
noLegendLayer[37] = true;	// NOT LISTED
noLegendLayer[38] = true;	// NOT LISTED
noLegendLayer[39] = true;	// NOT LISTED
noLegendLayer[40] = true;	// NOT LISTED
noLegendLayer[41] = true;	// NOT LISTED
noLegendLayer[42] = true;	// NOT LISTED
noLegendLayer[43] = true;	// NOT LISTED
noLegendLayer[44] = true;	// NOT LISTED
noLegendLayer[45] = true;	// NOT LISTED
noLegendLayer[46] = true;	// NOT LISTED
noLegendLayer[47] = true;	// NOT LISTED
noLegendLayer[48] = true;	// NOT LISTED
noLegendLayer[49] = false;
noLegendLayer[50] = false;
noLegendLayer[51] = false;
noLegendLayer[52] = false;
noLegendLayer[53] = false;
noLegendLayer[54] = false;
noLegendLayer[55] = true;	// NOT LISTED
noLegendLayer[56] = false;
noLegendLayer[57] = false;
noLegendLayer[58] = false;
noLegendLayer[59] = false;
noLegendLayer[60] = false;
noLegendLayer[61] = false;
noLegendLayer[62] = false;
noLegendLayer[63] = false;
noLegendLayer[64] = false;
noLegendLayer[65] = false;
noLegendLayer[66] = false;
noLegendLayer[67] = false;
noLegendLayer[68] = false;
noLegendLayer[69] = false;
noLegendLayer[70] = false;
noLegendLayer[71] = false;
noLegendLayer[72] = false;
noLegendLayer[73] = false;
noLegendLayer[74] = false;
noLegendLayer[75] = false;
noLegendLayer[76] = false;
noLegendLayer[77] = 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,255,0";
var clickMarkerType="Circle";
var clickMarkerSize="4";


/**************************************
* Identify/Select/Query/Buffer parameters
**************************************/

// search tolerance in pixels around click
var pixelTolerance=5;
// color of selected features in decimal RGB format
var selectColor="255,255,0";
// color of highlighted feature in decimal RGB format
var highlightColor="255,223,0";
// level of transparency of selected and highlighted color
var transparentLevel = "1.0";
	// zoom to selected feature if only one is returned?
var zoomToSingleSelect = 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
selFieldList[0]="#ALL#";
selFieldList[1]="#ALL#";
selFieldList[2]="#ALL#";
selFieldList[3]="#ALL#";
selFieldList[4]="#ALL#";
selFieldList[5]="#ALL#";
selFieldList[6]="#ALL#";
selFieldList[7]="#ALL#";
selFieldList[8]="#ALL#";
selFieldList[9]="#ALL#";
selFieldList[10]="#ALL#";
selFieldList[11]="#ALL#";
selFieldList[12]="#ALL#";
selFieldList[13]="#ALL#";
selFieldList[14]="#ALL#";
selFieldList[15]="#ALL#";
selFieldList[16]="#ALL#";
selFieldList[17]="#ALL#";
selFieldList[18]="#ALL#";
selFieldList[19]="#ALL#";
selFieldList[20]="#ALL#";
selFieldList[21]="#ALL#";
selFieldList[22]="#ALL#";
selFieldList[23]="#ALL#";
selFieldList[24]="#ALL#";
selFieldList[25]="#ALL#";
selFieldList[26]="#ALL#";
selFieldList[27]="#ALL#";
selFieldList[28]="#ALL#";
selFieldList[29]="#ALL#";
selFieldList[30]="#ALL#";
selFieldList[31]="#ALL#";
selFieldList[32]="#ALL#";
selFieldList[33]="#ALL#";
selFieldList[34]="#ALL#";
selFieldList[35]="#ALL#";
selFieldList[36]="#ALL#";
selFieldList[37]="#ALL#";
selFieldList[38]="#ALL#";
selFieldList[39]="#ALL#";
selFieldList[40]="#ALL#";
selFieldList[41]="#ALL#";
selFieldList[42]="#ALL#";
selFieldList[43]="#ALL#";
selFieldList[44]="#ALL#";
selFieldList[45]="#ALL#";
selFieldList[46]="#ALL#";
selFieldList[47]="#ALL#";
selFieldList[48]="#ALL#";
selFieldList[49]="#ALL#";
selFieldList[50]="#ALL#";
selFieldList[51]="#ALL#";
selFieldList[52]="#ALL#";
selFieldList[53]="#ALL#";
selFieldList[54]="#ALL#";
selFieldList[55]="#ALL#";
selFieldList[56]="#ALL#";
selFieldList[57]="#ALL#";
selFieldList[58]="#ALL#";
selFieldList[59]="#ALL#";
selFieldList[60]="#ALL#";
selFieldList[61]="#ALL#";
selFieldList[62]="#ALL#";
selFieldList[63]="#ALL#";
selFieldList[64]="#ALL#";
selFieldList[65]="#ALL#";
selFieldList[66]="#ALL#";
selFieldList[67]="#ALL#";
selFieldList[68]="#ALL#";
selFieldList[69]="#ALL#";
selFieldList[70]="#ALL#";
selFieldList[71]="#ALL#";
selFieldList[72]="#ALL#";
selFieldList[73]="#ALL#";
selFieldList[74]="#ALL#";
selFieldList[75]="#ALL#";
selFieldList[76]="#ALL#";
selFieldList[77]="#ALL#";

// 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=false;
// 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 ("")
fieldAliasList[0]="NAME:City Name|POPULATION:Population";
fieldAliasList[1]="";
fieldAliasList[2]="";
fieldAliasList[3]="";
fieldAliasList[4]="";
fieldAliasList[5]="NAME:CountryName";
fieldAliasList[6]="";

// 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[0] = "Breeding Bird Atlas data";
hyperLinkFields[0] = "TABLE_LINK";
hyperLinkPrefix[0] = "breedingbirdatlas/";
hyperLinkSuffix[0] = ".htm";
hyperLinkLayers[1] = "Bird Observer sightings";
hyperLinkFields[1] = "TABLE_LINK";
hyperLinkPrefix[1] = "birdobserver/";
hyperLinkSuffix[1] = ".htm";

// 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=230;
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";
// custom functions needed for Reverse Geocoding
var useReverseGeocode = false;

// the starting point. . . it all starts here on loading
function checkParams() {
	//legendVisible=true;
	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]);
	}
}



