// 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 = "/deqarcims/ims?ServiceName="
// make URL for getting mapservice catalog
var catURL = "http://" + hostName + esriBlurb + "catalog";
// make prefix for URL
var serverURL  = "http://" + hostName + esriBlurb;

var webParams = "";
var theMapService = "";

if (parent.MapFrame!=null) {
	webParams = parent.document.location.search;
} else {
	webParams = document.location.search;
}
	
//browser should have passed a mapservice as a parameter	
if (webParams!="") {
	var cmdString2 = webParams.toUpperCase();
	var startpos = 0;
	var endpos = 0;
	pos = cmdString2.indexOf("SERVICE="); 

	if (pos!=-1) {
		startpos = pos + 8;
		endpos = cmdString2.indexOf("&",startpos);

		if (endpos==-1) endpos = cmdString2.length;
		
		theMapService = webParams.substring(startpos,endpos);	
	} 
} 

//set default mapservice if no web parameter
if (theMapService == "") theMapService = "VA_DEQ";

var imsURL = serverURL + theMapService;
var imsOVURL = imsURL;
var imsQueryURL = '';
var imsGeocodeURL = '';

if (theMapService=="VA_DEQ"){

	// index of initial active layer. . . if more than or equal to layer count top layer used
	var ActiveLayerIndex=0;

	var popUPSomething = false;
	var emailRecipient = "jntragesser@deq.virginia.gov";
	var beenAsked = false; //about autorefresh
	var autoRefresh = false;		
	var drawCircle = false;
	var showXML = false;
	var xmlMessage = "XML view is currently OFF";
	var doFastStart=true;
	var fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-387291.628177647" miny="-98337.5698840456" maxx="380357.715950117" maxy="526714.372857756" /> <OUTPUT file="D:\website\deqims\images\petroleum_static_map.jpg" url="http://gisweb.deq.virginia.gov/deqims/images/petroleum_static_map.jpg" /> </IMAGE> </RESPONSE> </ARCXML> ';

    //initial map extent
	var startLeft = -373829.020713795;
	var startRight = 380288.160529069;
	var startTop = 385316.737503706;
	var startBottom = 35314.0619027083;
	//maximum map extent
	var limitLeft = -387291.62817764736;
	var limitRight = 380357.71595011745;
	var limitTop = 393062.74107100256;
	var limitBottom = 35314.0619027084;


	var useAdmin=false;
	var useCircle=true;
	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=false;
	var useIdentify=false;
	var useMeasure=true;
	var useSetUnits=false;
	var useSelect=true;
	var useQuery=false;
	var useFind=true;
	var useGeocode=true;
	var useStoredQuery=false;
	var useClearSelect=true;
	var usePrint=true;
	var useGeoNetwork=false;
	var useBuffer=false;
	var useExtract=false;
	var MapUnits = "Degrees";
	var ScaleBarUnits = "Miles";
	
	// 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=true;

	// layers that will be listed in the LayerList
	// Note: This does not affect map display

	var noListLayer = new Array();
 	noListLayer[0] = false; //lpst
 	noListLayer[1] = false; //vpdes
  	noListLayer[2] = false;  //VRP sites
  	noListLayer[3] = false;  //assessment monitoring stations
	noListLayer[4] = false;  //significant dischargers
 	noListLayer[5] = true; //cities
 	noListLayer[6] = true; //interstates	
 	noListLayer[7] = true; //us highways
 	noListLayer[8] = true; //primaries
 	noListLayer[9] = true; //secondaries
 	noListLayer[10] = false; //303d Rivers and Streams
 	noListLayer[11] = false; //303d Reservoirs
 	noListLayer[12] = false; //303d Estuaries
 	noListLayer[13] = false;  //303d Shellfish Waters
 	noListLayer[14] = true;  //rail lines
 	noListLayer[15] = true; //rivers
 	noListLayer[16] = false;  //nhd rivers (detailed)
 	noListLayer[17] = true; //lakes and chesapeake bay
 	noListLayer[18] = false; //solid waste facilities
	noListLayer[19] = false;  //hillshade
 	noListLayer[20] = false;  //DEQ regions
 	noListLayer[21] = true; //counties
 	noListLayer[22] = true; //geocode
 	//noListLayer[23] = false; //
 	//noListLayer[24] = false; //
        //noListLayer[17] = true;  counties //
	//noListLayer[19] = false; contours //


} else if (theMapService=="DEQ305b") {
	// index of initial active layer. . . if more than or equal to layer count top layer used
	var ActiveLayerIndex=7;
	
	var emailRecipient = "dmglover@deq.virginia.gov";
	var popUPSomething = true; //true if the active theme should pop up a new window on hyperlink (ie. factsheet)	
	var beenAsked = false; //about autorefresh
	var autoRefresh = false;			
	var drawCircle = false;
	var showXML = false;
	var xmlMessage = "XML view is currently OFF";
	var doFastStart=true;
	//var fastStartMap = "";

	if (screen.width > 1000) {
   	fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-387291.628177647"  miny="-98337.5698840456" maxx="380357.715950117" maxy="526714.372857756" /> <OUTPUT file="D:\website\deqims\images\static_test.png" url="http://gisweb.deq.virginia.gov/deqims/images/static_test.png" /> </IMAGE> </RESPONSE> </ARCXML> ';
	} else {
   		fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-376788.21966786"  miny="-35532.8690409436" maxx="376836.388683475" maxy="562527.026577318" /> <OUTPUT file="D:\website\deqims\images\303d_static_800x600.png" url="http://gisweb.deq.virginia.gov/deqims/images/303d_static_800x600.png" /> </IMAGE> </RESPONSE> </ARCXML> ';
	}

	//initial map extent
	var startLeft = -373829.020713795;
	var startRight = 380288.160529069;
	var startTop = 385316.737503706;
	var startBottom = 35314.0619027083;
	//maximum map extent
	var limitLeft = -387291.62817764736;
	var limitRight = 380357.71595011745;
	var limitTop = 393062.74107100256;
	var limitBottom = 35314.0619027084;

	var useAdmin=false;
	var useCircle=false;
	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=false;
	var useIdentify=false;
	var useMeasure=true;
	var useSetUnits=false;
	var useSelect=true;
	var useQuery=false;
	var useFind=true;
	var useGeocode=true;
	var useStoredQuery=false;
	var useClearSelect=true;
	var usePrint=true;
	var useGeoNetwork=false;
	var useBuffer=false;
	var useExtract=false;	
	var MapUnits = "Degrees";
	var ScaleBarUnits = "Miles";

	// 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=true;
	
	// layers that will be listed in the LayerList or Legend
	// Note: This does not affect map display
	var noListLayer = new Array();
 	noListLayer[0] = false;//major dischargers
 	noListLayer[1] = false; //monitoring stations
 	noListLayer[2] = true; //cities
 	noListLayer[3] = true;  //interstates
 	noListLayer[4] = true; //us highways	
 	noListLayer[5] = true; //primaries
 	noListLayer[6] = true; //secondaries
 	noListLayer[7] = false; //303d rivers
 	noListLayer[8] = false; //303d lakes
 	noListLayer[9] = false; //303d estuaries
	noListLayer[10] = true;  //rail lines
 	noListLayer[11] = true; //rivers
 	noListLayer[12] = true;  //nhd
 	noListLayer[13] = false; //sub-basins
 	noListLayer[14] = true;  //indep. cities
 	noListLayer[15] = true; //lakes and chesapeake bay
 	noListLayer[16] = true;  //DEQ regions
 	noListLayer[17] = true; //counties
 	noListLayer[18] = false; //geocode
 	noListLayer[19] = false; //huc
// 	noListLayer[20] = false; //
// 	noListLayer[21] = false;    

} else if (theMapService=="IR2004") {
	// index of initial active layer. . . if more than or equal to layer count top layer used
	var ActiveLayerIndex=7;
	
	var emailRecipient = "dmglover@deq.virginia.gov";
	var popUPSomething = true; //true if the active theme should pop up a new window on hyperlink (ie. factsheet)	
	var beenAsked = false; //about autorefresh
	var autoRefresh = false;			
	var drawCircle = false;
	var showXML = false;
	var xmlMessage = "XML view is currently OFF";
	var doFastStart=false;
	//var fastStartMap = "";

	if (screen.width > 1000) {
   	fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-387291.628177647"  miny="-98337.5698840456" maxx="380357.715950117" maxy="526714.372857756" /> <OUTPUT file="D:\website\deqims\images\static_test.png" url="http://gisweb.deq.virginia.gov/deqims/images/static_test.png" /> </IMAGE> </RESPONSE> </ARCXML> ';
	} else {
   		fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-376788.21966786"  miny="-35532.8690409436" maxx="376836.388683475" maxy="562527.026577318" /> <OUTPUT file="D:\website\deqims\images\303d_static_800x600.png" url="http://gisweb.deq.virginia.gov/deqims/images/303d_static_800x600.png" /> </IMAGE> </RESPONSE> </ARCXML> ';
	}

	//initial map extent
	var startLeft = -373829.020713795;
	var startRight = 380288.160529069;
	var startTop = 385316.737503706;
	var startBottom = 35314.0619027083;
	//maximum map extent
	var limitLeft = -387291.62817764736;
	var limitRight = 380357.71595011745;
	var limitTop = 393062.74107100256;
	var limitBottom = 35314.0619027084;

	var useAdmin=false;
	var useCircle=false;
	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=false;
	var useIdentify=false;
	var useMeasure=true;
	var useSetUnits=false;
	var useSelect=true;
	var useQuery=false;
	var useFind=true;
	var useGeocode=true;
	var useStoredQuery=false;
	var useClearSelect=true;
	var usePrint=true;
	var useGeoNetwork=false;
	var useBuffer=false;
	var useExtract=false;	
	var MapUnits = "Degrees";
	var ScaleBarUnits = "Miles";

	// 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=true;
	
	// layers that will be listed in the LayerList or Legend
	// Note: This does not affect map display
	var noListLayer = new Array();
 	noListLayer[0] = false;//significant dischargers
 	noListLayer[1] = false; //monitoring stations
 	noListLayer[2] = true; //cities
 	noListLayer[3] = true;  //interstates
 	noListLayer[4] = true; //us highways	
 	noListLayer[5] = true; //primaries
 	noListLayer[6] = true; //secondaries
 	noListLayer[7] = false; //303d rivers and streams
 	noListLayer[8] = false; //303d reservoirs
 	noListLayer[9] = false; //303d estuaries
	noListLayer[10] = false;  //303d shellfish waters
 	noListLayer[11] = true; //general lakes and estuaries
 	noListLayer[12] = true;  //general rivers
 	noListLayer[13] = true; //nhd general lakes and estuaries
 	noListLayer[14] = true;  //nhd rivers
 	noListLayer[15] = false; //hillshade
 	noListLayer[16] = true; //counties
 	noListLayer[17] = true; //geocode
 	noListLayer[18] = false; //deq regional boundaries
 	noListLayer[19] = false; //major river basins
 	noListLayer[20] = false; //impairments in watersheds 
	
} else if (theMapService=="IR2006") {
	// index of initial active layer. . . if more than or equal to layer count top layer used
	var ActiveLayerIndex=7;
	
	var emailRecipient = "dmglover@deq.virginia.gov";
	var popUPSomething = true; //true if the active theme should pop up a new window on hyperlink (ie. factsheet)	
	var beenAsked = false; //about autorefresh
	var autoRefresh = false;			
	var drawCircle = false;
	var showXML = false;
	var xmlMessage = "XML view is currently OFF";
	var doFastStart=false;
	//var fastStartMap = "";

	if (screen.width > 1000) {
   	fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-387291.628177647"  miny="-98337.5698840456" maxx="380357.715950117" maxy="526714.372857756" /> <OUTPUT file="D:\website\deqims\images\static_test.png" url="http://gisweb.deq.virginia.gov/deqims/images/static_test.png" /> </IMAGE> </RESPONSE> </ARCXML> ';
	} else {
   		fastStartMap = '<?xml version="1.0"?> <ARCXML version="1.0"> <RESPONSE> <IMAGE> <ENVELOPE minx="-376788.21966786"  miny="-35532.8690409436" maxx="376836.388683475" maxy="562527.026577318" /> <OUTPUT file="D:\website\deqims\images\303d_static_800x600.png" url="http://gisweb.deq.virginia.gov/deqims/images/303d_static_800x600.png" /> </IMAGE> </RESPONSE> </ARCXML> ';
	}

	//initial map extent
	var startLeft = -373829.020713795;
	var startRight = 380288.160529069;
	var startTop = 385316.737503706;
	var startBottom = 35314.0619027083;
	//maximum map extent
	var limitLeft = -387291.62817764736;
	var limitRight = 380357.71595011745;
	var limitTop = 393062.74107100256;
	var limitBottom = 35314.0619027084;

	var useAdmin=false;
	var useCircle=false;
	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=false;
	var useIdentify=false;
	var useMeasure=true;
	var useSetUnits=false;
	var useSelect=true;
	var useQuery=false;
	var useFind=true;
	var useGeocode=true;
	var useStoredQuery=false;
	var useClearSelect=true;
	var usePrint=true;
	var useGeoNetwork=false;
	var useBuffer=false;
	var useExtract=false;	
	var MapUnits = "Degrees";
	var ScaleBarUnits = "Miles";

	// 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=true;
	
	// layers that will be listed in the LayerList or Legend
	// Note: This does not affect map display
	var noListLayer = new Array();
 	noListLayer[0] = false;//significant dischargers
 	noListLayer[1] = false; //monitoring stations
 	noListLayer[2] = true; //cities
 	noListLayer[3] = true;  //interstates
 	noListLayer[4] = true; //us highways	
 	noListLayer[5] = true; //primaries
 	noListLayer[6] = true; //secondaries
 	noListLayer[7] = false; //303d rivers and streams
 	noListLayer[8] = false; //303d reservoirs
 	noListLayer[9] = false; //303d estuaries
	noListLayer[10] = false;  //303d shellfish waters
 	noListLayer[11] = false; //general lakes and estuaries
 	noListLayer[12] = false;  //general rivers
 	noListLayer[13] = false; //nhd general lakes and estuaries
 	noListLayer[14] = false;  //nhd rivers
 	noListLayer[15] = false; //hillshade
 	noListLayer[16] = true; //counties
 	noListLayer[17] = true; //geocode
 	noListLayer[18] = false; //deq regional boundaries
 	noListLayer[19] = false; //major river basins
 	noListLayer[20] = false; //impairments in watersheds   

} else if (theMapService=="CZONE") {

	// index of initial active layer. . . if more than or equal to layer count top layer used
	var ActiveLayerIndex=0;

	var popUPSomething = false;
	var emailRecipient = "lbmckay@deq.virginia.gov";
	var beenAsked = false; //about autorefresh
	var autoRefresh = false;		
	var drawCircle = false;
	var showXML = false;
	var xmlMessage = "XML view is currently OFF";
	var doFastStart=false;
	var fastStartMap = '';

    //initial map extent
	var startLeft = 135125.66578838177;
	var startRight = 380288.1610906235;
	var startTop = 341900.4187193196;
	var startBottom = 64426.593092445284;
	//maximum map extent
	var limitLeft = 135125.66578838177;
	var limitRight = 380288.1610906235;
	var limitTop = 341900.4187193196;
	var limitBottom = 64426.593092445284;


	var useAdmin=false;
	var useCircle=true;
	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=false;
	var useIdentify=false;
	var useMeasure=true;
	var useSetUnits=false;
	var useSelect=true;
	var useQuery=false;
	var useFind=true;
	var useGeocode=true;
	var useStoredQuery=false;
	var useClearSelect=true;
	var usePrint=true;
	var useGeoNetwork=false;
	var useBuffer=false;
	var useExtract=false;
	var MapUnits = "Degrees";
	var ScaleBarUnits = "Miles";
	
	// 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=true;

	// layers that will be listed in the LayerList
	// Note: This does not affect map display

	var noListLayer = new Array();
 	noListLayer[0] = true; //Barrier Island Names
 	noListLayer[1] = false; //Colonial Waterbird Data
 	noListLayer[2] = false; //Selected Water Quality Stations
 	noListLayer[3] = false; //FY 2002 SAV Restoration Sites	
 	noListLayer[4] = false; //Oyster Restoration
 	noListLayer[5] = true; //Cities
 	noListLayer[6] = false; //Shorebird Concentration Areas
 	noListLayer[7] = false; //Phragmites Coverage
 	noListLayer[8] = false; //Public Access Sites
 	noListLayer[9] = true; //Interstates
 	noListLayer[10] = true; //US Highways
 	noListLayer[11] = true; //Virginia Primary Highways
 	noListLayer[12] = true; //Secondary Roads
 	noListLayer[13] = false; //VIMS SAV Setaside Area
 	noListLayer[14] = false; //Seaside Water Canoe/Kayak Trail
 	noListLayer[15] = false; //Seaside Heritage Program Boundary
 	noListLayer[16] = false; //Forest Lost in Northampton (1994-2004)
 	noListLayer[17] = false; //Forest Gained in Northampton (1994-2004)
 	noListLayer[18] = true; //Small Streams
 	noListLayer[19] = false; //US Fish and Wildlife Conservation Lands
 	noListLayer[20] = false; //Dept. of Conservation and Recreation Conservation Lands
 	noListLayer[21] = false; //Dept. of Game and Fisheries Conservation Lands
 	noListLayer[22] = false; //Nature Conservancy Conservation Lands
 	noListLayer[23] = true; //Coastal Zone Counties
 	noListLayer[24] = true; //Chesapeake Bay and Estuaries
 	noListLayer[25] = true; //water background
 	//noListLayer[12] = false; //
 	//noListLayer[13] = false;  //
 	//noListLayer[14] = false; //
 	//noListLayer[15] = false;  //

} else if (theMapService=="MONAPP") {
	// index of initial active layer. . . if more than or equal to layer count top layer used
	var ActiveLayerIndex=12;
	
	var emailRecipient = "dmglover@deq.virginia.gov";
	var popUPSomething = true; //true if the active theme should pop up a new window on hyperlink (ie. factsheet)	
	var beenAsked = false; //about autorefresh
	var autoRefresh = false;			
	var drawCircle = false;
	var showXML = false;
	var xmlMessage = "XML view is currently OFF";
	var doFastStart=false;
	//var fastStartMap = "";

	//initial map extent
	var startLeft = -373829.020713795;
	var startRight = 380288.160529069;
	var startTop = 385316.737503706;
	var startBottom = 35314.0619027083;
	//maximum map extent
	var limitLeft = -387291.62817764736;
	var limitRight = 380357.71595011745;
	var limitTop = 393062.74107100256;
	var limitBottom = 35314.0619027084;

	var useAdmin=false;
	var useCircle=false;
	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=false;
	var useIdentify=false;
	var useMeasure=true;
	var useSetUnits=false;
	var useSelect=true;
	var useQuery=false;
	var useFind=true;
	var useGeocode=true;
	var useStoredQuery=false;
	var useClearSelect=true;
	var usePrint=true;
	var useGeoNetwork=false;
	var useBuffer=false;
	var useExtract=false;	
	var MapUnits = "Degrees";
	var ScaleBarUnits = "Miles";

	// 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=true;
	
	// layers that will be listed in the LayerList or Legend
	// Note: This does not affect map display
	var noListLayer = new Array();
 	noListLayer[0] = true;//cities
 	noListLayer[1] = true;  //interstates
 	noListLayer[2] = true; //us highways	
 	noListLayer[3] = true; //primaries
 	noListLayer[4] = true; //secondaries
 	noListLayer[5] = true; //rivers
 	noListLayer[6] = true;  //nhd
 	noListLayer[7] = true; //lakes and chesapeake bay
 	noListLayer[8] = true; //counties
 	noListLayer[9] = true; //geocode
 	noListLayer[10] = false; //huc
 	noListLayer[11] = false; //watersheds
 	noListLayer[12] = false; //river basins
// 	noListLayer[14] = false; //
// 	noListLayer[15] = false; //

} else {
	alert(theMapService + " is an unknown mapservice name");
	window.close();
}

/*-----------------------------------------
 * The remaining parameters are assumed to be the same for ALL Mapservices!
 *-----------------------------------------*/

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 setting component colors
var mapBackColor = "";
var ovBoxColor = "#ff0000";
var ovBoxSize = 3;
var zoomBoxColor = "#ff0000";

// variables for using individual components
var hasOVMap = false;
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;

//variables for MapDrawing
	// North Arrow
var drawNorthArrow = true;
var NorthArrowType = "4";
var NorthArrowSize = "15";
var NorthArrowCoords = "25 25";
var NorthArrowAngle = "0";
	// Scale Bar
var drawScaleBar = true;
var MapUnits="METERS";
	// MapUnits=DEGREES,FEET,METERS
	// can MapUnits be changed by user?
var setMapUnits=false;
	//ScaleBarUnits="METERS,MILES,FEET
var ScaleBarBackground = "false";
var ScaleBarBackColor = "255,255,255";
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 CopyrightText = "Map created with ArcIMS - Copyright (C) 1992-2002 ESRI 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";


// 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;
  
	     
	// 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;

/**************************************
* 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=false;
// 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]="NAME COUNTRY POPULATION #ID# #SHAPE#";
selFieldList[1]="URL #ID# #SHAPE#";
selFieldList[2]="#ALL#";
selFieldList[3]="#ALL#";
selFieldList[4]="#ALL#";
selFieldList[5]="NAME CONTINENT #ID# #SHAPE#";
selFieldList[6]="#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 = false;
// Hide the shape field display? The Shape Field must be included in field list, but we don't have to show it.
var hideShapeFieldData = false;


// 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] = "Image";
hyperLinkFields[0] = "HOT";
hyperLinkPrefix[0] = "/gisdata/world/images/";
hyperLinkSuffix[0] = ".jpg";
//*/
/*
hyperLinkLayers[0] = "Winners";
hyperLinkFields[0] = "MISC.SAG.ID";
hyperLinkPrefix[0] = "http://gis.esri.com/uc2001/sag/display/index.cfm?id=";
hyperLinkSuffix[0] = "";
*/


// 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 (webParams!="") {
	//	alert(webParams);
		getCommandLineParams(webParams);
	}
	
	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 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]);
	}
}


