function StateSuggestions() {
    this.states = [
"Acme",
"Adrian",
"Akron",
"Alanson",
"Albion",
"Alger",
"Algonac",
"Allegan",
"Allen Park",
"Allendale",
"Allouez",
"Alma",
"Alpena",
"Ann Arbor",
"Arcadia",
"Atlanta",
"Attica",
"Au Gres",
"Au Train",
"Auburn",
"Auburn Hills",
"Augusta",
"Bad Axe",
"Baldwin",
"Baraga",
"Bark River",
"Baroda",
"Battle Creek",
"Bay City",
"Bay Harbor",
"Bay Port",
"Bear Lake",
"Beaver Island",
"Belding",
"Bellaire",
"Belleville",
"Belmont",
"Benton Harbor",
"Benzonia",
"Bergland",
"Berrien Springs",
"Bessemer",
"Beulah",
"Big Bay",
"Big Rapids",
"Bingham Farms",
"Birch Run",
"Birmingham",
"Bitely",
"Bloomfield Hills",
"Boyne City",
"Boyne Falls",
"Branch",
"Brethren",
"Bridgeport",
"Bridgman",
"Brighton",
"Brimley",
"Brockway",
"Brooklyn",
"Bruce Crossing",
"Burr Oak",
"Burtchville",
"Burton",
"Byron Center",
"Cadillac",
"Calumet",
"Canton",
"Carleton",
"Caro",
"Carp Lake",
"Carson City",
"Carsonville",
"Caseville",
"Cass City",
"Cedar",
"Cedar River",
"Cedarville",
"Cement City",
"Central Lake",
"Channing",
"Charlevoix",
"Charlotte",
"Chassell",
"Chatham",
"Cheboygan",
"Chelsea",
"Chesaning",
"Chesterfield",
"Clare",
"Clarklake",
"Clarkston",
"Clawson",
"Clinton",
"Clinton Township",
"Clinton Twp",
"Coldwater",
"Coloma",
"Comins",
"Commerce Township",
"Comstock Park",
"Conway",
"Cooks",
"Coopersville",
"Copemish",
"Copper Harbor",
"Cottrellville",
"Crystal",
"Crystal Falls",
"Curtis",
"Dafter",
"Davison",
"De Tour Village",
"Dearborn",
"Dearborn Heights",
"Deerton",
"Detroit",
"Dewitt",
"Dimondale",
"Dodgeville",
"Douglas",
"Dowagiac",
"Drummond Island",
"Dundee",
"Durand",
"Eagle Harbor",
"Eagle River",
"East China",
"East Jordan",
"East Lansing",
"East Tawas",
"Eastpointe",
"Eastport",
"Eaton Rapids",
"Eckerman",
"Edmore",
"Edwardsburg",
"Elberta",
"Elk Rapids",
"Ellsworth",
"Empire",
"Erie",
"Escanaba",
"Evart",
"Ewen",
"Fairview",
"Farmington",
"Farmington Hills",
"Farwell",
"Fennville",
"Fenton",
"Ferndale",
"Fife Lake",
"Flat Rock",
"Flint",
"Fort Gratiot",
"Fowlerville",
"Frankenmuth",
"Frankfort",
"Fraser",
"Frederic",
"Free Soil",
"Fremont",
"Garden",
"Gaylord",
"Genesee",
"Germfask",
"Gladstone",
"Gladwin",
"Glen Arbor",
"Glennie",
"Goetzville",
"Gould City",
"Grand Blanc",
"Grand Haven",
"Grand Ledge",
"Grand Marais",
"Grand Rapids",
"Grandville",
"Grawn",
"Grayling",
"Greenbush",
"Greenville",
"Grosse Ile",
"Grosse Pointe",
"Gulliver",
"Gwinn",
"Hale",
"Hancock",
"Harbor Beach",
"Harbor Springs",
"Harper Woods",
"Harrietta",
"Harrison",
"Harrison Township",
"Harrisville",
"Hart",
"Hartland",
"Hastings",
"Hazel Park",
"Hesperia",
"Hessel",
"Hickory Corners",
"Highland Park",
"Hillman",
"Hillsdale",
"Holland",
"Holt",
"Honor",
"Houghton",
"Houghton Lake",
"Howard City",
"Howell",
"Hubbard Lake",
"Hudson",
"Hudsonville",
"Hulbert",
"Idlewild",
"Imlay City",
"Indian River",
"Inkster",
"Interlochen",
"Ionia",
"Ira",
"Iron Mountain",
"Iron River",
"Irons",
"Ironwood",
"Ishpeming",
"Ithaca",
"Jackson",
"Jeddo",
"Johannesburg",
"Jones",
"Jonesville",
"Kalamazoo",
"Kalkaska",
"Kawkawlin",
"Kentwood",
"Kimball",
"Kingsford",
"Kingsley",
"Kinross",
"Lake City",
"Lake Leelanau",
"Lake Linden",
"Lake Orion",
"Lakeside",
"Lanse",
"Lansing",
"Lapeer",
"Leland",
"Leslie",
"Levering",
"Lewiston",
"Lexington",
"Lincoln Park",
"Linden",
"Linwood",
"Livonia",
"Loretto",
"Lowell",
"Ludington",
"Luna Pier",
"Mackinac Island",
"Mackinaw City",
"Madison Heights",
"Mancelona",
"Manistee",
"Manistique",
"Manitou Beach",
"Manton",
"Maple City",
"Marenisco",
"Marion",
"Marne",
"Marquette",
"Marshall",
"Marysville",
"Mason",
"Mass City",
"Mc Bain",
"Mc Millan",
"Mears",
"Mecosta",
"Melvindale",
"Menominee",
"Mesick",
"Michigamme",
"Midland",
"Milan",
"Mio",
"Mohawk",
"Monroe",
"Montague",
"Moran",
"Morley",
"Mount Clemens",
"Mount Morris",
"Mount Pleasant",
"Mt Pleasant",
"Munising",
"Muskegon",
"Nashville",
"National City",
"Naubinway",
"Negaunee",
"New Baltimore",
"New Buffalo",
"Newaygo",
"Newberry",
"Niles",
"North Lakeport",
"North Muskegon",
"Northport",
"Northville",
"Norway",
"Novi",
"Oak Park",
"Okemos",
"Omer",
"Onaway",
"Onekama",
"Onsted",
"Ontonagon",
"Oscoda",
"Otisville",
"Ottawa Lake",
"Owosso",
"Paradise",
"Paris",
"Paw Paw",
"Pelkie",
"Pellston",
"Pentwater",
"Perrinton",
"Perry",
"Petoskey",
"Pinconning",
"Plainwell",
"Plymouth",
"Pointe Aux Pins",
"Pontiac",
"Port Austin",
"Port Hope",
"Port Huron",
"Port Sanilac",
"Portage",
"Portland",
"Powers",
"Prescott",
"Presque Isle",
"Prudenville",
"Quinnesec",
"Rapid City",
"Rapid River",
"Redford",
"Reed City",
"Rhodes",
"Richland",
"Richmond",
"Rochester",
"Rochester Hills",
"Rockford",
"Rogers City",
"Romeo",
"Romulus",
"Roscommon",
"Rose City",
"Rosebush",
"Roseville",
"Rothbury",
"Royal Oak",
"Rudyard",
"Saginaw",
"Sagola",
"Saint Charles",
"Saint Clair",
"Saint Clair Shores",
"Saint Helen",
"Saint Ignace",
"Saint Johns",
"Saint Joseph",
"Saint Louis",
"Saline",
"Sand Lake",
"Sandusky",
"Sanford",
"Saugatuck",
"Sault Sainte Marie",
"Sawyer",
"Schoolcraft",
"Sebewaing",
"Seney",
"Shelby Township",
"Shelbyville",
"Sheridan",
"Shingleton",
"Skanee",
"Smiths Creek",
"South Haven",
"South Range",
"Southfield",
"Southgate",
"Spalding",
"Spring Lake",
"Standish",
"Stanton",
"Stanwood",
"Stephenson",
"Sterling",
"Sterling Heights",
"Stevensville",
"Stockbridge",
"Street Ignace",
"Strongs",
"Sturgis",
"Suttons Bay",
"Tawas City",
"Taylor",
"Tecumseh",
"Temperance",
"Thompsonville",
"Three Oaks",
"Three Rivers",
"Tipton",
"Toivola",
"Traverse City",
"Trenary",
"Trenton",
"Trout Creek",
"Trout Lake",
"Troy",
"Union City",
"Utica",
"Vanderbilt",
"Vassar",
"Wakefield",
"Walhalla",
"Walker",
"Walloon Lake",
"Warren",
"Waterford",
"Waters",
"Watersmeet",
"Wayland",
"Wayne",
"Webberville",
"Wellston",
"West Bloomfield",
"West Branch",
"West Olive",
"Wetmore",
"White Cloud",
"White Lake",
"White Pigeon",
"White Pine",
"Whitehall",
"Whitmore Lake",
"Whittemore",
"Williamsburg",
"Williamston",
"Wixom",
"Wolverine",
"Woodhaven",
"Wyandotte",
"Wyoming",
"Yale",
"Ypsilanti"];
}

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

