function congressionalSearchStateChanged() {
    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=" + value);
        
        var responseHandler = new ResponseHandler();
        responseHandler.getResponseProcessor = function () {
            return function(xmlHttp) {
                // Dispose the wait panel.
                waitPanel.hide();
                    
                congressionalSearchCountyresponse(xmlHttp);
            };
        };    
        
        var waitMessage = "Loading congressional district list for " + text + ", please wait....";
        
        GCROUtils.performCommand(url, true, "congressionalDistrictsList", currentViewId, params, responseHandler, waitMessage);
    } else {
        var newText = "<option value=\"\" disabled=\"true\" selected=\"true\">";
        newText += "Select a Congressional District";
        newText += "</option>";
        
        $('congressionalSearchDistrictSelect').innerHTML = newText;
        $('congressionalSearchDistrictSelect').disabled = true;
    }
}

function congressionalSearchCountyresponse(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 congressionalDistricts = [];
            var objectIds = new Object();
            for (var j = 0; j < resultTags.length; j++) {
                var resultTag = resultTags.item(j);
                var details = resultTag.getElementsByTagName("detail");
                var fullname = "";
                var cofips = "";

                $("congressionalSearchDistrictSelect").disabled = false;
                $("congressionalSearchDistrictSelect").options.length = 1;
                
                var name = details.item(0).getAttribute("value").toString().trim();
                var objectId = details.item(1).getAttribute("value").toString().trim();
                var districtId = details.item(2).getAttribute("value").toString().trim();
                
                if (name == "") {
                    fullname = districtId + " - Vacant";
                } else {
                    fullname = districtId + " - " + name;
                }
                
                cofips = objectId;
                
                congressionalDistricts[j] = fullname;
                objectIds[fullname] = cofips;
            }//for j
            congressionalDistricts.sort();
            for (k = 0; k < congressionalDistricts.length; k++) {
                var co = congressionalDistricts[k];
                var fps = objectIds[congressionalDistricts[k]];
                $("congressionalSearchDistrictSelect").options[k + 1] = new Option(co, fps);
            }
        }//if
    }//if
}

function CongressionalSearcher() {}
CongressionalSearcher.prototype = new Searcher();
CongressionalSearcher.prototype.name = "congressionalSearch";
CongressionalSearcher.prototype.mapUpdateAction = "zoomToCongressionalDistrict";
CongressionalSearcher.prototype.searchType = "Spatial";
CongressionalSearcher.prototype.doAfterInit = function () {
	congressionalSearchStateChanged();

	YAHOO.util.Event.addListener("congressionalSearchSubmit", "click", function () {
        congressionalSearcher.handleSubmit();
    });
    YAHOO.util.Event.addListener("congressionalSearchCancel", "click", function () {
        congressionalSearcher.handleCancel();
    });
};
CongressionalSearcher.prototype.validateUserInputs = function () {
    var congressionalDistrictSelectedIndex = $('congressionalSearchDistrictSelect').selectedIndex;
    
    if (congressionalDistrictSelectedIndex == 0) {
        alert("Please narrow your search to a specific congressional district.");
        return false;
    }
    
    return true;
};
CongressionalSearcher.prototype.getUserInputs = function () {
    var congressionalDistrictSelectedIndex = $('congressionalSearchDistrictSelect').selectedIndex;
    
    var params = new Array();
    params.push('objectId=' + $('congressionalSearchDistrictSelect')[congressionalDistrictSelectedIndex].value);
    
    return params;
};
var congressionalSearcher = new CongressionalSearcher();
searchers.set(congressionalSearcher.name, congressionalSearcher);
