dojo.require("dojo.currency");

var _initialAccordion = true;
var graphic;
function showFeature3(keys, feature, openinfoWindow){
    showLoading();
    try {
        var photoName = insertIntoHtmlURL("http://statedetails.geopowered.com/tn.Wilson/StateDetails.aspx");
        map.graphics.remove(graphic);
        
        var infoTemplate = new esri.InfoTemplate();
        infoTemplate.setTitle(feature.attributes[keys.gpdata_par]);
        infoTemplate.setContent("<table><tr><td><div class='tableTitle'>Property Address</div>${FullAddr}</td></tr>" +
        "<tr><td><div class='tableTitle'>Property ID</div>${" +
        keys.FullAddr +
        "}</td></tr>" +
        "<tr><td><div class='tableTitle'>Owner Name</div>${" +
        keys.gpdata_own +
        "}</td></tr></table>");
        
        var highlightSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0, 0, 255]), 3), new dojo.Color([125, 125, 125, 0.35]));
        graphic = new esri.Graphic(feature.geometry, highlightSymbol, feature.attributes, infoTemplate);
        
        map.graphics.add(graphic);
        var GISLINK = graphic.attributes.gislink;
        var feat = _searchResultFeature; //Stored after owner search result is chosen.
        //Retrieve data for state details link
        var _conum = graphic.attributes.conum + " ";
        var _cmap = graphic.attributes.cmap + " ";
        var _gp = graphic.attributes.gp + " ";
        var _parcel = graphic.attributes.parcel + " ";
        var _si = graphic.attributes.si + " ";
        var _pmap = graphic.attributes.map + " ";
        var _taxyr = graphic.attributes.taxyr + " ";
        var _di = graphic.attributes.di + " ";
        
        //Remove '.' from parcel string
        var _parcel2 = _parcel.replace(".", "") + " ";
        
        //Get the necessary values for the URL string
        var conum = _conum.slice(0, 3);
        var cmap = _cmap.slice(0, 5);
        var gp = _gp.slice(0, 2);
        var parcel = _parcel2.slice(0, 5);
        var si = _si.slice(0, 3);
        var pmap = _pmap.slice(0, 5);
        var taxyr = _taxyr.slice(0, 1);
        var di = _di.slice(0, 2);
        
        //First character either A or R = appr or reappr
        var _urlString = "A" + conum + cmap + gp + parcel + " " + si + pmap + taxyr + "A" + di;
        
        var popupContent = "<table><tr><td><div class='tableTitle nopoint'>Property Address</div><div class='tableValue'>" + graphic.attributes.propaddr + "</div></td></tr>";
        popupContent += "<tr><td><div class='tableTitle nopoint'>Parcel ID</div><div class='tableValue'>" + graphic.attributes.parcelid + "</div></td></tr>";
        popupContent += "<tr><td><div class='tableTitle nopoint'>Owner Name</div><div class='tableValue'>" + graphic.attributes.owner + "</div></td></tr></table>";
        
        var content = "<table><tr><td><div class='tableTitle nopoint'>Property Address</div><div class='tableValue'>" + graphic.attributes.propaddr + "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>Parcel ID</div><div class='tableValue'>" + graphic.attributes.parcelid + "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>Owner Name</div><div class='tableValue'>" + graphic.attributes.owner + "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>Owner Name</div><div class='tableValue'>" + graphic.attributes.owner2 + "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>County Community</div><div class='tableValue'>" + graphic.attributes.city + "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>Use Description</div><div class='tableValue'>" + graphic.attributes.pt_des + "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>Assessed Value</div><div class='tableValue'>" +
        (graphic.attributes[keys.gpdata_cor] ? dojo.currency.format(graphic.attributes.aprval, {
            currency: "USD",
            symbol: "$",
            round: 0
        }) : "Unavailable") +
        "</div></td></tr>";
        content += "<tr><td> <div class='tableTitle nopoint'>Assessment Details</div><div class='tableValue'><a href=\"javascript:void(0)\" onclick=\"window.open('" + photoName + "?mradParcelID=" + _urlString + "')\">Click Here</a></div></td></tr>";
        
        map.infoWindow.setTitle(graphic.attributes[keys.gpdata_par]);
        map.infoWindow.setContent(popupContent);
        
        var ext = graphic.geometry.getExtent();
        var evt = ext.getCenter();
        map.setExtent(graphic.geometry.getExtent().expand(1.5));
        
        if (openinfoWindow === true) {
            map.infoWindow.show(evt, map.getInfoWindowAnchor(evt));
        }
        
        GetVotingAndAreaInfo(evt);
        
        parent.document.getElementById("SearchResults").innerHTML = content;
        
        map.infoWindow.resize(265, 180);
        map.infoWindow.show(evt, map.getInfoWindowAnchor(evt));
        
        if (_initialAccordion === true) {
            doSlider();
            _initialAccordion = false;
        }
        initializeGSV(evt);
        ZoomToVEMap(evt);
        geReZoom(evt);
        
        switchTab(1);
        
        hideLoading();
    } 
    catch (e) {
        hideLoading();
        console.log(e.message);
    }
}

//
//start returning results from ID'd features
//

function addToMap(idResults, evt){
    //6
    censusBlockResults = {
        displayFieldName: null,
        features: []
    };
    //7
    censusBlockGroupResults = {
        displayFieldName: null,
        features: []
    };
    //8
    commDistResults = {
        displayFieldName: null,
        features: []
    };
    //9
    chipperZoneResults = {
        displayFieldName: null,
        features: []
    };
    //15
    firmPanelResults = {
        displayFieldName: null,
        features: []
    };
    //17
    landUseResults = {
        displayFieldName: null,
        features: []
    };
    //20
    policeResults = {
        displayFieldName: null,
        features: []
    };
    //27
    zoningResults = {
        displayFieldName: null,
        features: []
    };
    //29
    elemResults = {
        displayFieldName: null,
        features: []
    };
    //30
    middleResults = {
        displayFieldName: null,
        features: []
    };
    //31
    highResults = {
        displayFieldName: null,
        features: []
    };
    
    for (var i = 0, il = idResults.length; i < il; i++) {
        var idResult = idResults[i];
        if (idResult.layerId === 6) {
            if (!censusBlockResults.displayFieldName) {
                censusBlockResults.displayFieldName = idResult.displayFieldName;
            }
            censusBlockResults.features.push(idResult.feature);
        }
        else 
            if (idResult.layerId === 7) {
                if (!censusBlockGroupResults.displayFieldName) {
                    censusBlockGroupResults.displayFieldName = idResult.displayFieldName;
                }
                censusBlockGroupResults.features.push(idResult.feature);
            }
            else 
                if (idResult.layerId === 8) {
                    if (!commDistResults.displayFieldName) {
                        commDistResults.displayFieldName = idResult.displayFieldName;
                    }
                    commDistResults.features.push(idResult.feature);
                }
                else 
                    if (idResult.layerId === 9) {
                        if (!chipperZoneResults.displayFieldName) {
                            chipperZoneResults.displayFieldName = idResult.displayFieldName;
                        }
                        chipperZoneResults.features.push(idResult.feature);
                    }
                    else 
                        if (idResult.layerId === 15) {
                            if (!firmPanelResults.displayFieldName) {
                                firmPanelResults.displayFieldName = idResult.displayFieldName;
                            }
                            firmPanelResults.features.push(idResult.feature);
                        }
                        else 
                            if (idResult.layerId === 17) {
                                if (!landUseResults.displayFieldName) {
                                    landUseResults.displayFieldName = idResult.displayFieldName;
                                }
                                landUseResults.features.push(idResult.feature);
                            }
                            else 
                                if (idResult.layerId === 20) {
                                    if (!policeResults.displayFieldName) {
                                        policeResults.displayFieldName = idResult.displayFieldName;
                                    }
                                    policeResults.features.push(idResult.feature);
                                }
                                else 
                                    if (idResult.layerId === 27) {
                                        if (!zoningResults.displayFieldName) {
                                            zoningResults.displayFieldName = idResult.displayFieldName;
                                        }
                                        zoningResults.features.push(idResult.feature);
                                    }
                                    else 
                                        if (idResult.layerId === 29) {
                                            if (!elemResults.displayFieldName) {
                                                elemResults.displayFieldName = idResult.displayFieldName;
                                            }
                                            elemResults.features.push(idResult.feature);
                                        }
                                        else 
                                            if (idResult.layerId === 30) {
                                                if (!middleResults.displayFieldName) {
                                                    middleResults.displayFieldName = idResult.displayFieldName;
                                                }
                                                middleResults.features.push(idResult.feature);
                                            }
                                            else 
                                                if (idResult.layerId === 31) {
                                                    if (!highResults.displayFieldName) {
                                                        highResults.displayFieldName = idResult.displayFieldName;
                                                    }
                                                    highResults.features.push(idResult.feature);
                                                }
        
    }//end for loop
    var census1 = layerTabContent(censusBlockResults, "censusBlockResults"); //6
    var census2 = layerTabContent(censusBlockGroupResults, "censusBlockGroupResults"); //7
    var commissionerResults = layerTabContent(commDistResults, "commDistResults"); //8
    var chipperResults = layerTabContent(chipperZoneResults, "chipperZoneResults"); //9
    var firmPanel = layerTabContent(firmPanelResults, "firmPanelResults"); //15
    var luResults = layerTabContent(landUseResults, "landUseResults"); //17
    var mjPoliceResults = layerTabContent(policeResults, "policeResults"); //20
    var zoneResults = layerTabContent(zoningResults, "zoningResults"); //27
    var elem = layerTabContent(elemResults, "elemResults"); //29
    var middle = layerTabContent(middleResults, "middleResults"); //30
    var high = layerTabContent(highResults, "highResults"); //31
    ///////////////////////////////////////////////////////////////////////////////
    parent.document.getElementById("censusBlockTab").innerHTML = census1; //6
    parent.document.getElementById("censusBlockGroupTab").innerHTML = census2; //7
    parent.document.getElementById("commTab").innerHTML = commissionerResults; //8
    parent.document.getElementById("chipperTab").innerHTML = chipperResults; //9
    parent.document.getElementById("firmPanelTab").innerHTML = firmPanel; //15
    parent.document.getElementById("luTab").innerHTML = luResults; //17
    parent.document.getElementById("policeTab").innerHTML = mjPoliceResults; //20
    parent.document.getElementById("zoningTab").innerHTML = zoneResults; //27
    parent.document.getElementById("elemTab").innerHTML = elem; //29
    parent.document.getElementById("middleTab").innerHTML = middle; //30
    parent.document.getElementById("highTab").innerHTML = high; //31
} //end addToMap function
function layerTabContent(layerResults, layerName){
    var content = "";
    switch (layerName) {
        //6
        case "censusBlockResults":
            content += "<table><tr><td><div class='tableTitle 6' onclick='forceOnLayer(6);'>Census Block</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.STFID + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //7
        case "censusBlockGroupResults":
            content += "<table><tr><td><div class='tableTitle 7' onclick='forceOnLayer(7);'>Census Block Group</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.STFID + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //8
        case "commDistResults":
            content += "<table><tr><td><div class='tableTitle 8' onclick='forceOnLayer(8);'>Commissioner District</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.DISTRICT + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //9
        case "chipperZoneResults":
            content += "<table><tr><td><div class='tableTitle 9' onclick='forceOnLayer(9);'>Chipper Service Zone</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + "Chipper Zone " + layerResults.features[i].attributes.Zone_Num + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //15
        case "firmPanelResults":
            content += "<table><tr><td><div class='tableTitle 14' onclick='forceOnLayer(14);'>DFIRM Panel</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.FIRM_PAN + "</div>";
                content += "<div class='tableValue'>" + "Effective Date: " + layerResults.features[i].attributes.EFF_DATE + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //17
        case "landUseResults":
            content += "<table><tr><td><div class='tableTitle 17' onclick='forceOnLayer(17);'>Land Use</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.FLU_Lisa + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //20
        case "policeResults":
            content += "<table><tr><td><div class='tableTitle 20' onclick='forceOnLayer(20);'>Police Zone</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + "Police Zone " + layerResults.features[i].attributes.Police_Zon + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //27
        case "zoningResults":
            content += "<table><tr><td><div class='tableTitle 27' onclick='forceOnLayer(27);'>Zoning</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.Zone_Curre + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //29
        case "elemResults":
            content += "<table><tr><td><div class='tableTitle 29' onclick='forceOnLayer(29);'>Elementary School</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.ZONE_ + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //30
        case "middleResults":
            content += "<table><tr><td><div class='tableTitle 30' onclick='forceOnLayer(30);'>Middle School</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.ZONE_ + "</div>";
            }
            content += "</td></tr></table>";
            break;
        //31
        case "highResults":
            content += "<table><tr><td><div class='tableTitle 31' onclick='forceOnLayer(31);'>High School</div>";
            for (var i = 0, il = layerResults.features.length; i < il; i++) {
                content += "<div class='tableValue'>" + layerResults.features[i].attributes.ZONE_ + "</div>";
            }
            content += "</td></tr></table>";
            break;
    }
    return content;
}

