

dojo.provide("custom.parcels");

custom.parcels.layerName = "Parcels";
custom.parcels.layerID = "15";
custom.parcels.findFields = ["Parcel_id", "Owner1", "Owner2", "PIN", "Street_Name"];
custom.parcels.returnFields = ["*"];

custom.parcels.getDetails = function(graphic) {

    var pin = com.js.map.utils.getFieldValue(graphic, "Parcel_ID");
    

    var c = [];
    if (pin != null) {

        c.push("<div id=\"parcelDetail\">");
        c.push("<table width=\"90%\">");
        c.push("<tr><td colspan=\"2\">");
        c.push("<div class=\"detail-section\"><div style=\"text-align:center\"><div>${Owner1}</div><div>${Owner2}</div>");
        c.push("<div>${Mailing}</div><div>${City}, ${State} ${Zip}</div></div></div></td>");
        c.push("</tr><tr><td>Location:</td><td>${Street} ${Street_Name}</td><tr>");
        c.push("<tr><td>Parcel ID:</td><td>${Parcel_id}</td></tr><tr><td>Deed bk-pg:</td><td>${Book} ${Page}</td></tr>");
        c.push("<tr><td colspan=\"2\" align=\"center\"><div class=\"b\">2008 Tax Evaluation Info</div></td></tr>");
        c.push("<tr><td colspan=\"2\">${FeatType}</td></tr>");
        c.push("<tr><td>Total Acreage:</td><td>${Total_Acres}</td></tr>");
        c.push("<tr><td>Land Value:</td><td>${Land_Value}</td></tr>");
        c.push("<tr><td>Building Value:</td><td>${Bldg_Value}</td></tr>");
        c.push("<tr><td colspan=\"2\"><hr /></td></tr>");
        c.push("<tr><td class=\"parcel-reval-total-td1\">Total Value:</td><td class=\"b\">${Total_Value}</td></tr>");
        c.push("<tr><td colspan=\"2\"><img src=\"images/report.gif\"/>  <a href=\"TaxForm2010.aspx?ID=${PPN_2}\" target=\"_blank\">View Tax Card</a></td></tr>");
        c.push("<tr><td colspan=\"2\"><img src=\"images/layers.png\"/>  <a href=\"javascript:doAdjoiners('${Parcel_id}');\">Adjoining Parcels</a></td></tr>");
        c.push("<tr><td colspan=\"2\"><img src=\"images/map_rolled_up.gif\"/>  <a href=\"javascript:printQuickReport('${Parcel_id}');\">Print Map</a></td></tr>");
        //c.push("<tr><td colspan=\"2\"><a href=\"#\" onmousedown=\"showMoreInfo(\"{Parcel_ID}\">Show more info</a></td></tr>");
        c.push("</table></div></div>");
        c.push("</div></div></div>");

    } else {
        c.push("no information available for this tax parcel");
    }

    var content = c.join("");
    return content;
}

custom.parcels.getBrief = function(graphic, indx) {

    var c = [];
    //Add result feature to table
    var pin = com.js.map.utils.getFieldValue(graphic, "Parcel_id");
    var owner1 = com.js.map.utils.getFieldValue(graphic, "Owner1");
    var owner2 = com.js.map.utils.getFieldValue(graphic, "Owner2");
    var street = com.js.map.utils.getFieldValue(graphic, "Prop_Address");
    var feattype = com.js.map.utils.getFieldValue(graphic, "FeatType");
    var ppn = com.js.map.utils.getFieldValue(graphic, "PPN_2");

    c.push("<div style=\"font-size: 1em;\"><a style=\"text-decoration:none\" href=\"javascript:zoomTo(" + indx + ")\">" + owner1 + "</a></div>");
    c.push("<div style=\"margin-top: 3px; margin-bottom: 3px\"><div>" + owner2 + "</div>");
    c.push("<div>" + pin + "</div>");
    c.push("<div>" + street + "</div>");
    c.push("</div>");

    var taxform = "TaxForm2010.aspx?ID=" + ppn;

    c.push("<div class=\"resultMenu\">");
    c.push("<a href=\"#\" onmousedown=\"showDetails(" + indx + ");\" title='show more information'>Details</a>&nbsp;|&nbsp;");
    c.push("<a href=\"" + taxform + "\" target=\"_blank\" title='show tax card'>Tax Card</a>&nbsp;|&nbsp;");
    c.push("<a href=\"javascript:doAdjoiners('" + pin + "');\" title='show adjoining parcels report'>Adjoiners</a>");
    c.push("</div>");

    return c.join("");

}

custom.parcels.getRowHeader = function() {
    return "";    
}



custom.parcels.adjoinerHeader = function(graphic) {

    var c = [];
    //Add result feature to table
    var pin = com.js.map.utils.getFieldValue(graphic, "Parcel_id");
    var owner1 = com.js.map.utils.getFieldValue(graphic, "Owner1");
    var owner2 = com.js.map.utils.getFieldValue(graphic, "Owner2");
    var street = com.js.map.utils.getFieldValue(graphic, "Prop_Address");

    c.push("<div style=\"font-size: 1em;\">" + owner1 + "</a></div>");
    c.push("<div style=\"margin-top: 3px; margin-bottom: 3px\"><div>" + owner2 + "</div>");
    c.push("<div>" + pin + "</div>");
    c.push("<div>" + street + "</div>");
    c.push("</div>");
    return c.join("");

}

custom.parcels.Export = function(features) {
    var items = custom.parcels.getDataStore(features);

    //Create data object to be used in store
    var data = {
        identifier: "id", //This field needs to have unique values
        items: items
    };

    var iframeDocument = dojo.isIE ? printingHiddenFrame.contentWindow.document : printingHiddenFrame.contentDocument;
    iframeDocument.getElementById("exportData").value = dojo.toJson(data);
    iframeDocument.getElementById("export").submit();
}

custom.parcels.processAdjoiners = function(results, showNav) {
 
    var s = [];
    s.push("<div class=\"gray\">");
    s.push("<table  border=\"0\" cellpadding=\"2\" cellspacing=\"2\" width=\"100%\"><tbody>");
    s.push("<tr class=\"titlebar\">");

    if (showNav) {
        s.push("<td>&nbsp;</td><td>&nbsp;</td>");
    }

    //s.push("<td>Parcel ID</td><td>Owner</td></tr>");
    s.push("<td colspan=\"2\">&nbsp;</td></tr>")

    dojo.forEach(results.features, function(graphic, indx) {


        // Get the CSS Class for the row...
        var cssClass = "r1";
        if (indx % 2 == 0)
            cssClass = "r2";

        var propid = "adj_prop_" + indx;

        if (showNav) {
            var zoomcmd = "zoomToAdjoiner(" + indx + ");";
            var detailscmd = "showAdjoinerDetails(" + indx + ");";
        }

        var marker = "<img src='./images/markers/marker" + (indx + 1) + ".png' />";

        s.push("<tr class=\"" + cssClass + "\">");
        s.push("<td rowspan=\"2\" valign=\"center\">" + marker + "</td>");
        s.push("<td><strong>Parcel ID:</strong></td><td>" + com.js.map.utils.getFieldValue(graphic, "Parcel_id") + "</td>");
        s.push("</tr>");

        s.push("<tr class=\"" + cssClass + "\">");
        s.push("<td><strong>Owner:</strong></td><td><div>" + com.js.map.utils.getFieldValue(graphic, "Owner1") + "</div><div>" + com.js.map.utils.getFieldValue(graphic, "Owner2") + "</div></td>");
        s.push("</tr>");

        if (showNav) {
            s.push("<tr class=\"" + cssClass + "\">");
            s.push("<td>&nbsp;</td>");
            s.push("<td colspan=\"2\"><img src=\"images/zoomtofeature.gif\"/><a href=\"javascript:void(0);\" onmousedown=\"" + zoomcmd + "\">Zoom to</a>");
            //s.push("<img id=\"" + propid + "\" src=\"images/i_properties.gif\"  /><a href=\"javascript:void(0);\" onmousedown=\"" + detailscmd + "\">More Info</a></td>");
            s.push("</tr>");
        }




    });
    s.push("</tbody></table></div>");

    //s.push(t.join(""));


    return s.join("");
}

custom.parcels.getDataStore = function(features) {
      //Create items array to be added to stores data
    var items = []; //all items to be stored in data store
    for (var i = 0, il = currentResultSet.features.length; i < il; i++) {
        items.push(currentResultSet.features[i].attributes); //append each attribute list as item in store
    }
    return items;
}
