﻿
function printQueryResults(targetId)
{
    report = window.open("", "query", "height=h, width=w, resizable, scrollbars");
    
    var results = document.getElementById(targetId);
    var resultsText = results.innerHTML;
    var doc = report.document;
    
    doc.write("<html><head>");
    doc.write("<title>Selected Sites</title>");
    doc.write("<link href=\"QueryList.css\" rel=\"stylesheet\" type=\"text/css\" />");
    doc.write("</head>");
    doc.write("<body>");
    doc.write("<h3>Selected Londonderry Parcels</h3>")
    doc.write("<a href=\"#\" onclick=\"window.print(); return false;\" style=\"float:right; \">");
    doc.write("<img src=\"images/print.gif\" alt=\"print\" style=\"border:none;\">");
    doc.write("</a>");
    doc.write(resultsText);
    doc.write("</body></html>");
    doc.close();
}

function performQuery(queryParameters, map, serviceURL, targetId)
{
    
    function showResults(featureSet)
    {
        map.graphics.clear();
        var symbology = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
                                                         new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, 
                                                                                          new dojo.Color([0,0,255]), 2),
                                                         new dojo.Color([55, 0, 200, 0.5]));
        var target = document.getElementById(targetId);
        var extent = null;
        target.innerHTML = "";
        //alert("Number of features found: " + featureSet.features.length);
        if(featureSet.features.length > 0)
        {
            for(var idx=0; idx < featureSet.features.length; idx++)
            {
                var myFeature = featureSet.features[idx];
                if(extent == null)
                {
                    extent = myFeature.geometry.getExtent();
                }
                else
                {
                    extent = extent.union(myFeature.geometry.getExtent());
                }
                //alert(myFeature.attributes["Location"]);
                var addressInfo = new AddressInfo(myFeature, map);
                target.appendChild(addressInfo.render());
                myFeature.setSymbol(symbology);
                map.graphics.add(myFeature);
            }
        }
        else
        {
            var emptyList = document.createElement("div");
            emptyList.className = "addresstext";
            var message = document.createTextNode("No Parcels Found");
            emptyList.appendChild(message);
            target.appendChild(emptyList);
        }
        map.setExtent(extent);
    }
    var query = new esri.tasks.Query();
    query.where = queryParameters.getWhereClause();
    query.returnGeometry = true;
    query.outFields = Datafields.DevelopmentParcel;
    var task = new esri.tasks.QueryTask(serviceURL + "/" + configuration["idxDevParcel"]);
    task.execute(query, showResults);
}

//This function should return one result with the current dataset.
function testQuery(map, serviceURL, targetId)
{
    var params = new QueryParameters("C", "NW", 20, false, false);
    performQuery(params, map, serviceURL, targetId);
}