<% ' Map Viewer (Third Edition) by Howie Sternberg at howies@snet.net. ' Map Viewer is placed in the public domain and is "Freeware". ' Map Viewer may be freely used and redistributed, is provided "AS-IS" ' without warranty of any kind, and there is no technical support provided. ' ----------------------- ' Find Functions and Subs ' ----------------------- Function getFeatureLimit(sFeatureLimit) ' Return " & vbCrLf For each sLimit in aLimits sSel = "" If (strComp(sLimit,sFeatureLimit,1) = 0) Then sSel = " selected" End If sHtml = sHtml & ""& sLimit & vbCrLf Next sHtml= sHtml & "" getFeatureLimit = sHtml End Function Function getFeatureListLimit(sListFeatureLimit) ' Return " & vbCrLf For each sLimit in aLimits sSel = "" If (strComp(sLimit,sListFeatureLimit,1) = 0) Then sSel = " selected" End If sHtml = sHtml & ""& sLimit & vbCrLf Next sHtml= sHtml & "" getFeatureListLimit = sHtml End Function Function getChoice(iSearchOption) ' Return " & vbCrLf For each sLayer in aChoices aLayer = split(sLayer,"|") sSel = "" If (iSearchOption = c) Then sSel = " selected" End If sHtml = sHtml & ""& aLayer(0) & vbCrLf c = c + 1 Next sHtml = sHtml & "" getChoice = sHtml End Function Sub setChoiceData(iSearchOption, iSearchOptionPrevious) ' Sets globals that specify layer and fields associated with selected (current) Search choice Dim sLayer, aLayer, c c = 0 For each sLayer in aChoices aLayer = split(sLayer,"|") If (iSearchOption = c) Then intSearchLayerIndex = getLayerIndex(aLayer(1), aServiceLayerId) intActiveLayerIndex = intSearchLayerIndex If intActiveLayerIndex = -1 Then response.write "Error: The mapviewer.xml file references an invalid layer id.

<layer id=""" & aLayer(1) & """> is NOT in the """ & strMapService & """ map service.

Fix error in the mapviewer.xml file." response.end End If strActiveLayerId = Cstr(aLayer(1)) strSearchField = aLayer(2) If (iSearchOption <> iSearchOptionPrevious) Then intActiveLayerIndexPrevious = intActiveLayerIndex strRequestAXL = getServiceInfoAXL("false","false","true","false") 'response.write strRequestAXL 'response.end call objArcIMSConnector.SendAxlRequest (strMapService , strRequestAXL) strResponseAXL = objArcIMSConnector.ResponseAXL 'response.write strResponseAXL 'response.end aActiveLayerIdParams(0) = Array("layerIndex",intActiveLayerIndex) strActiveFclass = getLayerFclass(intActiveLayerIndex, aServiceLayerType, aServiceLayerFclass) aActiveLayerIdParams(0) = Array("layerId",strActiveLayerId) strActiveFields = transformXMLWithParameters(strResponseAXL,"xsl\layerinfofieldname.xsl",aActiveLayerIdParams) strActiveFields = Left(strActiveFields,Len(strActiveFields) - 1) strActiveFieldsType = transformXMLWithParameters(strResponseAXL,"xsl\layerinfofieldtype.xsl",aActiveLayerIdParams) strActiveFieldsType = Left(strActiveFieldsType,Len(strActiveFieldsType) - 1) strActiveSortField = getLayerRowId(intActiveLayerIndex, aServiceLayerType, aServiceLayerRowId) strActiveSortFieldDataTypeSort = getFieldDataTypeSort(strActiveSortField,strActiveFields,strActiveFieldsType) strActiveSortFieldDataType = getFieldDataType(strActiveSortField,strActiveFields,strActiveFieldsType,strServiceType) strActiveSortOrder = "ascending" strSearchFclass = strActiveFclass strSearchFields = strActiveFields strSearchFieldsType = strActiveFieldsType strSearchFieldDataType = getFieldDataType(strSearchField,strSearchFields,strSearchFieldsType,strServiceType) strSearchSortField = strSearchField strSearchSortOrder = strActiveSortOrder strActiveSortField = strSearchSortField intSearchOptionPrevious = iSearchOption End If If (strComp(strSearchFieldDataType,"number",1) = 0) Then strSearchOperator = "=" Else strSearchOperator = "LIKE" End If strSearchSortFieldDataType = getFieldDataType(strSearchSortField,strSearchFields,strSearchFieldsType,strServiceType) strSearchSortFieldDataTypeSort = getFieldDataTypeSort(strSearchSortField,strSearchFields,strSearchFieldsType) strSearchDateFields = getDateFieldList(strActiveFields, strActiveFieldsType) strActiveField = strSearchField strActiveFieldVal = strSearchFieldVal strActiveFieldDataType = strSearchFieldDataType strActiveSortFieldDataType = strSearchSortFieldDataType strActiveSortFieldDataTypeSort = getFieldDataTypeSort(strActiveSortField,strActiveFields,strActiveFieldsType) strActiveOperator = strSearchOperator strActiveLogicalOperator = "AND" End If c = c + 1 Next End Sub %>