Suggestions.prototype.requestSuggestions = function (oAutoSuggestControl, bTypeAhead) {
    var aSuggestions = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value;

    if (sTextboxValue.length > 0){
        var sTextboxValueLC = sTextboxValue.toLowerCase();
        for (var i=0; i < this.states.length; i++) {
            var sStateLC = this.states[i].toLowerCase();
            if (sStateLC.indexOf(sTextboxValueLC) == 0) {
                aSuggestions.push(ucwords(sTextboxValue + this.states[i].substring(sTextboxValue.length)));
            }
        }
    }
    oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
};

function ucwords( str ) {
    return (str+'').replace(/^(.)|\s(.)/g, function ($1){
        return $1.toUpperCase();
    });
}
