var autoRailSuggestControl;

/**
* Provides suggestions for state names (USA).
* @class
* @scope public
*/
function RailCitySuggestions() {
    
}

/**
* Request suggestions for the given autosuggest control. 
* @scope protected
* @param oAutoSuggestControl The autosuggest control to provide suggestions for.
*/
RailCitySuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/) {
  
    autoRailSuggestControl = oAutoSuggestControl;

    var partiallyTypedValue = oAutoSuggestControl.textbox.value;
    var exlusion = oAutoSuggestControl.conjugateTextbox.value;
    oAutoSuggestControl.showLoadingPanel();
    TownRail.GetCities(partiallyTypedValue, exlusion, this.GetCities_callback);
};
RailCitySuggestions.prototype.GetCities_callback = function (response /*:response object*/) {
    if (response.error != null) {
        alert(response.error);
        return;
    }

    var aSuggestions = string2JsonObj(response.value);
    //provide suggestions to the control
    autoRailSuggestControl.autosuggest(aSuggestions);
}
