function StateSuggestions() {
    this.states = [
"Abbotsford",
"Adams",
"Albany",
"Algoma",
"Allenton",
"Alma",
"Altoona",
"Amery",
"Amherst",
"Antigo",
"Appleton",
"Arcadia",
"Argonne",
"Arkdale",
"Armstrong Creek",
"Ashland",
"Augusta",
"Bagley",
"Baileys Harbor",
"Baldwin",
"Balsam Lake",
"Baraboo",
"Barneveld",
"Barron",
"Bayfield",
"Beaver Dam",
"Belgium",
"Belleville",
"Belmont",
"Beloit",
"Berlin",
"Birchwood",
"Birnamwood",
"Black River Falls",
"Blanchardville",
"Bloomer",
"Blue River",
"Bonduel",
"Boscobel",
"Boulder Junction",
"Bowler",
"Brillion",
"Bristol",
"Brodhead",
"Brookfield",
"Brown Deer",
"Bruce",
"Brule",
"Burlington",
"Butternut",
"Cable",
"Cadott",
"Caledonia",
"Cambridge",
"Cameron",
"Camp Douglas",
"Campbellsport",
"Cassville",
"Cecil",
"Cedar Grove",
"Cedarburg",
"Chetek",
"Chilton",
"Chippewa Falls",
"Clam Lake",
"Clear Lake",
"Clintonville",
"Cochrane",
"Coloma",
"Columbus",
"Conrath",
"Coon Valley",
"Cornell",
"Cornucopia",
"Crandon",
"Crivitz",
"Cuba City",
"Cumberland",
"Curtiss",
"Danbury",
"Darlington",
"De Forest",
"De Pere",
"De Soto",
"Delafield",
"Delavan",
"Dickeyville",
"Dodgeville",
"Drummond",
"Dunbar",
"Eagle River",
"East Troy",
"Eau Claire",
"Edgerton",
"Egg Harbor",
"Elk Mound",
"Elkhart Lake",
"Elkhorn",
"Ellison Bay",
"Ellsworth",
"Elroy",
"Ephraim",
"Exeland",
"Fennimore",
"Ferryville",
"Fish Creek",
"Fitchburg",
"Florence",
"Fond Du Lac",
"Fontana",
"Fort Atkinson",
"Fountain City",
"Franklin",
"Frederic",
"Fremont",
"Friendship",
"Galesville",
"Gays Mills",
"Genoa",
"Genoa City",
"Germantown",
"Gillett",
"Gilman",
"Glendale",
"Glenwood City",
"Gordon",
"Grafton",
"Grantsburg",
"Green Bay",
"Green Lake",
"Greenbush",
"Greenville",
"Gresham",
"Hager City",
"Hancock",
"Hartford",
"Hayward",
"Hazel Green",
"Hazelhurst",
"Herbster",
"Hillsboro",
"Hixton",
"Holcombe",
"Holmen",
"Horicon",
"Hudson",
"Hurley",
"Independence",
"Iron Belt",
"Iron Ridge",
"Iron River",
"Jackson",
"Janesville",
"Jefferson",
"Johnson Creek",
"Kaukauna",
"Kendall",
"Kenosha",
"Keshena",
"Kewaunee",
"Kimberly",
"Kohler",
"La Crosse",
"La Farge",
"La Pointe",
"Lac Du Flambeau",
"Ladysmith",
"Lake Delton",
"Lake Geneva",
"Lake Mills",
"Lake Tomahawk",
"Lakewood",
"Lancaster",
"Land O Lakes",
"Laona",
"Larsen",
"Little Chute",
"Lodi",
"Lomira",
"Loyal",
"Lublin",
"Luck",
"Luxemburg",
"Lyndon Station",
"Lynxville",
"Madison",
"Manawa",
"Manitowish Waters",
"Manitowoc",
"Marathon",
"Marinette",
"Markesan",
"Marquette",
"Marshfield",
"Mauston",
"Mayville",
"Mazomanie",
"Mc Farland",
"Medford",
"Mellen",
"Melrose",
"Menasha",
"Menomonee Falls",
"Menomonie",
"Mequon",
"Mercer",
"Merrill",
"Merrillan",
"Middleton",
"Milwaukee",
"Mindoro",
"Mineral Point",
"Minocqua",
"Minong",
"Mishicot",
"Mondovi",
"Monona",
"Monroe",
"Montello",
"Montreal",
"Mosinee",
"Mount Hope",
"Mount Horeb",
"Mukwonago",
"Muscoda",
"Necedah",
"Neenah",
"Neillsville",
"Nekoosa",
"Nelson",
"New Auburn",
"New Berlin",
"New Franken",
"New Glarus",
"New Holstein",
"New Lisbon",
"New London",
"New Richmond",
"Oak Creek",
"Oconomowoc",
"Oconto",
"Oconto Falls",
"Odanah",
"Ogema",
"Omro",
"Onalaska",
"Ontario",
"Osceola",
"Oshkosh",
"Osseo",
"Owen",
"Oxford",
"Park Falls",
"Pelican Lake",
"Pembine",
"Pepin",
"Pewaukee",
"Phelps",
"Phillips",
"Pickerel",
"Pittsville",
"Plain",
"Plainfield",
"Platteville",
"Pleasant Prairie",
"Plover",
"Plymouth",
"Port Washington",
"Port Wing",
"Portage",
"Potosi",
"Pound",
"Poynette",
"Prairie Du Chien",
"Prairie Du Sac",
"Prentice",
"Prescott",
"Presque Isle",
"Princeton",
"Pulaski",
"Racine",
"Radisson",
"Random Lake",
"Readstown",
"Redgranite",
"Reedsburg",
"Rhinelander",
"Rib Lake",
"Rice Lake",
"Richland Center",
"Ripon",
"River Falls",
"Rock Springs",
"Rothschild",
"Saint Croix Falls",
"Saint Germain",
"Sarona",
"Sauk City",
"Saukville",
"Sayner",
"Schofield",
"Seymour",
"Sharon",
"Shawano",
"Sheboygan",
"Sheboygan Falls",
"Shell Lake",
"Sherwood",
"Shullsburg",
"Silver Lake",
"Siren",
"Sister Bay",
"Slinger",
"Soldiers Grove",
"Solon Springs",
"Somerset",
"South Range",
"Sparta",
"Spooner",
"Spring Green",
"Stanley",
"Star Prairie",
"Stevens Point",
"Stoddard",
"Stone Lake",
"Stoughton",
"Sturgeon Bay",
"Sturtevant",
"Sun Prairie",
"Superior",
"Suring",
"Thiensville",
"Thorp",
"Three Lakes",
"Tomah",
"Tomahawk",
"Tony",
"Townsend",
"Trego",
"Trempealeau",
"Trevor",
"Turtle Lake",
"Twin Lakes",
"Two Rivers",
"Union Center",
"Union Grove",
"Van Dyne",
"Verona",
"Viroqua",
"Wabeno",
"Walworth",
"Warrens",
"Washburn",
"Washington Island",
"Waterford",
"Waterloo",
"Watertown",
"Waukesha",
"Waunakee",
"Waupaca",
"Waupun",
"Wausau",
"Wautoma",
"Wauwatosa",
"Webster",
"West Bend",
"West Milwaukee",
"Westby",
"Westfield",
"Weston",
"Weyerhaeuser",
"White Lake",
"Whitehall",
"Whitewater",
"Wild Rose",
"Williams Bay",
"Wilton",
"Windsor",
"Winneconne",
"Winter",
"Wisconsin Dells",
"Wisconsin Rapids",
"Wittenberg",
"Woodruff",
"Woodville"];
}

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);
};

