
/**
 * Provides suggestions for state names (USA).
 * @class
 * @scope public
 */
function TariffSuggestions() {
    this.states = [
/* Begin: Countries */"Afghanistan", "Algeria", "American Samoa", "Argentina", "Austria", "Australia", "Bahrain", "Bangladesh", "Belgium", "Botswana", "Brazil", "Brunei Darussalam", "Bulgaria", "Cambodia", "Canada", "Chile", "China", "Cook Islands", "Cuba", "Cyprus", "Czech Republic", "Denmark", "East Timor (Timor-Leste)", "Egypt", "Estonia", "European Union", "Fiji", "Finland", "France", "French Polynesia", "Germany", "Greece", "Holland (The Netherlands)", "Hong Kong (China)", "Hungary", "India", "Indonesia", "Iran Islamic Republic of", "Ireland", "Israel", "Italy", "Japan", "Jordan", "Kenya", "Kiribati", "Korea (North)", "Korea (South)", "Kuwait", "Laos Peoples Democratic Republic", "Latvia", "Lebanon", "Lithuania", "Malaysia", "Maldives", "Malta", "Marshall Islands", "Mexico", "Micronesia Federated States of", "Mongolia", "Morocco", "Mozambique", "Myanmar (Burma)", "Namibia", "Nauru", "Nepal", "Netherlands (Holland)", "New Caledonia", "Nigeria", "Niue", "North Korea", "Norway", "Oman", "Pakistan", "Palau", "Papua New Guinea", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russia (Russian Federation)", "Samoa", "Saudi Arabia", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "South Africa", "South Korea", "Spain", "Sri Lanka", "Sweden", "Switzerland", "Syria", "Taiwan", "Thailand", "Timor-Leste (East Timor)", "Tokelau", "Tonga", "Turkey", "Tuvalu", "United Arab Emirates", "United Kingdom", "United States of America", "Uruguay", "Vanuatu", "Venezuela", "Viet Nam", "Zimbabwe", "Algeria", "Andean", "Angola", "Argentina", "Aruba", "Australia", "Austria", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belgium", "Benin", "Bermuda", "Bolivia", "Botswana", "Brazil", "Brunei", "Burkina Faso", "Cambodia", "Cameroon", "Canada", "Central African Republic", "Chad", "Chile", "China", "Colombia", "Congo", "Costa Rica", "Cote D'Ivoire", "Cyprus", "Czech Republic", "Denmark", "Dominican Republic", "Ecuador", "El Salvador", "Equatorial Guinea", "Estonia", "Finland", "France", "Germany", "Ghana", "Greece", "Guatemala", "Guinea Bissau", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iraq", "Ireland", "Israel", "Italy", "Japan", "Jordan", "Kenya", "Kuwait", "Laos", "Latvia", "Lebanon", "Lesotho", "Lithuania", "Luxembourg", "Madagascar", "Malaysia", "Mali", "Malta", "Mauritius", "Mexico", "Mongolia", "Morocco", "Mozambique", "Namibia", "Netherlands", "Nicaragua", "Nigeria", "Norway", "Oman", "Pakistan", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Rwanda", "Saudi Arabia", "Senegal", "Singapore", "Slovakia", "Slovenia", "South Africa", "South Korea", "Spain", "Swaziland", "Sweden", "Switzerland", "Taiwan", "Thailand", "Togo", "Turkey", "UAE", "United Kingdom", "United States of America", "Venezuela", "Vietnam", "Zimbabwe"/* End: Countries */
    ];
}

/**
 * Request suggestions for the given autosuggest control. 
 * @scope protected
 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
 */
TariffSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
    var aSuggestions = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value;
	var counter = 0;
    
    if (sTextboxValue.length > 0){
    
        //search for matching states
        for (var i=0; i < this.states.length; i++) { 
            if (this.states[i].toLowerCase().indexOf(sTextboxValue.toLowerCase()) == 0) {
				if (counter++ < 6)
	                aSuggestions.push(this.states[i]);
            } 
        }
    }

    //provide suggestions to the control
    oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
};
