﻿var spatialQueryTask = null;
var spatialQueryParams = null;
var parcelDisplayData = "";
var zoningDisplayData = "";
var sanitationDisplayData = "";
var recyclingDisplayData = "";
var councildistDisplayData = "";
var brushDisplayData = "";
var subdivisionDisplayData = "";
var policeDisplayData = "";
var fireDisplayData = "";
var codedistDisplayData = "";
var parcelQueryComplete;
var zoningQueryComplete;
var sanitationQueryComplete;
var recyclingQueryComplete;
var councildistQueryComplete;
var brushQueryComplete;
var subdivisionQueryComplete;
var policeQueryComplete;
var fireQueryComplete;
var codedistQueryComplete;
var parcelShape=null;

function ExecuteQueries() {
    //draybuck: in order to display the query results in the description window in a specified order, a workaround in necessary
    //due to the fact that query tasks are asynchronous and there is no guarantee that they will complete in the same order.

    //these boolean values are initially set to false but are set to true at the end of each query task callback function.
    //each callback function then calls the buildQueryResults function which checks to see if all of the boolean values are true,
    //and if so, it builds the description text to display in the info window for the point.
    parcelQueryComplete = false;
    zoningQueryComplete = false;
    sanitationQueryComplete = false;
     recyclingQueryComplete = false;
    brushQueryComplete = false;
    subdivisionQueryComplete = false;
    councildistQueryComplete = false;
     policeQueryComplete = false;
     fireQueryComplete = false;
      codedistQueryComplete = false;
    
  ExecuteZoningQuery(); 
  ExecuteSanitationQuery();
  ExecuteRecyclingQuery();
  ExecutePoliceQuery();
  ExecuteFireQuery();
   ExecuteCodeDistQuery();

      ExecuteBrushQuery();
    //ExecuteSubdivisionQuery();
    ExecuteParcelQuery();
    ExecuteCouncilDistQuery();
}

function buildQueryResults() {
    //if (parcelQueryComplete == true && zoningQueryComplete == true && sanitationQueryComplete == true && subdivisionQueryComplete == true){
        
        //rearrange order of query results here
        //var description = parcelDisplayData + subdivisionDisplayData + zoningDisplayData + sanitationDisplayData + censusDisplayData;
        var description = parcelDisplayData + zoningDisplayData + councildistDisplayData + codedistDisplayData + sanitationDisplayData + recyclingDisplayData +  brushDisplayData + policeDisplayData + fireDisplayData + censusDisplayData;
        queryveLLShape[0].SetDescription(description);
        map.ShowInfoBox(queryveLLShape[0]);
        
    //}
}


// function to send query request
function ExecuteParcelQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = parcelSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = parcelUrl;
    spatialQueryTask.Execute(spatialQueryParams, addParcelQueryResults);

}

// function to process query response
function addParcelQueryResults(data) {

    // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        var color = new VEColor(0, 0, 255, .15);
        var lineColor = new VEColor(0, 0, 0, .5);
        if (rs && rs.length > 0) {
            data.SetShapeStyle(lineColor, 2, color, false);
            parcelShape = data.ToVEShapeLayer();
            map.AddShapeLayer(parcelShape);
       
            if (data.Features.length > 0) {
                parcelDisplayData = "<a onclick='toggleDiv(\"parcelresults\")';> <b>Parcel Information</a></b><div id='parcelresults' style='display:visible'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
                var address = resultFeature.Attributes['ST_NUM'] + ' ' + resultFeature.Attributes['ST_NAME'] + ' ' + resultFeature.Attributes['ST_TYPE'];
                var ownername = resultFeature.Attributes['TAXPANAME1'] + ' ' + resultFeature.Attributes['TAXPANAME2'];
                var legalname = resultFeature.Attributes['LEGAL_1'];  
                var owneraddress = resultFeature.Attributes['TAXPAADD1'] + ' ' + resultFeature.Attributes['TAXPAADD1'] + ' ' + resultFeature.Attributes['TAXPACITY'] + ' ' + resultFeature.Attributes['TAXPAZIP'];
                var link = resultFeature.Attributes['ACCT_'];
                parcelDisplayData += "<tr><td>&nbsp;</td><td>&nbsp;</td><tr>"
                 parcelDisplayData += "<tr><td class='ReportColLeft'>Owner Name:&nbsp;</td><td class='ReportColRight'>" + ownername + "</td></tr>"
                 parcelDisplayData += "<tr><td class='ReportColLeft'>Legal Name:&nbsp;</td><td class='ReportColRight'>" + legalname + "</td></tr>"
                parcelDisplayData += "<tr><td class='ReportColLeft'>Site Address:&nbsp;</td><td class='ReportColRight'>" + address + "</td></tr>"
                 parcelDisplayData += "<tr><td class='ReportColLeft'>Owner Address:&nbsp;</td><td class='ReportColRight'>" + owneraddress + "</td></tr>"
                parcelDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascad.org/AcctDetailRes.aspx?ID=" + link + "'target='blank' >More info</a></td></tr>"
                parcelDisplayData += "</a></table></div><br>";
                //var resultShape = parcelShape.GetShapeByIndex(0);
                
            }

        }
        else {
            parcelDisplayData = '';
        }
    }

    parcelQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecuteZoningQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = zoningSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = zoningUrl;
    spatialQueryTask.Execute(spatialQueryParams, addZoningQueryResults);
}

// function to process query response
function addZoningQueryResults(data) {

    // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
                zoningDisplayData = "<a onclick='toggleDiv(\"zoningresults\")';> <b>Zoning Information</a></b><div id='zoningresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
                for (p in resultFeature.Attributes) {
                    for (var i = 0; i < zoningFieldsJson.Fields.length; i++) {
                        if (zoningFieldsJson.Fields[i].Name == p) {
                            var value = resultFeature.Attributes[p];
                            if (zoningFieldsJson.Fields[i].Type != null) {
                                if (zoningFieldsJson.Fields[i].Type == "Money") {
                                    value = new Number(value);
                                    value = "$" + value.formatMoney(0);
                                }
                            }
                            zoningDisplayData = zoningDisplayData + "<tr><td class='ReportColLeft'>" + zoningFieldsJson.Fields[i].Alias + ":&nbsp;</td><td class='ReportColRight'>" + value + "</td></tr>";
                             zoningDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://maps.dallascityhall.com/legend/zonechart.pdf' target='blank'>Zoning Descriptions</a></td></tr>"
                               zoningDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascityhall.com/development_services/index.html' target='blank'>More info</a></td></tr>"
                            
                            break;
                        }
                    }

                }
                zoningDisplayData = zoningDisplayData + "<br></table></div><br>";
            }
        }
        else {
            zoningDisplayData = '';
            
        }
    }
    zoningQueryComplete = true;
    buildQueryResults();  

}

// function to send query request
function ExecuteSanitationQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = sanitationSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = sanitationUrl;
    spatialQueryTask.Execute(spatialQueryParams, addSanitationQueryResults);
}
// function to process query response
function addSanitationQueryResults(data) {

    // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
                sanitationDisplayData = "<a onclick='toggleDiv(\"sanitationresults\")';> <b>Garbage Information</a></b><div id='sanitationresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
                for (p in resultFeature.Attributes) {
                    for (var i = 0; i < sanitationFieldsJson.Fields.length; i++) {
                        if (sanitationFieldsJson.Fields[i].Name == p) {
                            var value = resultFeature.Attributes[p];
                            if (sanitationFieldsJson.Fields[i].Type != null) {
                                if (sanitationFieldsJson.Fields[i].Type == "Money") {
                                    value = new Number(value);
                                    value = "$" + value.formatMoney(0);
                                }
                            }
                            sanitationDisplayData = sanitationDisplayData + "<tr><td class='ReportColLeft'>" + sanitationFieldsJson.Fields[i].Alias + ":&nbsp;</td><td class='ReportColRight'>" + value + "</td></tr>";
                             sanitationDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascityhall.com/sanitation/sanitation.html' target='blank'>More info</a></td></tr>"
                            
                            break;
                        }
                    }

                }
                sanitationDisplayData = sanitationDisplayData + "<br></table></div><br>";
              
            }

        }
        else {
            sanitationDisplayData = '';
        }
    }
    sanitationQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecuteSubdivisionQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = subdivisionSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = subdivisionUrl;
    spatialQueryTask.Execute(spatialQueryParams, addSubdivisionQueryResults);
}



// function to process query response
function addSubdivisionQueryResults(data) {

    // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
                subdivisionDisplayData = "<a onclick='toggleDiv(\"subdivisionresults\")';> <b>Subdivision Information</a></b><div id='subdivisionresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
                for (p in resultFeature.Attributes) {
                    for (var i = 0; i < subdivisionFieldsJson.Fields.length; i++) {
                        if (subdivisionFieldsJson.Fields[i].Name == p) {
                            var value = resultFeature.Attributes[p];
                            if (subdivisionFieldsJson.Fields[i].Type != null) {
                                if (subdivisionFieldsJson.Fields[i].Type == "Money") {
                                    value = new Number(value);
                                    value = "$" + value.formatMoney(0);
                                }
                            }
                            subdivisionDisplayData = subdivisionDisplayData + "<tr><td class='ReportColLeft'>" + subdivisionFieldsJson.Fields[i].Alias + ":&nbsp;</td><td class='ReportColRight'>" + value + "</td></tr>";
                            break;
                        }
                    }

                }
                subdivisionDisplayData = subdivisionDisplayData + "<br></table></div><br>";

            }

        }
        else {
            subdivisionDisplayData = '';
        }
    }
    subdivisionQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecuteRecyclingQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = recyclingSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = recyclingUrl;
    spatialQueryTask.Execute(spatialQueryParams, addrecyclingQueryResults);
}
// function to process query response
function addrecyclingQueryResults(data) {

    // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
                recyclingDisplayData = "<a onclick='toggleDiv(\"recyclingresults\")';> <b>Recycling Information</a></b><div id='recyclingresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
                for (p in resultFeature.Attributes) {
                    for (var i = 0; i < recyclingFieldsJson.Fields.length; i++) {
                        if (recyclingFieldsJson.Fields[i].Name == p) {
                            var value = resultFeature.Attributes[p];
                            if (recyclingFieldsJson.Fields[i].Type != null) {
                                if (recyclingFieldsJson.Fields[i].Type == "Money") {
                                    value = new Number(value);
                                    value = "$" + value.formatMoney(0);
                                }
                            }
                            recyclingDisplayData = recyclingDisplayData + "<tr><td class='ReportColLeft'>" + recyclingFieldsJson.Fields[i].Alias + ":&nbsp;</td><td class='ReportColRight'>" + value + "</td></tr>";
                           recyclingDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascityhall.com/sanitation/sanitation.html' target='blank'>More info</a></td></tr>"
                           
                            break;
                        }
                    }

                }
                recyclingDisplayData = recyclingDisplayData + "<br></table></div><br>";
              
            }

        }
        else {
            recyclingDisplayData = '';
        }
    }
    recyclingQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecuteBrushQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = brushSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = brushUrl;
    spatialQueryTask.Execute(spatialQueryParams, addBrushQueryResults);
}

// function to process query response
function addBrushQueryResults(data) {

    // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
                brushDisplayData = "<a onclick='toggleDiv(\"brushresults\")';> <b>Brush Information</a></b><div id='brushresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
                for (p in resultFeature.Attributes) {
                    for (var i = 0; i < brushFieldsJson.Fields.length; i++) {
                        if (brushFieldsJson.Fields[i].Name == p) {
                            var value = resultFeature.Attributes[p];
                            if (brushFieldsJson.Fields[i].Type != null) {
                                if (brushFieldsJson.Fields[i].Type == "Money") {
                                    value = new Number(value);
                                    value = "$" + value.formatMoney(0);
                                }
                            }
                            brushDisplayData = brushDisplayData + "<tr><td class='ReportColLeft'>" + brushFieldsJson.Fields[i].Alias + ":&nbsp;</td><td class='ReportColRight'>" + value + "</td></tr>";
                            
                               brushDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascityhall.com/sanitation/sanitation.html' target='blank'>More info</a></td></tr>"
                            
                            break;
                        }
                    }

                }
                brushDisplayData = brushDisplayData + "<br></table></div><br>";
            }
        }
        else {
            brushDisplayData = '';
            
        }
    }
    brushQueryComplete = true;
    buildQueryResults();  

}

// function to send query request
function ExecuteCouncilDistQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = councildistSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = councildistUrl;
    spatialQueryTask.Execute(spatialQueryParams, addCouncilDistQueryResults);

}

// function to process query response
function addCouncilDistQueryResults(data) {

   // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
               councildistDisplayData = "<a onclick='toggleDiv(\"councildistresults\")';> <b>City Council Representative</a></b><div id='councildistresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
               
                var districtname = resultFeature.Attributes['DISTRICT'];  
                var councilper = resultFeature.Attributes['COUNCILPER'];
               
               councildistDisplayData += "<tr><td>&nbsp;</td><td>&nbsp;</td><tr>"
                 councildistDisplayData += "<tr><td class='ReportColLeft'>District:&nbsp;</td><td class='ReportColRight'>" + districtname + "-<a href='http://www.dallascityhall.com/government/CityCouncil/District" + districtname + "/index.html'target='blank' >"  + councilper + " </a></td></tr>"
                 
                
                councildistDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascityhall.org/code_compliance/index.html'target='blank' >More info</a></td></tr>"
                councildistDisplayData += "</a></table></div><br>";
                         
                         
            }

        }
        else {
            councildistDisplayData = '';
        }
    }

    councildistQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecutePoliceQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = policeSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = policeUrl;
    spatialQueryTask.Execute(spatialQueryParams, addPoliceQueryResults);

}

// function to process query response
function addPoliceQueryResults(data) {

   // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
               policeDisplayData = "<a onclick='toggleDiv(\"policeresults\")';> <b>Police Information</a></b><div id='policeresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
               
                var beatno = resultFeature.Attributes['BEAT'];  
                var district = resultFeature.Attributes['DIVISION'];
               
               policeDisplayData += "<tr><td>&nbsp;</td><td>&nbsp;</td><tr>"
                 policeDisplayData += "<tr><td class='ReportColLeft'>Police Beat:&nbsp;</td><td class='ReportColRight'>" + beatno + "</td></tr>"
                 policeDisplayData += "<tr><td class='ReportColLeft'>Division Name:&nbsp;</td><td class='ReportColRight'>" + district + "</td></tr>"
                
                policeDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://dallas.dfwmaps.com/crimenew/'target='blank' >More info</a></td></tr>"
                policeDisplayData += "</a></table></div><br>";
                         
                         
            }

        }
        else {
            policeDisplayData = '';
        }
    }

    policeQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecutePoliceQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = policeSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = policeUrl;
    spatialQueryTask.Execute(spatialQueryParams, addPoliceQueryResults);

}

// function to process query response
function addPoliceQueryResults(data) {

   // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
               policeDisplayData = "<a onclick='toggleDiv(\"policeresults\")';> <b>Police Information</a></b><div id='policeresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
               
                var beatno = resultFeature.Attributes['BEAT'];  
                var division = resultFeature.Attributes['DIVISION'];
               
               policeDisplayData += "<tr><td>&nbsp;</td><td>&nbsp;</td><tr>"
                 policeDisplayData += "<tr><td class='ReportColLeft'>Police Beat:&nbsp;</td><td class='ReportColRight'>" + beatno + "</td></tr>"
                 policeDisplayData += "<tr><td class='ReportColLeft'>Division Name:&nbsp;</td><td class='ReportColRight'>" + division + "</td></tr>"
                
                policeDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://dallas.dfwmaps.com/crimenew/'target='blank' >More info</a></td></tr>"
                policeDisplayData += "</a></table></div><br>";
                         
                         
            }

        }
        else {
            policeDisplayData = '';
        }
    }

    policeQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecuteFireQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = policeSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = fireUrl;
    spatialQueryTask.Execute(spatialQueryParams, addFireQueryResults);

}

// function to process query response
function addFireQueryResults(data) {

   // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
               fireDisplayData = "<a onclick='toggleDiv(\"fireresults\")';> <b>Fire Information</a></b><div id='fireresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
               
                
                var district = resultFeature.Attributes['ALLDIST_'];
               
               fireDisplayData+= "<tr><td>&nbsp;</td><td>&nbsp;</td><tr>"
               fireDisplayData += "<tr><td class='ReportColLeft'>Fire District:&nbsp;</td><td class='ReportColRight'>" + district + "</td></tr>"
                 
                
                
                fireDisplayData += "</a></table></div><br>";
                         
                         
            }

        }
        else {
            fireDisplayData = '';
        }
    }

   fireQueryComplete = true;
    buildQueryResults();

}

// function to send query request
function ExecuteCodeDistQuery() {
    spatialQueryParams = new ESRI.ArcGIS.VE.Query();
    spatialQueryParams.Geometry = queryveLLShape[0];
    //spatialQueryParams.SpatialRelationship = "esriSpatialRelCrosses";
    spatialQueryParams.OutFields = codedistSearchFields;
    spatialQueryTask = new ESRI.ArcGIS.VE.QueryTask();
    spatialQueryTask.Url = codedistUrl;
    spatialQueryTask.Execute(spatialQueryParams, addCodeDistQueryResults);

}

// function to process query response
function addCodeDistQueryResults(data) {

   // check for error. . . if none, add returned shapes to map
    var err = data.Error;
    if (err != null) {
        //div.innerHTML = err.message;
    }
    else {
        var rs = data.Features;
        if (rs && rs.length > 0) {
            if (data.Features.length > 0) {
               codedistDisplayData = "<a onclick='toggleDiv(\"codedistresults\")';> <b>Code Compliance District</a></b><div id='codedistresults' style='display:none'><table class='ReportTable' cellpadding='0' cellspacing='0'>";
                var resultFeature = data.Features[0];
               
                
                var codedistrict = resultFeature.Attributes['CODE_DISTR'];
               
               codedistDisplayData+= "<tr><td>&nbsp;</td><td>&nbsp;</td><tr>"
               codedistDisplayData+= "<tr><td class='ReportColLeft'>District:&nbsp;</td><td class='ReportColRight'>" + codedistrict + "</td></tr>"
                 
                codedistDisplayData += "<tr><td class='ReportColLeft'></td><td align='right'><a href='http://www.dallascityhall.org/code_compliance/index.html'target='blank' >More info</a></td></tr>"
                
                codedistDisplayData += "</a></table></div><br>";
                         
                         
            }

        }
        else {
            codedistDisplayData = '';
        }
    }

   codedistQueryComplete = true;
    buildQueryResults();

}
