function StateSuggestions() {
    this.states = [
"Aberdeen",
"Airway Heights",
"Amanda Park",
"Anacortes",
"Anderson Island",
"Arlington",
"Ashford",
"Asotin",
"Auburn",
"Bainbridge Island",
"Battle Ground",
"Beaver",
"Belfair",
"Bellevue",
"Bellingham",
"Blaine",
"Blakely Island",
"Bothell",
"Bow",
"Bremerton",
"Brewster",
"Brinnon",
"Buckley",
"Burlington",
"Camano Island",
"Camas",
"Carlton",
"Carson",
"Cashmere",
"Castle Rock",
"Centralia",
"Chehalis",
"Chelan",
"Cheney",
"Chewelah",
"Chinook",
"Clallam Bay",
"Clarkston",
"Cle Elum",
"Colfax",
"College Place",
"Colville",
"Conconully",
"Concrete",
"Connell",
"Copalis Beach",
"Copalis Crossing",
"Cougar",
"Coulee City",
"Coulee Dam",
"Coupeville",
"Curlew",
"Cusick",
"Davenport",
"Dayton",
"Deer Harbor",
"Deming",
"Des Moines",
"Dryden",
"Dupont",
"East Wenatchee",
"Easton",
"Eastsound",
"Eatonville",
"Edmonds",
"Elbe",
"Electric City",
"Ellensburg",
"Elma",
"Enumclaw",
"Ephrata",
"Everett",
"Everson",
"Federal Way",
"Ferndale",
"Fife",
"Forks",
"Freeland",
"Friday Harbor",
"Garfield",
"Gig Harbor",
"Gold Bar",
"Goldendale",
"Grand Coulee",
"Grandview",
"Granite Falls",
"Grayland",
"Hoodsport",
"Hoquiam",
"Humptulips",
"Ilwaco",
"Ione",
"Issaquah",
"Kalama",
"Kelso",
"Kenmore",
"Kennewick",
"Kent",
"Kettle Falls",
"Kingston",
"Kirkland",
"La Conner",
"La Push",
"Lacey",
"Lake Stevens",
"Lakebay",
"Lakewood",
"Langley",
"Leavenworth",
"Liberty Lake",
"Long Beach",
"Longview",
"Loon Lake",
"Lopez Island",
"Lyle",
"Lynden",
"Lynnwood",
"Manson",
"Maple Falls",
"Marblemount",
"Marysville",
"Mazama",
"Mercer Island",
"Metaline Falls",
"Moclips",
"Monroe",
"Montesano",
"Morton",
"Moses Lake",
"Mossyrock",
"Mount Vernon",
"Mountlake Terrace",
"Mukilteo",
"Naches",
"Nahcotta",
"Naselle",
"Neah Bay",
"Newport",
"Nordland",
"North Bend",
"Northport",
"Oak Harbor",
"Ocean Park",
"Ocean Shores",
"Odessa",
"Okanogan",
"Olga",
"Olympia",
"Omak",
"Orcas",
"Orondo",
"Oroville",
"Othello",
"Pacific",
"Pacific Beach",
"Packwood",
"Pasco",
"Pateros",
"Pomeroy",
"Port Angeles",
"Port Hadlock",
"Port Ludlow",
"Port Orchard",
"Port Townsend",
"Poulsbo",
"Prosser",
"Pullman",
"Puyallup",
"Quilcene",
"Quinault",
"Quincy",
"Randle",
"Raymond",
"Redmond",
"Renton",
"Republic",
"Richland",
"Ritzville",
"Rochester",
"Rockport",
"Roslyn",
"Saint John",
"Salkum",
"Sammamish",
"Seabeck",
"Seatac",
"Seattle",
"Seaview",
"Sedro Woolley",
"Sekiu",
"Sequim",
"Shelton",
"Shoreline",
"Silver Creek",
"Silverdale",
"Silverlake",
"Skykomish",
"Snohomish",
"Snoqualmie",
"Snoqualmie Pass",
"Soap Lake",
"South Bend",
"South Cle Elum",
"Spanaway",
"Spokane",
"Spokane Valley",
"Sprague",
"Stanwood",
"Steilacoom",
"Stevenson",
"Sumas",
"Sumner",
"Sunnyside",
"Suquamish",
"Tacoma",
"Tenino",
"Tokeland",
"Tonasket",
"Toppenish",
"Tracyton",
"Trout Lake",
"Tukwila",
"Tulalip",
"Tumwater",
"Twisp",
"Union",
"Union Gap",
"Uniontown",
"Vancouver",
"Vantage",
"Vashon",
"Veradale",
"Waitsburg",
"Walla Walla",
"Washougal",
"Washtucna",
"Waterville",
"Wenatchee",
"Westport",
"White Salmon",
"Wilbur",
"Winthrop",
"Woodinville",
"Woodland",
"Yakima",
"Yelm",
"Zillah"];
}

StateSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
    var aSuggestions = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value;
    
    if (sTextboxValue.length > 0){
    	topsuggestion = null;
        for (var i=0; i < this.states.length; i++) { 
            if (this.states[i].toLowerCase().indexOf(sTextboxValue.toLowerCase()) == 0) {
                aSuggestions.push(this.states[i]);
		if (!topsuggestion) {topsuggestion = this.states[i];}
            } 
        }
    }

    oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
};

