cadastral.search = { /* Handles click event for the owner search button. */ ownerSearch: function () { dojo.style("ownerWait", "display", "block"); dojo.byId("searchResultsPane").innerHTML = ""; var name = dojo.byId("ownerNameInput").value; var countyId = dojo.byId("countySelect").value; if (countyId !== "" && name !== "") { dojo.xhrGet({ url: cadastral.pathName + "/Search/SearchByOwner", content: { ownerName: name, countyId: countyId }, handleAs: "json", load: function (rdata) { cadastral.base.showData(rdata, 'searchResultsPane'); } }); } else { dojo.style("ownerWait", "display", "none"); dojo.byId("searchResultsPane").innerHTML = "You must select a county and enter a name"; } }, /* Handles click event for the geocode search button. */ geocodeSearch: function () { dojo.style("geocodeWait", "display", "block"); var geocode = dojo.byId("geocodeInput").value; if (geocode !== "") { dojo.byId("geocodeResultsPane").innerHTML = ""; dojo.xhrGet({ url: cadastral.pathName + "/Search/SearchBySingleGeocode", content: { geocode: geocode }, handleAs: "json", load: function (rdata) { cadastral.base.showData(rdata, 'geocodeResultsPane'); } }); } else { dojo.style("geocodeWait", "display", "none"); dojo.byId("geocodeResultsPane").innerHTML = "
You must enter a value before searching.
"; } }, /* Handles click event for the geocode search button. */ assessmentSearch: function () { dojo.style("assessmentWait", "display", "block"); var assessment = dojo.byId("assessmentInput").value; var countyId = dojo.byId("countyAssessmentSelect").value; if (assessment !== "") { dojo.byId("assessmentResultsPane").innerHTML = ""; dojo.xhrGet({ url: cadastral.pathName + "/Search/SearchByAssessmentCode", content: { assessmentCode: assessment, countyId: countyId }, handleAs: "json", load: function (rdata) { cadastral.base.showData(rdata, 'assessmentResultsPane'); } }); } else { dojo.style("assessmentWait", "display", "none"); dojo.byId("assessmentResultsPane").innerHTML = "You must enter a value before searching.
"; } }, /* Handles click event for the geocode search button. */ certificateSearch: function () { dojo.style("certificateWait", "display", "block"); var certificate = dojo.byId("certificateInput").value; var countyId = dojo.byId("countyCertSelect").value; if (certificate !== "") { dojo.byId("certificateResultsPane").innerHTML = ""; dojo.xhrGet({ url: cadastral.pathName + "/Search/SearchByCertificate", content: { certificate: certificate, countyId: countyId }, handleAs: "json", load: function (rdata) { cadastral.base.showData(rdata, 'certificateResultsPane'); } }); } else { dojo.style("certificateWait", "display", "none"); dojo.byId("certificateResultsPane").innerHTML = "You must enter a value before searching.
"; } }, searchAddress: null, /* Handles the click event of the address search button. */ locateAddress: function (searchString, firstPass) { cadastral.search.searchAddress = null; cadastral.base.showLoading(); cadastral.map.graphics.clear(); var address = null; var add = searchString.split(","); if (add !== "") { if (add.length == 1 || firstPass === false) { address = { Street: add[0], City: "", State: "", Zip: "" }; } else if (add.length == 2) { cadastral.search.searchAddress = searchString; if (isNaN(parseInt(add[1]))) { address = { Street: add[0], City: add[1], State: "", Zip: "" }; } else { address = { Street: add[0], City: "", State: "", Zip: parseInt(add[1]) }; } } else { dojo.byId("addressSearchMessage").innerHTML = "Address incorrectly formatted. Please adjust address and try again.
"; cadastral.base.hideLoading(); return; } if (address.Street != undefined && address.Street !== "") { dojo.byId("addressSearchMessage").innerHTML = ""; cadastral.addressLocator.addressToLocations(address, ["Match_addr", "Loc_name", "City", "ZIP"]); } else { cadastral.base.hideLoading(); dojo.byId("addressSearchMessage").innerHTML = "Street address is required.
"; } } else { cadastral.base.hideLoading(); dojo.byId("addressSearchMessage").innerHTML = "Invalid parameters.
"; } }, locatorError: function (error) { if (error) { dojo.byId("addressSearchMessage").innerHTML = error.message + "No matches for that address.
"; } } }, goToAddress: function (arrayIndex) { cadastral.base.showLoading(); var candidate = cadastral.search.candidateArray[arrayIndex]; if (candidate != undefined) { var geometryArray = [candidate.location]; cadastral.search.showLocations(geometryArray); } }, /* Callback function for onProjectComplete event accepting an array of geometries that were projected. We will loop through the array putting graphics on the map for each address located and determining the extent to set to show all matches. */ showLocations: function (geometries) { cadastral.map.graphics.clear(); var symbol = new esri.symbol.PictureMarkerSymbol('content/images/pushpin-inactive.png', 25, 38).setOffset(0, 19); // new esri.symbol.SimpleMarkerSymbol(); var maxX; var maxY; var minX; var minY; if (geometries && geometries.length > 0) { for (var i = 0; i < geometries.length; i++) { var geom = geometries[i]; cadastral.map.graphics.add(new esri.Graphic(geom, symbol)); // The points may be far apart. If so, figure out max extent and zoom to that if (i === 0) { maxX = geom.x; minX = geom.x; maxY = geom.y; minY = geom.y; } else { if (maxX < geom.x) { maxX = geom.x; } if (maxY < geom.y) { maxY = geom.y; } if (minX > geom.x) { minX = geom.x; } if (minY > geom.y) { minY = geom.y; } } } if (geometries.length == 1) { minX = minX - 200; minY = minY - 200; maxX = maxX + 200; maxY = maxY + 200; } else { minX = minX - 500; minY = minY - 500; maxX = maxX + 500; maxY = maxY + 500; } } var extent = new esri.geometry.Extent(minX, minY, maxX, maxY, new esri.SpatialReference({ wkid: 102100 })); cadastral.map.setExtent(extent, true); // Clear out the geomArray if (cadastral.search.geomArray && cadastral.search.geomArray.length > 0) { for (var i = 0; i <= cadastral.search.geomArray.length; i++) { cadastral.search.geomArray.splice(i, 1); } } }, /* Set color of button text on search results after it is clicked. */ buttonClicked: function (buttonId) { dojo.style(buttonId, "color", "#800080"); } };