var team_list = [
  {"id":306,"short_name":"icon_soccer-milan","name":"AC Milan"},
  {"id":32,"short_name":"icon_ACC","name":"ACC:"},
  {"id":133,"short_name":"icon_mwc-af","name":"Air Force Falcons"},
  {"id":101,"short_name":"icon_cusa-uab","name":"Alabama Birmingham Blazers"},
  {"id":117,"short_name":"icon_sec-bama","name":"Alabama Crimson Tide"},
  {"id":269,"short_name":"icon_nhlw-ducks","name":"Anaheim Ducks"},
  {"id":9,"short_name":"icon_angry","name":"Angry"},
  {"id":165,"short_name":"icon_cardinals","name":"Arizona Cardinals"},
  {"id":206,"short_name":"icon_nl-diamondbacks","name":"Arizona Diamondbacks"},
  {"id":105,"short_name":"icon_p10-asu","name":"Arizona State Sun Devils"},
  {"id":104,"short_name":"icon_p10-ua","name":"Arizona Wildcats"},
  {"id":119,"short_name":"icon_sec-arky","name":"Arkansas Razorbacks"},
  {"id":275,"short_name":"icon_soccer-arse","name":"Arsenal"},
  {"id":276,"short_name":"icon_soccer-villa","name":"Aston Villa"},
  {"id":195,"short_name":"icon_nl-braves","name":"Atlanta Braves"},
  {"id":168,"short_name":"icon_falcons","name":"Atlanta Falcons"},
  {"id":222,"short_name":"icon_east-hawks","name":"Atlanta Hawks"},
  {"id":254,"short_name":"icon_nhle-thrashers","name":"Atlanta Thrashers"},
  {"id":295,"short_name":"icon_soccer-atletico","name":"Atletico Madrid"},
  {"id":121,"short_name":"icon_sec-auburn","name":"Auburn Tigers"},
  {"id":180,"short_name":"icon_al-orioles","name":"Baltimore Orioles"},
  {"id":158,"short_name":"icon_ravens","name":"Baltimore Ravens"},
  {"id":296,"short_name":"icon_soccer-barca","name":"Barcelona"},
  {"id":299,"short_name":"icon_soccer-lever","name":"Bayer Leverkusen"},
  {"id":300,"short_name":"icon_soccer-bayern","name":"Bayern Munich"},
  {"id":62,"short_name":"icon_b12-bu","name":"Baylor Bears"},
  {"id":61,"short_name":"icon_big12","name":"Big 12:"},
  {"id":75,"short_name":"icon_bigeast2","name":"Big East:"},
  {"id":45,"short_name":"icon_big10","name":"Big Ten:"},
  {"id":277,"short_name":"icon_soccer-bham","name":"Birmingham City"},
  {"id":278,"short_name":"icon_soccer-blackburn","name":"Blackburn"},
  {"id":279,"short_name":"icon_soccer-blackpool","name":"Blackpool"},
  {"id":53,"short_name":"icon_bo","name":"Bo Pelini"},
  {"id":120,"short_name":"icon_finaltrino","name":"Bobby Petrino"},
  {"id":134,"short_name":"icon_mwc-boise","name":"Boise State Broncos"},
  {"id":280,"short_name":"icon_soccer-bolton","name":"Bolton Wanderers"},
  {"id":301,"short_name":"icon_soccer-dortmund","name":"Borussia Dortmund"},
  {"id":249,"short_name":"icon_nhle-bruins","name":"Boston Bruins"},
  {"id":212,"short_name":"icon_east-celtics","name":"Boston Celtics"},
  {"id":33,"short_name":"icon_acc-bc","name":"Boston College Eagles"},
  {"id":181,"short_name":"icon_al-redsox","name":"Boston Red Sox"},
  {"id":144,"short_name":"icon_byu","name":"Brigham Young Cougars"},
  {"id":147,"short_name":"icon_bills","name":"Buffalo Bills"},
  {"id":250,"short_name":"icon_nhle-sabres","name":"Buffalo Sabres"},
  {"id":332,"short_name":"icon_mls-chivas","name":"C.D. Chivas USA"},
  {"id":264,"short_name":"icon_nhlw-flames","name":"Calgary Flames"},
  {"id":106,"short_name":"icon_p10-uc","name":"California Golden Bears"},
  {"id":255,"short_name":"icon_nhle-hurricanes","name":"Carolina Hurricanes"},
  {"id":172,"short_name":"icon_panthers","name":"Carolina Panthers"},
  {"id":318,"short_name":"icon_celtic","name":"Celtic"},
  {"id":223,"short_name":"icon_east-bobcats","name":"Charlotte Bobcats"},
  {"id":281,"short_name":"icon_soccer-chelsea","name":"Chelsea"},
  {"id":163,"short_name":"icon_bears","name":"Chicago Bears"},
  {"id":259,"short_name":"icon_nhlw-blackhawks","name":"Chicago Blackhawks"},
  {"id":217,"short_name":"icon_east-bulls","name":"Chicago Bulls"},
  {"id":200,"short_name":"icon_nl-cubs","name":"Chicago Cubs"},
  {"id":323,"short_name":"icon_mls-fire","name":"Chicago Fire"},
  {"id":185,"short_name":"icon_al-whitesox","name":"Chicago White Sox"},
  {"id":76,"short_name":"icon_be-uc","name":"Cincinnati Bearcats"},
  {"id":146,"short_name":"icon_bengals","name":"Cincinnati Bengals"},
  {"id":201,"short_name":"icon_nl-reds","name":"Cincinnati Reds"},
  {"id":34,"short_name":"icon_acc-cu","name":"Clemson Tigers"},
  {"id":149,"short_name":"icon_browns","name":"Cleveland Browns"},
  {"id":218,"short_name":"icon_east-cavaliers","name":"Cleveland Cavaliers"},
  {"id":186,"short_name":"icon_al-indians","name":"Cleveland Indians"},
  {"id":265,"short_name":"icon_nhlw-avalanche","name":"Colorado Avalanche"},
  {"id":107,"short_name":"icon_b12-cu","name":"Colorado Buffalos"},
  {"id":333,"short_name":"icon_mls-rapids","name":"Colorado Rapids"},
  {"id":135,"short_name":"icon_mwc-csu","name":"Colorado State Rams"},
  {"id":260,"short_name":"icon_nhlw-bluejackets","name":"Columbus Blue Jackets"},
  {"id":324,"short_name":"icon_mls-crew","name":"Columbus Crew"},
  {"id":91,"short_name":"icon_CUSA","name":"Conference USA:"},
  {"id":77,"short_name":"icon_be-uconn","name":"Connecticut Huskies"},
  {"id":122,"short_name":"icon_cryst","name":"Crystal Ball"},
  {"id":325,"short_name":"icon_mls-united","name":"D.C. United"},
  {"id":166,"short_name":"icon_cowboys","name":"Dallas Cowboys"},
  {"id":238,"short_name":"icon_west-mavericks","name":"Dallas Mavericks"},
  {"id":270,"short_name":"icon_nhlw-stars","name":"Dallas Stars"},
  {"id":148,"short_name":"icon_broncs","name":"Denver Broncos"},
  {"id":228,"short_name":"icon_west-nuggets","name":"Denver Nuggets"},
  {"id":78,"short_name":"icon_bigeast-dp","name":"Depaul Blue Demons"},
  {"id":170,"short_name":"icon_lions","name":"Detroit Lions"},
  {"id":219,"short_name":"icon_east-pistons","name":"Detroit Pistons"},
  {"id":261,"short_name":"icon_nhlw-redwings","name":"Detroit Red Wings"},
  {"id":187,"short_name":"icon_al-tigers","name":"Detroit Tigers"},
  {"id":31,"short_name":"icon_maradona","name":"Diego Maradona"},
  {"id":35,"short_name":"icon_acc-duke","name":"Duke Blue Devils"},
  {"id":92,"short_name":"icon_cusa-ecarolina","name":"East Carolina Pirates"},
  {"id":266,"short_name":"icon_nhlw-oilers","name":"Edmonton Oilers"},
  {"id":282,"short_name":"icon_soccer-everton","name":"Everton"},
  {"id":334,"short_name":"icon_mls-dallas","name":"FC Dallas"},
  {"id":14,"short_name":"icon_facepalm","name":"Facepalm"},
  {"id":316,"short_name":"icon_fener","name":"Fenerbahce"},
  {"id":20,"short_name":"icon_film","name":"Film"},
  {"id":123,"short_name":"icon_sec-uf","name":"Florida Gators"},
  {"id":196,"short_name":"icon_nl-marlins","name":"Florida Marlins"},
  {"id":256,"short_name":"icon_nhle-panthers","name":"Florida Panthers"},
  {"id":36,"short_name":"icon_acc-fsu","name":"Florida State Seminoles"},
  {"id":66,"short_name":"icon_frank","name":"Frank Martin"},
  {"id":136,"short_name":"icon_mwc-fsu","name":"Fresno State Bulldogs"},
  {"id":24,"short_name":"icon_shuriken","name":"Fuckin' ninjas, how do they work?"},
  {"id":283,"short_name":"icon_soccer-fulham","name":"Fulham"},
  {"id":317,"short_name":"icon_gala","name":"Galatasaray"},
  {"id":79,"short_name":"icon_bigeast-gt","name":"Georgetown Hoyas"},
  {"id":124,"short_name":"icon_sec-uga","name":"Georgia Bulldogs"},
  {"id":37,"short_name":"icon_acc-gt","name":"Georgia Tech Yellow Jackets"},
  {"id":233,"short_name":"icon_west-warriors","name":"Golden State Warriors"},
  {"id":171,"short_name":"icon_packers","name":"Green Bay Packers"},
  {"id":302,"short_name":"icon_soccer-hamburg","name":"Hamburger SV"},
  {"id":26,"short_name":"icon_dino","name":"Hold On To Your Butts"},
  {"id":202,"short_name":"icon_nl-astros","name":"Houston Astros"},
  {"id":93,"short_name":"icon_cusa-houston","name":"Houston Cougars"},
  {"id":326,"short_name":"icon_mls-dynamo","name":"Houston Dynamo"},
  {"id":239,"short_name":"icon_west-rockets","name":"Houston Rockets"},
  {"id":160,"short_name":"icon_texans","name":"Houston Texans"},
  {"id":46,"short_name":"icon_b10-illinois","name":"Illinois Illini"},
  {"id":47,"short_name":"icon_b10-indiana","name":"Indiana Hoosiers"},
  {"id":220,"short_name":"icon_east-pacers","name":"Indiana Pacers"},
  {"id":152,"short_name":"icon_colts","name":"Indianapolis Colts"},
  {"id":308,"short_name":"icon_soccer-inter","name":"Internazionale"},
  {"id":48,"short_name":"icon_b10-iowa","name":"Iowa Hawkeyes"},
  {"id":63,"short_name":"icon_b12-isu","name":"Iowa State Cyclones"},
  {"id":154,"short_name":"icon_jaguars","name":"Jacksonville Jaguars"},
  {"id":56,"short_name":"icon_tress","name":"Jim Tressel"},
  {"id":58,"short_name":"icon_joepafinal","name":"Joe Paterno"},
  {"id":309,"short_name":"icon_soccer-juve","name":"Juventus"},
  {"id":151,"short_name":"icon_chiefs","name":"Kansas City Chiefs"},
  {"id":188,"short_name":"icon_al-royals","name":"Kansas City Royals"},
  {"id":64,"short_name":"icon_b12-ku","name":"Kansas Jayhawks"},
  {"id":65,"short_name":"icon_b12-ksu","name":"Kansas State Wildcats"},
  {"id":125,"short_name":"icon_sec-uk","name":"Kentucky Wildcats"},
  {"id":126,"short_name":"icon_sec-lsu","name":"LSU Tigers"},
  {"id":310,"short_name":"icon_soccer-lazio","name":"Lazio"},
  {"id":320,"short_name":"icon_leeds","name":"Leeds United"},
  {"id":284,"short_name":"icon_soccer-liverpool","name":"Liverpool"},
  {"id":190,"short_name":"icon_al-angels","name":"Los Angeles Angels of Anaheim"},
  {"id":234,"short_name":"icon_west-clippers","name":"Los Angeles Clippers"},
  {"id":207,"short_name":"icon_nl-dodgers","name":"Los Angeles Dodgers"},
  {"id":335,"short_name":"icon_mls-la","name":"Los Angeles Galaxy"},
  {"id":271,"short_name":"icon_nhlw-kings","name":"Los Angeles Kings"},
  {"id":235,"short_name":"icon_west-lakers","name":"Los Angeles Lakers"},
  {"id":80,"short_name":"icon_be-ul","name":"Louisville Cardinals"},
  {"id":178,"short_name":"icon_mlb","name":"MLB:"},
  {"id":71,"short_name":"icon_mack","name":"Mack Brown"},
  {"id":322,"short_name":"icon_mls","name":"Major League Soccer"},
  {"id":285,"short_name":"icon_soccer-mancity","name":"Manchester City"},
  {"id":286,"short_name":"icon_soccer-manu","name":"Manchester United"},
  {"id":81,"short_name":"icon_bigeast-mq","name":"Marquette Golden Eagles"},
  {"id":313,"short_name":"icon_marseille","name":"Marseille"},
  {"id":94,"short_name":"icon_cusa-marshall","name":"Marshall Thundering Herd"},
  {"id":38,"short_name":"icon_acc-mary","name":"Maryland Terrapins"},
  {"id":240,"short_name":"icon_west-grizzlies","name":"Memphis Grizzlies"},
  {"id":95,"short_name":"icon_cusa-memphis","name":"Memphis Tigers"},
  {"id":153,"short_name":"icon_dolphins","name":"Miami Dolphins"},
  {"id":224,"short_name":"icon_east-heat","name":"Miami Heat"},
  {"id":39,"short_name":"icon_acc-miami","name":"Miami Hurricanes"},
  {"id":50,"short_name":"icon_b10-msu","name":"Michigan State Spartans"},
  {"id":49,"short_name":"icon_b10-um","name":"Michigan Wolverines"},
  {"id":203,"short_name":"icon_nl-brewers","name":"Milwaukee Brewers"},
  {"id":221,"short_name":"icon_east-bucks","name":"Milwaukee Bucks"},
  {"id":51,"short_name":"icon_b10-minny","name":"Minnesota Golden Gophers"},
  {"id":229,"short_name":"icon_west-twolves","name":"Minnesota Timberwolves"},
  {"id":189,"short_name":"icon_al-twins","name":"Minnesota Twins"},
  {"id":177,"short_name":"icon_vikings","name":"Minnesota Vikings"},
  {"id":267,"short_name":"icon_nhlw-wild","name":"Minnesota Wild"},
  {"id":128,"short_name":"icon_sec-olemiss","name":"Mississippi Rebels"},
  {"id":127,"short_name":"icon_sec-msu","name":"Mississippi State Bulldogs"},
  {"id":67,"short_name":"icon_b12-mu","name":"Missouri Tigers"},
  {"id":251,"short_name":"icon_nhle-canadiens","name":"Montreal Canadiens"},
  {"id":25,"short_name":"icon_morningcrew","name":"Morning Crew"},
  {"id":132,"short_name":"icon_mwc","name":"Mountain West:"},
  {"id":21,"short_name":"icon_music","name":"Music"},
  {"id":210,"short_name":"icon_nba","name":"NBA:"},
  {"id":145,"short_name":"icon_nfl","name":"NFL:"},
  {"id":243,"short_name":"icon_nhl","name":"NHL:"},
  {"id":5,"short_name":"icon_nsfw","name":"NSFW"},
  {"id":262,"short_name":"icon_nhlw-predators","name":"Nashville Predators"},
  {"id":52,"short_name":"icon_b12-nu","name":"Nebraska Cornhuskers"},
  {"id":137,"short_name":"icon_mwc-unr","name":"Nevada Wolfpack"},
  {"id":156,"short_name":"icon_patriots","name":"New England Patriots"},
  {"id":327,"short_name":"icon_mls-revo","name":"New England Revolution"},
  {"id":244,"short_name":"icon_nhle-devils","name":"New Jersey Devils"},
  {"id":213,"short_name":"icon_east-nets","name":"New Jersey Nets"},
  {"id":138,"short_name":"icon_mwc-unm","name":"New Mexico Lobos"},
  {"id":241,"short_name":"icon_west-hornets","name":"New Orleans Hornets"},
  {"id":175,"short_name":"icon_saints","name":"New Orleans Saints"},
  {"id":169,"short_name":"icon_giants","name":"New York Giants"},
  {"id":245,"short_name":"icon_nhle-islanders","name":"New York Islanders"},
  {"id":155,"short_name":"icon_jets","name":"New York Jets"},
  {"id":214,"short_name":"icon_east-knicks","name":"New York Knicks"},
  {"id":197,"short_name":"icon_nl-mets","name":"New York Mets"},
  {"id":246,"short_name":"icon_nhle-rangers","name":"New York Rangers"},
  {"id":328,"short_name":"icon_mls-red","name":"New York Red Bulls"},
  {"id":182,"short_name":"icon_al-yankees","name":"New York Yankees"},
  {"id":287,"short_name":"icon_soccer-newcastle","name":"Newcastle United"},
  {"id":118,"short_name":"icon_sabanfinal","name":"Nick Saban"},
  {"id":41,"short_name":"icon_acc-ncsu","name":"North Carolina State Wolfpack"},
  {"id":40,"short_name":"icon_acc-unc","name":"North Carolina Tar Heels"},
  {"id":54,"short_name":"icon_b10-nu","name":"Northwestern Wildcats"},
  {"id":143,"short_name":"icon_nd","name":"Notre Dame Fighting Irish"},
  {"id":191,"short_name":"icon_al-athletics","name":"Oakland Athletics"},
  {"id":157,"short_name":"icon_raiders","name":"Oakland Raiders"},
  {"id":55,"short_name":"icon_b10-osu","name":"Ohio State Buckeyes"},
  {"id":230,"short_name":"icon_west-thunder","name":"Oklahoma City Thunder"},
  {"id":68,"short_name":"icon_b12-ou","name":"Oklahoma Sooners"},
  {"id":69,"short_name":"icon_b12-osu","name":"Oklahoma State Cowboys"},
  {"id":314,"short_name":"icon_ol","name":"Olympique Lyonnais"},
  {"id":108,"short_name":"icon_p10-uo","name":"Oregon Ducks"},
  {"id":109,"short_name":"icon_p10-osu","name":"Oregon State Beavers"},
  {"id":225,"short_name":"icon_east-magic","name":"Orlando Magic"},
  {"id":252,"short_name":"icon_nhle-senators","name":"Ottawa Senators"},
  {"id":16,"short_name":"icon_pga","name":"PGA"},
  {"id":103,"short_name":"icon_pac10new","name":"Pac 10:"},
  {"id":315,"short_name":"icon_psg","name":"Paris Saint-Germain"},
  {"id":57,"short_name":"icon_b10-psu","name":"Penn State Nittany Lions"},
  {"id":215,"short_name":"icon_east-76ers","name":"Philadelphia 76ers"},
  {"id":167,"short_name":"icon_eagles","name":"Philadelphia Eagles"},
  {"id":247,"short_name":"icon_nhle-flyers","name":"Philadelphia Flyers"},
  {"id":198,"short_name":"icon_nl-phillies","name":"Philadelphia Phillies"},
  {"id":329,"short_name":"icon_mls-union","name":"Philadelphia Union"},
  {"id":272,"short_name":"icon_nhlw-coyotes","name":"Phoenix Coyotes"},
  {"id":236,"short_name":"icon_west-suns","name":"Phoenix Suns"},
  {"id":82,"short_name":"icon_be-pitt","name":"Pittsburgh Panthers"},
  {"id":248,"short_name":"icon_nhle-penguins","name":"Pittsburgh Penguins"},
  {"id":204,"short_name":"icon_nl-pirates","name":"Pittsburgh Pirates"},
  {"id":159,"short_name":"icon_steelers","name":"Pittsburgh Steelers"},
  {"id":17,"short_name":"icon_ps3","name":"PlayStation3"},
  {"id":231,"short_name":"icon_west-blazers","name":"Portland Trail Blazers"},
  {"id":274,"short_name":"icon_soccer-premier","name":"Premiership"},
  {"id":83,"short_name":"icon_bigeast-pr","name":"Providence Friars"},
  {"id":59,"short_name":"icon_b10-pu","name":"Purdue Boilermakers"},
  {"id":319,"short_name":"icon_rangers","name":"Rangers"},
  {"id":297,"short_name":"icon_soccer-real","name":"Real Madrid"},
  {"id":336,"short_name":"icon_mls-real","name":"Real Salt Lake"},
  {"id":96,"short_name":"icon_cusa-rice","name":"Rice Owls"},
  {"id":311,"short_name":"icon_soccer-roma","name":"Roma"},
  {"id":321,"short_name":"icon_soccer-rosen","name":"Rosenborg BK"},
  {"id":84,"short_name":"icon_be-ru","name":"Rutgers Scarlet Knights"},
  {"id":116,"short_name":"icon_SEC","name":"SEC:"},
  {"id":237,"short_name":"icon_west-kings","name":"Sacramento Kings"},
  {"id":242,"short_name":"icon_west-spurs","name":"San Antonio Spurs"},
  {"id":150,"short_name":"icon_chargers","name":"San Diego Chargers"},
  {"id":208,"short_name":"icon_nl-padres","name":"San Diego Padres"},
  {"id":139,"short_name":"icon_mwc-sdsu","name":"San Diego State Aztecs"},
  {"id":162,"short_name":"icon_49ers","name":"San Francisco 49ers"},
  {"id":209,"short_name":"icon_nl-giants","name":"San Francisco Giants"},
  {"id":337,"short_name":"icon_mls-sanjose","name":"San Jose Earthquakes"},
  {"id":273,"short_name":"icon_nhlw-sharks","name":"San Jose Sharks"},
  {"id":303,"short_name":"icon_soccer-schalke","name":"Schalke 04"},
  {"id":192,"short_name":"icon_al-mariners","name":"Seattle Mariners"},
  {"id":176,"short_name":"icon_seahawks","name":"Seattle Seahawks"},
  {"id":338,"short_name":"icon_mls-seattle","name":"Seattle Sounders FC"},
  {"id":29,"short_name":"icon_santahat","name":"Secret Santa"},
  {"id":15,"short_name":"icon_soccerball","name":"Soccer Ball"},
  {"id":129,"short_name":"icon_sec-usc","name":"South Carolina Gamecocks"},
  {"id":85,"short_name":"icon_be-usf","name":"South Florida Bulls"},
  {"id":97,"short_name":"icon_cusa-smu","name":"Southern Methodist Mustangs"},
  {"id":98,"short_name":"icon_cusa-smiss","name":"Southern Mississippi Golden Eagles"},
  {"id":330,"short_name":"icon_mls-sporting","name":"Sporting Kansas City"},
  {"id":86,"short_name":"icon_bigeast-stj","name":"St. John Red Storm"},
  {"id":263,"short_name":"icon_nhlw-blues","name":"St. Louis Blues"},
  {"id":205,"short_name":"icon_nl-cardinals","name":"St. Louis Cardinals"},
  {"id":173,"short_name":"icon_rams","name":"St. Louis Rams"},
  {"id":110,"short_name":"icon_p10-su","name":"Stanford Cardinal"},
  {"id":288,"short_name":"icon_soccer-stoke","name":"Stoke City"},
  {"id":289,"short_name":"icon_soccer-sund","name":"Sunderland"},
  {"id":87,"short_name":"icon_be-su","name":"Syracuse Orange"},
  {"id":28,"short_name":"icon_tmbtop25","name":"TMB Top 25"},
  {"id":19,"short_name":"icon_tv","name":"TV"},
  {"id":164,"short_name":"icon_buccaneers","name":"Tampa Bay Buccaneers"},
  {"id":257,"short_name":"icon_nhle-lightning","name":"Tampa Bay Lightning"},
  {"id":183,"short_name":"icon_al-rays","name":"Tampa Bay Rays"},
  {"id":161,"short_name":"icon_titans","name":"Tennessee Titans"},
  {"id":130,"short_name":"icon_sec-ut","name":"Tennessee Volunteers"},
  {"id":72,"short_name":"icon_b12-tamu","name":"Texas A&M Aggies"},
  {"id":88,"short_name":"icon_bigeasttcu","name":"Texas Christian Horn Frogs"},
  {"id":102,"short_name":"icon_cusa-utep","name":"Texas El-Paso Miners"},
  {"id":70,"short_name":"icon_b12-ut","name":"Texas Longhorns"},
  {"id":193,"short_name":"icon_al-rangers","name":"Texas Rangers"},
  {"id":73,"short_name":"icon_b12-ttu","name":"Texas Tech Red Raiders"},
  {"id":23,"short_name":"icon_tmyk","name":"The More You Know"},
  {"id":2,"short_name":"icon_thumbdown","name":"Thumbs Down"},
  {"id":1,"short_name":"icon_thumbup","name":"Thumbs Up"},
  {"id":74,"short_name":"icon_tubs","name":"Tommy Tubberville"},
  {"id":184,"short_name":"icon_al-bluejays","name":"Toronto Blue Jays"},
  {"id":331,"short_name":"icon_mls-toronto","name":"Toronto FC"},
  {"id":253,"short_name":"icon_nhle-mapleleafs","name":"Toronto Maple Leafs"},
  {"id":216,"short_name":"icon_east-raptors","name":"Toronto Raptors"},
  {"id":290,"short_name":"icon_soccer-totte","name":"Tottenham Hotspur"},
  {"id":27,"short_name":"icon_triforce","name":"Triforce"},
  {"id":99,"short_name":"icon_cusa-tulane","name":"Tulane Green Wave"},
  {"id":100,"short_name":"icon_cusa-tulsa","name":"Tulsa Golden Hurricane"},
  {"id":111,"short_name":"icon_p10-ucla","name":"UCLA Bruins"},
  {"id":140,"short_name":"icon_mwc-unlv","name":"UNLV Rebels"},
  {"id":6,"short_name":"icon_usa","name":"USA"},
  {"id":112,"short_name":"icon_p10-usc","name":"USC Trojans"},
  {"id":339,"short_name":"icon_cusa-ucf","name":"University of Central Florida"},
  {"id":232,"short_name":"icon_west-jazz","name":"Utah Jazz"},
  {"id":113,"short_name":"icon_pac10-utah","name":"Utah Utes"},
  {"id":298,"short_name":"icon_soccer-valencia","name":"Valencia"},
  {"id":268,"short_name":"icon_nhlw-canucks","name":"Vancouver Canucks"},
  {"id":131,"short_name":"icon_sec-vandy","name":"Vanderbilt Commodores"},
  {"id":89,"short_name":"icon_bigeast-nova","name":"Villanova Wildcats"},
  {"id":42,"short_name":"icon_acc-uva","name":"Virginia Cavaliers"},
  {"id":43,"short_name":"icon_acc-vt","name":"Virginia Tech Hokies"},
  {"id":44,"short_name":"icon_acc-wf","name":"Wake Forest Demon Deacons"},
  {"id":258,"short_name":"icon_nhle-capitals","name":"Washington Capitals"},
  {"id":114,"short_name":"icon_p10-uw","name":"Washington Huskies"},
  {"id":199,"short_name":"icon_nl-nationals","name":"Washington Nationals"},
  {"id":174,"short_name":"icon_redskins","name":"Washington Redskins"},
  {"id":115,"short_name":"icon_p10-wsu","name":"Washington State Cougars"},
  {"id":226,"short_name":"icon_east-wizards","name":"Washington Wizards"},
  {"id":304,"short_name":"icon_soccer-bremen","name":"Werder Bremen"},
  {"id":291,"short_name":"icon_soccer-wba","name":"West Bromwich Albion"},
  {"id":292,"short_name":"icon_soccer-westham","name":"West Ham United"},
  {"id":90,"short_name":"icon_be-wvu","name":"West Virginia Mountaineers"},
  {"id":293,"short_name":"icon_soccer-wigan","name":"Wigan Athletic"},
  {"id":13,"short_name":"icon_wink","name":"Wink"},
  {"id":60,"short_name":"icon_b10-uw","name":"Wisconsin Badgers"},
  {"id":305,"short_name":"icon_soccer-wolfsburg","name":"Wolfsburg"},
  {"id":294,"short_name":"icon_soccer-wolves","name":"Wolverhamtpon Wanderers"},
  {"id":141,"short_name":"icon_mwc-wyo","name":"Wyoming Cowboys"},
  {"id":18,"short_name":"icon_xbox","name":"XBOX 360"}]

var team_autocomplete_matches = function(val) {
  var raw_substrs = val.split(/\s+/);
  var substrs = [];
  var matches = [];

  for (var i = raw_substrs.length - 1; i > -1; i--) {
    if (raw_substrs[i] != '') {
      substrs.push(raw_substrs[i]);
    }
  }

  for (var i = team_list.length - 1; i > -1; i--) {
    var team_name = team_list[i].name.toLowerCase();
    var substr_match_count = 0;

    for (var j = substrs.length - 1; j > -1; j--) {
      if (substrs[j] != '') {
        if (team_name.indexOf(substrs[j]) > -1) {
          substr_match_count++;
        }
      }
    }

    if (substr_match_count == substrs.length) {
      matches.push(team_list[i]);
    }
  }

  return matches;
}

$(document).ready(function() {
  var cursor = null;

  var scroll_sel_into_view = function() {
    var view = $('#team_list');
    var sel = $('#team_list a.cursor');

    if (view.scrollTop() > sel.position().top + view.scrollTop()) {
      view.scrollTop(sel.position().top + view.scrollTop() - 3);
    } else if (view.scrollTop() + view.height() < sel.position().top + view.scrollTop() + sel.outerHeight()) {
      view.scrollTop(sel.position().top + view.scrollTop() + sel.outerHeight() - view.height());
    }
  }

  var select_team = function(e) {
    if (e) {
      var sel = $(e);
      $('#team_list a.cursor').removeClass('cursor');
      sel.addClass('cursor');
      cursor = sel.attr('id');
    }

    if (cursor != null) {
      var team_id = parseInt(cursor.replace('team_list_select_', ''));
      var team = null;

      for (var i = team_list.length - 1; i > -1; i--) {
        if (team_list[i].id == team_id) {
          team = team_list[i];
          break;
        }
      }

      $('#ctrl_tag').val(team.name).blur();
      $('#selected_team_icon').attr('class', '')
        .addClass('selection_made').addClass(team.short_name);
      $('#ctrl_tag_hidden').val(team.id);

      $('#team_list').html('').hide();
    }
  }

  $('#ctrl_tag').keydown(function(ev) {
    if (ev.which == 40 || ev.which == 38 || ev.which == 13) {
      ev.preventDefault();
    }
  });

  $('#ctrl_tag').keyup(function(ev) {
    if (ev.which == 40) { // Down arrow
      if (cursor == null) {
        var sel = $('#team_list a:first-child');
        sel.addClass('cursor');
        cursor = sel.attr('id');
      } else {
        var prev = $('#team_list a.cursor');
        var sel = prev.next();

        if (sel.length > 0) {
          prev.removeClass('cursor');
          sel.addClass('cursor');
          cursor = sel.attr('id');
        }

        scroll_sel_into_view();
      }

    } else if (ev.which == 38) { // Up arrow
      var prev = $('#team_list a.cursor');
      var sel = prev.prev();

      if (sel.length > 0) {
        prev.removeClass('cursor');
        sel.addClass('cursor');
        cursor = sel.attr('id');
      }

      scroll_sel_into_view();

    } else if (ev.which == 13) {
      select_team();

    } else {
      cursor = null;

      var substrs = $(this).val().split(/\s+/);
      var matches = team_autocomplete_matches($(this).val());

      $('#team_list').html('');

      for (var i = matches.length - 1; i > -1; i--) {
        match_html = matches[i].name;

        for (var j = substrs.length - 1; j > -1; j--) {
          var regex = new RegExp('(' + substrs[j] + ')', 'i');
          var m = regex.exec(match_html)[0];
          match_html = match_html.replace(m, '<b>' + m + '</b>');
        }

        var a = $('<a href="#"></a>');
        a.addClass('team_list_item').addClass('team_list_' + matches[i].short_name)
          .attr('id', 'team_list_select_' + matches[i].id).html('<span></span>' + match_html);
        a.click(function() {
          select_team(this);
          return false;
        });
        $('#team_list').append(a);
      }

      var input = $(this);
      $('#team_list').show().css('width', input.parent().css('width'))
        .css('left', input.offsetParent().left); 

      if (matches.length == 0) {
        $('#team_list').html('<div>No matches.</div>');
      }
    }
  });

  $('#ctrl_tag').focus(function() {
    $(this).val('');
  });
});

