//<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
// 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://www.agis.agric.za/servlet/com.esri.esrimap.Esrimap?ServiceName='+ parent.mapService;
if (parent.intPrjNo=="11336" || parent.intPrjNo=="11420" ){
	var imsOVURL =  'http://www.agis.agric.za/servlet/com.esri.esrimap.Esrimap?ServiceName=world_overview';
} else {
	var imsOVURL =  'http://www.agis.agric.za/servlet/com.esri.esrimap.Esrimap?ServiceName=new_overviewmap';
}


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;
// Carin for WOCAT
if (parent.intPrjNo=="8639" || parent.intPrjNo=="9644" || parent.intPrjNo=="11336"){
  //alert(parent.intPrjNo)
	var hasOVMap = false;
}


var hasTOC = true;
var useModeFrame = true;

//initial map extent
//var startLeft = 16.041975;
//var startRight = 33.30531;
//var startTop = -21.83494;
//var startBottom = -35.105201;

if (parent.intPrjNo=="11336" || parent.intPrjNo=="11420"){
		var startLeft = -180;
		var startRight = 180;
		var startTop = 90;
		var startBottom = -90;
		//maximum map extent
		var limitLeft = -180;
		var limitRight = 180;
		var limitTop = 90;
		var limitBottom = -90;

} else {
		var startLeft = 15.715977;
		var startRight = 32.999835;
		var startTop = -22.000835;
		var startBottom = -35.000063;
		//maximum map extent
		var limitLeft = 13.080101000000013;
		var limitRight = 34.067825;
		var limitTop = -21.834940000000003;
		var limitBottom = -35.105201;
}



//Web site path
var formFilePath = "/opt/website/viewer"
var usePan=true;
if(parent.intPrjNo=="9551" || parent.intPrjNo=="10574" || parent.intPrjNo=="10575" || parent.intPrjNo=="10576" || parent.intPrjNo=="9426" || parent.intPrjNo=="9550" || parent.intPrjNo=="9426"){
	var usePanNorth=false;
	var usePanWest=false;
	var usePanEast=false;
	var usePanSouth=false;
} else {
	var usePanNorth=true;
	var usePanWest=true;
	var usePanEast=true;
	var usePanSouth=true;
}
var useZoomIn=true;
var useZoomOut=true;
var useFullExtent=true;
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 useBuffer=true;
var useExtract=false;
var MapUnits = "Degrees";
var ScaleBarUnits = "Kilometers";

// End of Designer set parameters

var useHyperLink=true;
//var useBufferShape=false; // not implemented
var hasToolBarOnLayer=false;
// file locations for servlet connector form creation
var headerFilePath = formFilePath + "/header.htm";
var footerFilePath = formFilePath + "/footer.htm";

/**************************************
* 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 = 0.85;
//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 = 0.25;
// margin margin factor for zooming in on selected points - based on full extent. . . margin will be selectPointMargin * fullWidth or fullHeight
var selectPointMargin = 0.025

// show the scale factor
var showScalePercent=true;
// display coords in status line
var showXYs=true;

//variables for MapDrawing
	// North Arrow
var drawNorthArrow = true;
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=true;
	// 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 = 2;
var numDecimals = ScaleBarPrecision;
	// Copyright blurb
var drawCopyright = true;
var CopyrightFont = "Arial";
var CopyrightStyle = "Normal";
var CopyrightSize = "10";
var CopyrightCoords = "2,1";
var CopyrightColor = "0,0,0";
var CopyrightBackground = "False";
var CopyrightBGColor = "0,0,0";
var CopyrightGlow = "False";
var CopyrightGlowColor = "255,255,255";
//Carin for FIVIMS-ZA
if (parent.intPrjNo=="9551" || parent.intPrjNo=="9550" || parent.intPrjNo=="9426" || parent.intPrjNo=="10574" || parent.intPrjNo=="10575" || parent.intPrjNo=="10576"){
	var CopyrightText = "Map created by FIVIMS on AGIS.  Government of South Africa 2004.";
}
else {
var CopyrightText = "AGIS : Planning for Tomorrow's Demands, Today!";
}
	// 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;

// setup test for Nav 4.0
var isNav4 = false;
var isNav5up = false;
var isNav = false;
var isIE = false;
if (navigator.appName == "Netscape") {
 isNav =true;
 if (navigator.appVersion.search("5.0") == -1)
  isNav4 = true;
 else isNav5up = true;
}else isIE = true;
		
/**************************************
* 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

if (parent.intPrjNo=="5695" || parent.intPrjNo=="5597"){
var ActiveLayerIndex=12;
} else if (parent.intPrjNo=="6016") {
var ActiveLayerIndex=12;
// FIVIMS-ZA index of initial Nutritional Status active layer
} else if (parent.intPrjNo=="9426"){
var ActiveLayerIndex=13;
} else if (parent.intPrjNo=="9550"){
// FIVIMS-ZA index of initial Feeding School Scheme active layer
var ActiveLayerIndex=12;
} else if (parent.intPrjNo=="9551"){
// FIVIMS-ZA index of initial Water Access active layer
var ActiveLayerIndex=11;
} else {
var ActiveLayerIndex=99;
}

// 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 = true;

// 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?... 
// Carin for WOCAT
//if (parent.intPrjNo=="8639" || parent.intPrjNo=="9644" || parent.intPrjNo=="11336"){
  //alert(parent.intPrjNo)
//  var ovMapIsLayer=false;
//} else {
  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=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,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 = true;

// 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

//Rudolf replace code with dynamic selected fields in viewer.htm with SSJS
//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=true;
// array for aliases for each layer's returned fields if useFieldAlias=true

//Rudolf replace code with dynamic aliases in viewer.htm with SSJS
//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]="";

// 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
//hyperLinkLayers[9] = "LANDTYPE";
//hyperLinkFields[9] = "SDE.V250LNDTYPE.website";

// 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;

// 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";
// custom functions needed for Reverse Geocoding
var useReverseGeocode = 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.intPrjNo=="11598"){
		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;
 
 // JSchade addition start: hide tools when defining area.
 if(parent.intUsrMode==1){
  parent.MapFrame.hasOVMap=false;
  useBuffer=false;
  //usePan=false;
  usePanNorth=false;
  usePanWest=false;
  usePanEast=false;
  usePanSouth=false;
  //useZoomOut=false;
  //useFullExtent=false;
  //useZoomActive=false;
  //useZoomLast=false;
  //useIdentify=false;
  useMeasure=false;
  useSetUnits=false;
  useSelect=false;
  //useQuery=false;
  //useFind=false;
  useStoreQuery=false;
  useClearSelect=false;
  usePrint=false;
  useExtract=false;
  useHyperLink=false;
 } //JSchade addition end.

 if (!document.layers)	{
  if (hasLayer("theTop")) document.all.theTop.style.cursor = "crosshair";
  if (hasOVMap) ovImageVar.style.cursor = "hand";
 }
 if (hasOVMap) {
  // size of ov map image
  i2Width = ovImageVar.width;
  i2Height = ovImageVar.height;
  // 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);
 if (aimsNavigationPresent) {
  // Set up event capture for mouse movement
  if (isNav4) {
   document.captureEvents(Event.MOUSEMOVE); //document=MapFrame.
   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;
 }
 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("Unable to load one of the following Javascript Libraries:\naimsCommon.js\naimsXML.js\naimsMap.js");
 }
}
