function jurisdictionSearchStateChanged() {
    var value = '22';
    var text = 'Louisiana';
    var map = GCROUtils.getMap();
    
    //get server url
    var url = EsriUtils.getServerUrl(map.formId);
    
    if (text != 'Select a State') {
        var params = new Array();
        params.push("STATE=" + text);
        
        var responseHandler = new ResponseHandler();
        responseHandler.getResponseProcessor = function () {
            return function(xmlHttp) {
                // Dispose the wait panel.
                waitPanel.hide();
                    
                jurisdictionSearchCountyresponse(xmlHttp);
            };
        };    
        
        var waitMessage = "Loading county list for " + text + ", please wait....";
        
        GCROUtils.performCommand(url, true, "countyList", currentViewId, params, responseHandler, waitMessage);
    } else {
        var newText = "<option value=\"\" disabled=\"true\" selected=\"true\">";
        newText += "Select a County/Parish";
        newText += "</option>";
        
        $('jurisdictionSearchCountySelect').innerHTML = newText;
        $('jurisdictionSearchCountySelect').disabled = true;
    }
}

function jurisdictionSearchCountyresponse(xh) {
    if (xh != null && xh.readyState == 4 && xh.status == 200) {
        var xml = xh.responseXML;
        var resultTags = xml.getElementsByTagName("result");
        if (resultTags.length > 0) {
            var select_html = "";
            var counties = [];
            var fipsobs = new Object();
            for (var j = 0; j < resultTags.length; j++) {
                var resultTag = resultTags.item(j);
                var details = resultTag.getElementsByTagName("detail");
                var fullname = "";
                var cofips = "";

                $("jurisdictionSearchCountySelect").disabled = false;
                $("jurisdictionSearchCountySelect").options.length = 1;
                for (var i = 0; i < details.length; i++) {
                    var detail = details.item(i);
                    if ((detail.getAttribute("value").toString().trim() != null) && 
                        (detail.getAttribute("value").toString().trim() != "") && 
                        (detail.getAttribute("value").toString().trim() != undefined) && 
                        (detail.getAttribute("value").toString().trim() != "<Null>")) {
                        if (detail.getAttribute("key") == "FULLNAME") {
                            fullname = detail.getAttribute("value").toString();
                        } else {
                            if (detail.getAttribute("key") == "CNTY_CD") {
                                cofips = detail.getAttribute("value").toString();
                            }
                        }
                    }//if
                }//for i
                counties[j] = fullname;
                fipsobs[fullname] = cofips;
            }//for j
            counties.sort();
            for (k = 0; k < counties.length; k++) {
                var co = counties[k];
                var fps = fipsobs[counties[k]];
                $("jurisdictionSearchCountySelect").options[k + 1] = new Option(co, fps);
            }
        }//if
    }//if
}

function JurisdictionSearcher() {}
JurisdictionSearcher.prototype = new Searcher();
JurisdictionSearcher.prototype.name = "jurisdictionSearch";
JurisdictionSearcher.prototype.mapUpdateAction = "zoomToJurisdiction";
JurisdictionSearcher.prototype.searchType = "Spatial";
JurisdictionSearcher.prototype.doAfterInit = function () {
	jurisdictionSearchStateChanged();

    YAHOO.util.Event.addListener("jurisdictionSearchSubmit", "click", function () {
        jurisdictionSearcher.handleSubmit();
    });
    YAHOO.util.Event.addListener("jurisdictionSearchCancel", "click", function () {
        jurisdictionSearcher.handleCancel();
    });
};
JurisdictionSearcher.prototype.validateUserInputs = function () {
    return true;
};
JurisdictionSearcher.prototype.getUserInputs = function () {
    var countySelectedIndex = $('jurisdictionSearchCountySelect').selectedIndex;
    
    var params = new Array();
    params.push('state=22');
    params.push('county=' + $('jurisdictionSearchCountySelect')[countySelectedIndex].value);
    
    return params;
};
var jurisdictionSearcher = new JurisdictionSearcher();
searchers.set(jurisdictionSearcher.name, jurisdictionSearcher);
