function disasterSearchStateChanged() {
    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();
                
                // Set up the counties for the selected state.
                disasterSearchCountyResponse(xmlHttp);
                
                // Set up the list of disasters for the selected state.
                $("disasterSearchDisasterSelect").remove(0);
                $("disasterSearchDisasterSelect").remove(1);
                if (value == '01') {
                	$("disasterSearchDisasterSelect").options[0] = new Option('Hurricane Katrina', '1605');
                } else if (value == '22') {
                	$("disasterSearchDisasterSelect").options[0] = new Option('Hurricane Katrina', '1603');
                	$("disasterSearchDisasterSelect").options[1] = new Option('Hurricane Rita', '1607');
                } else if (value == '28') {
                	$("disasterSearchDisasterSelect").options[0] = new Option('Hurricane Katrina', '1604');
                } else if (value == '48') {
                	$("disasterSearchDisasterSelect").options[0] = new Option('Hurricane Rita', '1606');
                }
                
                $("disasterSearchDisasterSelect").disabled = false;
            };
        };    
        
        var waitMessage = "Loading county and disaster lists 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 Disaster District";
        newText += "</option>";
        
        $('disasterSearchCountySelect').innerHTML = newText;
        $('disasterSearchCountySelect').disabled = true;
    }
}

function disasterSearchCountyResponse(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 = "";

                $("disasterSearchCountySelect").disabled = false;
                $("disasterSearchCountySelect").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]];
                $("disasterSearchCountySelect").options[k + 1] = new Option(co, fps);
            }
        }//if
    }//if
}

function DisasterSearcher() {}
DisasterSearcher.prototype = new Searcher();
DisasterSearcher.prototype.name = "disasterSearch";
DisasterSearcher.prototype.mapUpdateAction = "zoomToJurisdiction";
DisasterSearcher.prototype.searchType = "Spatial";
DisasterSearcher.prototype.doAfterInit = function () {
	disasterSearchStateChanged();

    YAHOO.util.Event.addListener("disasterSearchSubmit", "click", function () {
        disasterSearcher.handleSubmit();
    });
    YAHOO.util.Event.addListener("disasterSearchCancel", "click", function () {
        disasterSearcher.handleCancel();
    });
};
DisasterSearcher.prototype.validateUserInputs = function () {
    return true;
};
DisasterSearcher.prototype.getUserInputs = function () {
    var countySelectedIndex = $('disasterSearchCountySelect').selectedIndex;
    var disasterSelectedIndex = $('disasterSearchDisasterSelect').selectedIndex;
    
    var params = new Array();
    params.push('state=22');
    params.push('county=' + $('disasterSearchCountySelect')[countySelectedIndex].value);
    params.push('disasterNumber=' + $('disasterSearchDisasterSelect')[disasterSelectedIndex].value);
    
    return params;
};
var disasterSearcher = new DisasterSearcher();
searchers.set(disasterSearcher.name, disasterSearcher);
