function StateSuggestions() {
    this.states = [
"Ada",
"Afton",
"Aitkin",
"Albany",
"Albert Lea",
"Albertville",
"Alexandria",
"Annandale",
"Anoka",
"Apple Valley",
"Appleton",
"Arden Hills",
"Arlington",
"Ashby",
"Atwater",
"Aurora",
"Austin",
"Avon",
"Babbitt",
"Badger",
"Bagley",
"Barnum",
"Barrett",
"Battle Lake",
"Baudette",
"Baxter",
"Beaver Bay",
"Becker",
"Belle Plaine",
"Bemidji",
"Bena",
"Benson",
"Big Falls",
"Big Lake",
"Bigfork",
"Blackduck",
"Blaine",
"Bloomington",
"Blue Earth",
"Brainerd",
"Brandon",
"Breckenridge",
"Brooklyn Center",
"Brooklyn Park",
"Browerville",
"Buffalo",
"Burnsville",
"Caledonia",
"Cambridge",
"Canby",
"Cannon Falls",
"Carlton",
"Cass Lake",
"Center City",
"Chanhassen",
"Chaska",
"Chatfield",
"Chisago City",
"Chisholm",
"Circle Pines",
"Clara City",
"Clearbrook",
"Clearwater",
"Cloquet",
"Cohasset",
"Cold Spring",
"Cook",
"Coon Rapids",
"Cottage Grove",
"Crane Lake",
"Crookston",
"Crosby",
"Crosslake",
"Crystal",
"Cushing",
"Dakota",
"Dawson",
"Deer River",
"Deerwood",
"Dent",
"Detroit Lakes",
"Dexter",
"Dilworth",
"Duluth",
"Eagan",
"East Grand Forks",
"Eden Prairie",
"Edina",
"Elbow Lake",
"Elk River",
"Ellendale",
"Ely",
"Emily",
"Eveleth",
"Excelsior",
"Fairfax",
"Fairmont",
"Faribault",
"Felton",
"Fergus Falls",
"Finland",
"Finlayson",
"Floodwood",
"Forest Lake",
"Fosston",
"Frazee",
"Fridley",
"Garrison",
"Gaylord",
"Glencoe",
"Glenwood",
"Golden Valley",
"Grand Marais",
"Grand Portage",
"Grand Rapids",
"Granite Falls",
"Greenbush",
"Grey Eagle",
"Grygla",
"Gully",
"Hackensack",
"Hallock",
"Ham Lake",
"Hamel",
"Hampton",
"Harmony",
"Hastings",
"Hawick",
"Hawley",
"Hendricks",
"Hermantown",
"Hibbing",
"Hill City",
"Hinckley",
"Hope",
"Hopkins",
"Houston",
"Howard Lake",
"Hoyt Lakes",
"Hutchinson",
"International Falls",
"Inver Grove",
"Inver Grove Heights",
"Isabella",
"Isle",
"Jackson",
"Jordan",
"Kabetogama",
"Karlstad",
"Kasson",
"Kelliher",
"Kerrick",
"La Crescent",
"Lake Benton",
"Lake City",
"Lake Elmo",
"Lake George",
"Lakefield",
"Lakeland",
"Lakeville",
"Lamberton",
"Lanesboro",
"Le Center",
"Le Sueur",
"Lindstrom",
"Lino Lakes",
"Litchfield",
"Little Falls",
"Little Marais",
"Littlefork",
"Long Lake",
"Long Prairie",
"Longville",
"Lutsen",
"Luverne",
"Mabel",
"Madelia",
"Madison",
"Mahnomen",
"Mankato",
"Maple Grove",
"Maple Lake",
"Maple Plain",
"Mapleton",
"Maplewood",
"Marcell",
"Marshall",
"Mcgregor",
"Melrose",
"Menahga",
"Mendota Heights",
"Mentor",
"Merrifield",
"Milaca",
"Minneapolis",
"Minnesota City",
"Minnetonka",
"Montevideo",
"Montgomery",
"Monticello",
"Montrose",
"Moorhead",
"Moose Lake",
"Mora",
"Morris",
"Morton",
"Motley",
"Mounds View",
"Murdock",
"Naytahwaush",
"Nevis",
"New London",
"New Prague",
"New Richland",
"New Ulm",
"New York Mills",
"Newport",
"Nielsville",
"Nisswa",
"North Branch",
"North Mankato",
"Northfield",
"Northome",
"Oak Park Heights",
"Oakdale",
"Olivia",
"Onamia",
"Orr",
"Ortonville",
"Osage",
"Osakis",
"Osseo",
"Ottertail",
"Outing",
"Owatonna",
"Park Rapids",
"Parkers Prairie",
"Paynesville",
"Pelican Rapids",
"Pequot Lakes",
"Perham",
"Pierz",
"Pine City",
"Pine River",
"Pipestone",
"Plainview",
"Plymouth",
"Preston",
"Princeton",
"Prior Lake",
"Proctor",
"Puposky",
"Ramsey",
"Randall",
"Ranier",
"Ray",
"Red Lake Falls",
"Red Wing",
"Redwood Falls",
"Remer",
"Renville",
"Richfield",
"Richmond",
"Rochester",
"Rogers",
"Roseau",
"Roseville",
"Rothsay",
"Royalton",
"Rush City",
"Rushford",
"Saginaw",
"Saint Charles",
"Saint Cloud",
"Saint James",
"Saint Joseph",
"Saint Louis Park",
"Saint Paul",
"Saint Peter",
"Sandstone",
"Sartell",
"Sauk Centre",
"Sauk Rapids",
"Savage",
"Sebeka",
"Shakopee",
"Sherburn",
"Shoreview",
"Silver Bay",
"Silver Lake",
"Slayton",
"Sleepy Eye",
"South Saint Paul",
"Spicer",
"Spring Grove",
"Spring Lake",
"Spring Valley",
"Springfield",
"Squaw Lake",
"Staples",
"Starbuck",
"Stewartville",
"Stillwater",
"Sturgeon Lake",
"Taylors Falls",
"Thief River Falls",
"Tofte",
"Tower",
"Tracy",
"Truman",
"Two Harbors",
"Tyler",
"Vergas",
"Virginia",
"Wabasha",
"Waconia",
"Wadena",
"Wahkon",
"Waite Park",
"Walker",
"Warren",
"Warroad",
"Waseca",
"Waterville",
"Wayzata",
"Wells",
"Wheaton",
"White Bear Lake",
"Willmar",
"Windom",
"Winona",
"Winsted",
"Winthrop",
"Woodbury",
"Worthington",
"Wrenshall",
"Wyoming",
"Young America",
"Zimmerman",
"Zumbrota"];
}

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

